Skip to content

Commit f6aa483

Browse files
authored
Merge branch 'main' into wasi-fix
2 parents e43cd09 + 4e96282 commit f6aa483

File tree

133 files changed

+3983
-2844
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

133 files changed

+3983
-2844
lines changed

.github/dependabot.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ updates:
1212
update-types:
1313
- "version-update:semver-minor"
1414
- "version-update:semver-patch"
15+
groups:
16+
actions:
17+
patterns:
18+
- "*"
1519
cooldown:
1620
# https://blog.yossarian.net/2025/11/21/We-should-all-be-using-dependency-cooldowns
1721
# Cooldowns protect against supply chain attacks by avoiding the

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,7 @@ jobs:
475475
-x test_subprocess \
476476
-x test_signal \
477477
-x test_sysconfig
478-
- uses: actions/upload-artifact@v6
478+
- uses: actions/upload-artifact@v7
479479
if: always()
480480
with:
481481
name: hypothesis-example-db

.github/workflows/reusable-check-c-api-docs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ jobs:
1515
runs-on: ubuntu-latest
1616
timeout-minutes: 5
1717
steps:
18-
- uses: actions/checkout@v4
18+
- uses: actions/checkout@v6
1919
with:
2020
persist-credentials: false
21-
- uses: actions/setup-python@v5
21+
- uses: actions/setup-python@v6
2222
with:
2323
python-version: '3.x'
2424
- name: Check for undocumented C APIs

.github/workflows/reusable-cifuzz.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
sanitizer: ${{ inputs.sanitizer }}
3535
- name: Upload crash
3636
if: failure() && steps.build.outcome == 'success'
37-
uses: actions/upload-artifact@v6
37+
uses: actions/upload-artifact@v7
3838
with:
3939
name: ${{ inputs.sanitizer }}-artifacts
4040
path: ./out/artifacts

.github/workflows/reusable-san.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ jobs:
9696
run: find "${GITHUB_WORKSPACE}" -name 'san_log.*' | xargs head -n 1000
9797
- name: Archive logs
9898
if: always()
99-
uses: actions/upload-artifact@v6
99+
uses: actions/upload-artifact@v7
100100
with:
101101
name: >-
102102
${{ inputs.sanitizer }}-logs-${{

.github/workflows/stale.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414

1515
steps:
1616
- name: "Check PRs"
17-
uses: actions/stale@v9
17+
uses: actions/stale@v10
1818
with:
1919
repo-token: ${{ secrets.GITHUB_TOKEN }}
2020
stale-pr-message: 'This PR is stale because it has been open for 30 days with no activity.'

Doc/c-api/bytes.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,13 +371,17 @@ Getters
371371
372372
Get the writer size.
373373
374+
The function cannot fail.
375+
374376
.. c:function:: void* PyBytesWriter_GetData(PyBytesWriter *writer)
375377
376378
Get the writer data: start of the internal buffer.
377379
378380
The pointer is valid until :c:func:`PyBytesWriter_Finish` or
379381
:c:func:`PyBytesWriter_Discard` is called on *writer*.
380382
383+
The function cannot fail.
384+
381385
382386
Low-level API
383387
^^^^^^^^^^^^^

Doc/c-api/float.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,8 +201,8 @@ NaNs (if such things exist on the platform) isn't handled correctly, and
201201
attempting to unpack a bytes string containing an IEEE INF or NaN will raise an
202202
exception.
203203
204-
Note that NaNs type may not be preserved on IEEE platforms (signaling NaN become
205-
quiet NaN), for example on x86 systems in 32-bit mode.
204+
Note that NaN type may not be preserved on IEEE platforms (signaling NaNs become
205+
quiet NaNs), for example on x86 systems in 32-bit mode.
206206
207207
On non-IEEE platforms with more precision, or larger dynamic range, than IEEE
208208
754 supports, not all values can be packed; on non-IEEE platforms with less
@@ -216,7 +216,7 @@ Pack functions
216216
217217
The pack routines write 2, 4 or 8 bytes, starting at *p*. *le* is an
218218
:c:expr:`int` argument, non-zero if you want the bytes string in little-endian
219-
format (exponent last, at ``p+1``, ``p+3``, or ``p+6`` ``p+7``), zero if you
219+
format (exponent last, at ``p+1``, ``p+3``, or ``p+6`` and ``p+7``), zero if you
220220
want big-endian format (exponent first, at *p*). The :c:macro:`PY_BIG_ENDIAN`
221221
constant can be used to use the native endian: it is equal to ``1`` on big
222222
endian processor, or ``0`` on little endian processor.

Doc/howto/instrumentation.rst

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,84 @@ Available static markers
341341
.. versionadded:: 3.8
342342

343343

344+
C Entry Points
345+
^^^^^^^^^^^^^^
346+
347+
To simplify triggering of DTrace markers, Python's C API comes with a number
348+
of helper functions that mirror each static marker. On builds of Python without
349+
DTrace enabled, these do nothing.
350+
351+
In general, it is not necessary to call these yourself, as Python will do
352+
it for you.
353+
354+
.. list-table::
355+
:widths: 50 25 25
356+
:header-rows: 1
357+
358+
* * C API Function
359+
* Static Marker
360+
* Notes
361+
* * .. c:function:: void PyDTrace_LINE(const char *arg0, const char *arg1, int arg2)
362+
* :c:func:`!line`
363+
*
364+
* * .. c:function:: void PyDTrace_FUNCTION_ENTRY(const char *arg0, const char *arg1, int arg2)
365+
* :c:func:`!function__entry`
366+
*
367+
* * .. c:function:: void PyDTrace_FUNCTION_RETURN(const char *arg0, const char *arg1, int arg2)
368+
* :c:func:`!function__return`
369+
*
370+
* * .. c:function:: void PyDTrace_GC_START(int arg0)
371+
* :c:func:`!gc__start`
372+
*
373+
* * .. c:function:: void PyDTrace_GC_DONE(Py_ssize_t arg0)
374+
* :c:func:`!gc__done`
375+
*
376+
* * .. c:function:: void PyDTrace_INSTANCE_NEW_START(int arg0)
377+
* :c:func:`!instance__new__start`
378+
* Not used by Python
379+
* * .. c:function:: void PyDTrace_INSTANCE_NEW_DONE(int arg0)
380+
* :c:func:`!instance__new__done`
381+
* Not used by Python
382+
* * .. c:function:: void PyDTrace_INSTANCE_DELETE_START(int arg0)
383+
* :c:func:`!instance__delete__start`
384+
* Not used by Python
385+
* * .. c:function:: void PyDTrace_INSTANCE_DELETE_DONE(int arg0)
386+
* :c:func:`!instance__delete__done`
387+
* Not used by Python
388+
* * .. c:function:: void PyDTrace_IMPORT_FIND_LOAD_START(const char *arg0)
389+
* :c:func:`!import__find__load__start`
390+
*
391+
* * .. c:function:: void PyDTrace_IMPORT_FIND_LOAD_DONE(const char *arg0, int arg1)
392+
* :c:func:`!import__find__load__done`
393+
*
394+
* * .. c:function:: void PyDTrace_AUDIT(const char *arg0, void *arg1)
395+
* :c:func:`!audit`
396+
*
397+
398+
399+
C Probing Checks
400+
^^^^^^^^^^^^^^^^
401+
402+
.. c:function:: int PyDTrace_LINE_ENABLED(void)
403+
.. c:function:: int PyDTrace_FUNCTION_ENTRY_ENABLED(void)
404+
.. c:function:: int PyDTrace_FUNCTION_RETURN_ENABLED(void)
405+
.. c:function:: int PyDTrace_GC_START_ENABLED(void)
406+
.. c:function:: int PyDTrace_GC_DONE_ENABLED(void)
407+
.. c:function:: int PyDTrace_INSTANCE_NEW_START_ENABLED(void)
408+
.. c:function:: int PyDTrace_INSTANCE_NEW_DONE_ENABLED(void)
409+
.. c:function:: int PyDTrace_INSTANCE_DELETE_START_ENABLED(void)
410+
.. c:function:: int PyDTrace_INSTANCE_DELETE_DONE_ENABLED(void)
411+
.. c:function:: int PyDTrace_IMPORT_FIND_LOAD_START_ENABLED(void)
412+
.. c:function:: int PyDTrace_IMPORT_FIND_LOAD_DONE_ENABLED(void)
413+
.. c:function:: int PyDTrace_AUDIT_ENABLED(void)
414+
415+
All calls to ``PyDTrace`` functions must be guarded by a call to one
416+
of these functions. This allows Python to minimize performance impact
417+
when probing is disabled.
418+
419+
On builds without DTrace enabled, these functions do nothing and return
420+
``0``.
421+
344422
SystemTap Tapsets
345423
-----------------
346424

Doc/library/asyncio-task.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -557,7 +557,7 @@ Running Tasks Concurrently
557557
provides stronger safety guarantees than *gather* for scheduling a nesting of subtasks:
558558
if a task (or a subtask, a task scheduled by a task)
559559
raises an exception, *TaskGroup* will, while *gather* will not,
560-
cancel the remaining scheduled tasks).
560+
cancel the remaining scheduled tasks.
561561

562562
.. _asyncio_example_gather:
563563

0 commit comments

Comments
 (0)