Skip to content

Commit 402ecc6

Browse files
authored
Merge branch 'main' into extend-opaque-sq
2 parents 37158af + 8a0c7f1 commit 402ecc6

File tree

299 files changed

+6929
-2135
lines changed

Some content is hidden

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

299 files changed

+6929
-2135
lines changed

.devcontainer/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ ENV WASMTIME_HOME=/opt/wasmtime
99
ENV WASMTIME_VERSION=7.0.0
1010
ENV WASMTIME_CPU_ARCH=x86_64
1111

12-
RUN dnf -y --nodocs install git clang xz python3-blurb dnf-plugins-core && \
13-
dnf -y --nodocs builddep python3 && \
12+
RUN dnf -y --nodocs --setopt=install_weak_deps=False install /usr/bin/{blurb,clang,curl,git,ln,tar,xz} 'dnf-command(builddep)' && \
13+
dnf -y --nodocs --setopt=install_weak_deps=False builddep python3 && \
1414
dnf -y clean all
1515

1616
RUN mkdir ${WASI_SDK_PATH} && \

.github/CODEOWNERS

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
configure* @erlend-aasland @corona10
1212

1313
# asyncio
14-
**/*asyncio* @1st1 @asvetlov @gvanrossum @kumaraditya303
14+
**/*asyncio* @1st1 @asvetlov @gvanrossum @kumaraditya303 @willingc
1515

1616
# Core
1717
**/*context* @1st1

.github/workflows/build.yml

+4
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,10 @@ jobs:
308308
run: echo "::add-matcher::.github/problem-matchers/gcc.json"
309309
- name: Install Dependencies
310310
run: sudo ./.github/workflows/posix-deps-apt.sh
311+
- name: Set up GCC-10 for ASAN
312+
uses: egor-tensin/setup-gcc@v1
313+
with:
314+
version: 10
311315
- name: Configure OpenSSL env vars
312316
run: |
313317
echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> $GITHUB_ENV

.github/workflows/doc.yml

+2
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,13 @@ jobs:
5656

5757
# Add pull request annotations for Sphinx nitpicks (missing references)
5858
- name: 'Get list of changed files'
59+
if: github.event_name == 'pull_request'
5960
id: changed_files
6061
uses: Ana06/get-changed-files@v2.2.0
6162
with:
6263
filter: "Doc/**"
6364
- name: 'Build changed files in nit-picky mode'
65+
if: github.event_name == 'pull_request'
6466
continue-on-error: true
6567
run: |
6668
# Mark files the pull request modified

.github/workflows/require-pr-label.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66

77
jobs:
88
label:
9-
name: DO-NOT-MERGE
9+
name: DO-NOT-MERGE / unresolved review
1010
runs-on: ubuntu-latest
1111
timeout-minutes: 10
1212

@@ -15,4 +15,4 @@ jobs:
1515
with:
1616
mode: exactly
1717
count: 0
18-
labels: "DO-NOT-MERGE"
18+
labels: "DO-NOT-MERGE, awaiting changes, awaiting change review"

Doc/c-api/type.rst

+9
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,15 @@ Type Objects
232232
233233
.. versionadded:: 3.11
234234
235+
.. c:function:: int PyUnstable_Type_AssignVersionTag(PyTypeObject *type)
236+
237+
Attempt to assign a version tag to the given type.
238+
239+
Returns 1 if the type already had a valid version tag or a new one was
240+
assigned, or 0 if a new tag could not be assigned.
241+
242+
.. versionadded:: 3.12
243+
235244
236245
Creating Heap-Allocated Types
237246
.............................

Doc/c-api/unicode.rst

+9-9
Original file line numberDiff line numberDiff line change
@@ -509,6 +509,15 @@ APIs:
509509
arguments.
510510
511511
512+
.. c:function:: PyObject* PyUnicode_FromObject(PyObject *obj)
513+
514+
Copy an instance of a Unicode subtype to a new true Unicode object if
515+
necessary. If *obj* is already a true Unicode object (not a subtype),
516+
return the reference with incremented refcount.
517+
518+
Objects other than Unicode or its subtypes will cause a :exc:`TypeError`.
519+
520+
512521
.. c:function:: PyObject* PyUnicode_FromEncodedObject(PyObject *obj, \
513522
const char *encoding, const char *errors)
514523
@@ -616,15 +625,6 @@ APIs:
616625
.. versionadded:: 3.3
617626
618627
619-
.. c:function:: PyObject* PyUnicode_FromObject(PyObject *obj)
620-
621-
Copy an instance of a Unicode subtype to a new true Unicode object if
622-
necessary. If *obj* is already a true Unicode object (not a subtype),
623-
return the reference with incremented refcount.
624-
625-
Objects other than Unicode or its subtypes will cause a :exc:`TypeError`.
626-
627-
628628
Locale Encoding
629629
"""""""""""""""
630630

Doc/conf.py

+25
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,13 @@
7676
if venvdir is not None:
7777
exclude_patterns.append(venvdir + '/*')
7878

79+
nitpick_ignore = [
80+
# Do not error nit-picky mode builds when _SubParsersAction.add_parser cannot
81+
# be resolved, as the method is currently undocumented. For context, see
82+
# https://github.com/python/cpython/pull/103289.
83+
('py:meth', '_SubParsersAction.add_parser'),
84+
]
85+
7986
# Disable Docutils smartquotes for several translations
8087
smartquotes_excludes = {
8188
'languages': ['ja', 'fr', 'zh_TW', 'zh_CN'], 'builders': ['man', 'text'],
@@ -263,6 +270,24 @@
263270
r'https://github.com/python/cpython/tree/.*': 'https://github.com/python/cpython/blob/.*'
264271
}
265272

273+
linkcheck_anchors_ignore = [
274+
# ignore anchors that start with a '/', e.g. Wikipedia media files:
275+
# https://en.wikipedia.org/wiki/Walrus#/media/File:Pacific_Walrus_-_Bull_(8247646168).jpg
276+
r'\/.*',
277+
]
278+
279+
linkcheck_ignore = [
280+
# The crawler gets "Anchor not found"
281+
r'https://developer.apple.com/documentation/.+?#.*',
282+
r'https://devguide.python.org.+?/#.*',
283+
r'https://github.com.+?#.*',
284+
# Robot crawlers not allowed: "403 Client Error: Forbidden"
285+
r'https://support.enthought.com/hc/.*',
286+
# SSLError CertificateError, even though it is valid
287+
r'https://unix.org/version2/whatsnew/lp64_wp.html',
288+
]
289+
290+
266291
# Options for extensions
267292
# ----------------------
268293

Doc/constraints.txt

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# We have upper bounds on our transitive dependencies here
2+
# To avoid new releases unexpectedly breaking our build.
3+
# This file can be updated on an ad-hoc basis,
4+
# though it will probably have to be updated
5+
# whenever Doc/requirements.txt is updated.
6+
7+
# Direct dependencies of Sphinx
8+
babel<3
9+
colorama<0.5
10+
imagesize<1.5
11+
Jinja2<3.2
12+
packaging<24
13+
# Pygments==2.15.0 breaks CI
14+
Pygments<2.16,!=2.15.0
15+
requests<3
16+
snowballstemmer<3
17+
sphinxcontrib-applehelp<1.1
18+
sphinxcontrib-devhelp<1.1
19+
sphinxcontrib-htmlhelp<2.1
20+
sphinxcontrib-jsmath<1.1
21+
sphinxcontrib-qthelp<1.1
22+
sphinxcontrib-serializinghtml<1.2
23+
24+
# Direct dependencies of Jinja2 (Jinja is a dependency of Sphinx, see above)
25+
MarkupSafe<2.2
26+
27+
# Direct dependencies of sphinx-lint
28+
polib<1.3
29+
regex<2024

Doc/distributing/index.rst

+4-8
Original file line numberDiff line numberDiff line change
@@ -129,14 +129,10 @@ involved in creating and publishing a project:
129129
* `Uploading the project to the Python Package Index`_
130130
* `The .pypirc file`_
131131

132-
.. _Project structure: \
133-
https://packaging.python.org/tutorials/packaging-projects/#packaging-python-projects
134-
.. _Building and packaging the project: \
135-
https://packaging.python.org/tutorials/packaging-projects/#creating-the-package-files
136-
.. _Uploading the project to the Python Package Index: \
137-
https://packaging.python.org/tutorials/packaging-projects/#uploading-the-distribution-archives
138-
.. _The .pypirc file: \
139-
https://packaging.python.org/specifications/pypirc/
132+
.. _Project structure: https://packaging.python.org/tutorials/packaging-projects/#packaging-python-projects
133+
.. _Building and packaging the project: https://packaging.python.org/tutorials/packaging-projects/#creating-the-package-files
134+
.. _Uploading the project to the Python Package Index: https://packaging.python.org/tutorials/packaging-projects/#uploading-the-distribution-archives
135+
.. _The .pypirc file: https://packaging.python.org/specifications/pypirc/
140136

141137

142138
How do I...?

Doc/extending/newtypes.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ Here is an example::
337337
}
338338

339339
PyErr_Format(PyExc_AttributeError,
340-
"'%.50s' object has no attribute '%.400s'",
340+
"'%.100s' object has no attribute '%.400s'",
341341
tp->tp_name, name);
342342
return NULL;
343343
}

Doc/faq/library.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -780,7 +780,7 @@ socket to :meth:`select.select` to check if it's writable.
780780
The :mod:`asyncio` module provides a general purpose single-threaded and
781781
concurrent asynchronous library, which can be used for writing non-blocking
782782
network code.
783-
The third-party `Twisted <https://twistedmatrix.com/trac/>`_ library is
783+
The third-party `Twisted <https://twisted.org/>`_ library is
784784
a popular and feature-rich alternative.
785785
786786

Doc/howto/argparse.rst

+9-7
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
1+
.. _argparse-tutorial:
2+
13
*****************
24
Argparse Tutorial
35
*****************
46

57
:author: Tshepang Mbambo
68

7-
.. _argparse-tutorial:
9+
.. currentmodule:: argparse
810

911
This tutorial is intended to be a gentle introduction to :mod:`argparse`, the
1012
recommended command-line parsing module in the Python standard library.
1113

1214
.. note::
1315

1416
There are two other modules that fulfill the same task, namely
15-
:mod:`getopt` (an equivalent for :c:func:`getopt` from the C
17+
:mod:`getopt` (an equivalent for ``getopt()`` from the C
1618
language) and the deprecated :mod:`optparse`.
1719
Note also that :mod:`argparse` is based on :mod:`optparse`,
1820
and therefore very similar in terms of usage.
@@ -137,13 +139,13 @@ And running the code:
137139
138140
Here is what's happening:
139141

140-
* We've added the :meth:`add_argument` method, which is what we use to specify
142+
* We've added the :meth:`~ArgumentParser.add_argument` method, which is what we use to specify
141143
which command-line options the program is willing to accept. In this case,
142144
I've named it ``echo`` so that it's in line with its function.
143145

144146
* Calling our program now requires us to specify an option.
145147

146-
* The :meth:`parse_args` method actually returns some data from the
148+
* The :meth:`~ArgumentParser.parse_args` method actually returns some data from the
147149
options specified, in this case, ``echo``.
148150

149151
* The variable is some form of 'magic' that :mod:`argparse` performs for free
@@ -256,7 +258,7 @@ Here is what is happening:
256258

257259
* To show that the option is actually optional, there is no error when running
258260
the program without it. Note that by default, if an optional argument isn't
259-
used, the relevant variable, in this case :attr:`args.verbosity`, is
261+
used, the relevant variable, in this case ``args.verbosity``, is
260262
given ``None`` as a value, which is the reason it fails the truth
261263
test of the :keyword:`if` statement.
262264

@@ -299,7 +301,7 @@ Here is what is happening:
299301
We even changed the name of the option to match that idea.
300302
Note that we now specify a new keyword, ``action``, and give it the value
301303
``"store_true"``. This means that, if the option is specified,
302-
assign the value ``True`` to :data:`args.verbose`.
304+
assign the value ``True`` to ``args.verbose``.
303305
Not specifying it implies ``False``.
304306

305307
* It complains when you specify a value, in true spirit of what flags
@@ -698,7 +700,7 @@ Conflicting options
698700

699701
So far, we have been working with two methods of an
700702
:class:`argparse.ArgumentParser` instance. Let's introduce a third one,
701-
:meth:`add_mutually_exclusive_group`. It allows for us to specify options that
703+
:meth:`~ArgumentParser.add_mutually_exclusive_group`. It allows for us to specify options that
702704
conflict with each other. Let's also change the rest of the program so that
703705
the new functionality makes more sense:
704706
we'll introduce the ``--quiet`` option,

0 commit comments

Comments
 (0)