Skip to content

Commit 5488010

Browse files
committed
Merge remote-tracking branch 'upstream/main' into ac_add_vectorcall
2 parents 88d5928 + eb08902 commit 5488010

190 files changed

Lines changed: 5727 additions & 2166 deletions

File tree

Some content is hidden

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

.github/CODEOWNERS

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,12 @@ Doc/library/tomllib.rst @encukou @hauntsaninja
598598
Lib/test/test_tomllib/ @encukou @hauntsaninja
599599
Lib/tomllib/ @encukou @hauntsaninja
600600

601+
# Turtle
602+
Doc/library/turtle.rst @StanFromIreland
603+
Doc/library/turtle-star.png @StanFromIreland
604+
Lib/test/test_turtle.py @StanFromIreland
605+
Lib/turtle.py @StanFromIreland
606+
601607
# Typing
602608
Doc/library/typing.rst @JelleZijlstra @AlexWaygood
603609
Lib/test/test_typing.py @JelleZijlstra @AlexWaygood
@@ -620,6 +626,12 @@ Lib/test/test_unittest/testmock/ @cjw296
620626
# Weakref
621627
**/*weakref* @kumaraditya303
622628

629+
# Zlib
630+
Doc/library/zlib.rst @StanFromIreland
631+
Lib/compression/zlib.py @StanFromIreland
632+
Lib/test/test_zlib.py @StanFromIreland
633+
Modules/_zlibmodule.c @StanFromIreland
634+
623635
# Zipfile.Path
624636
Lib/test/test_zipfile/_path/ @jaraco
625637
Lib/zipfile/_path/ @jaraco

.github/workflows/build.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -268,13 +268,13 @@ jobs:
268268
# unsupported as it most resembles other 1.1.1-work-a-like ssl APIs
269269
# supported by important vendors such as AWS-LC.
270270
- { name: openssl, version: 1.1.1w }
271-
- { name: openssl, version: 3.0.21 }
272-
- { name: openssl, version: 3.4.6 }
273-
- { name: openssl, version: 3.5.7 }
274-
- { name: openssl, version: 3.6.3 }
275-
- { name: openssl, version: 4.0.1 }
271+
- { name: openssl, version: 3.0.22 }
272+
- { name: openssl, version: 3.4.7 }
273+
- { name: openssl, version: 3.5.8 }
274+
- { name: openssl, version: 3.6.4 }
275+
- { name: openssl, version: 4.0.2 }
276276
## AWS-LC
277-
- { name: aws-lc, version: 5.0.0 }
277+
- { name: aws-lc, version: 5.5.0 }
278278
env:
279279
SSLLIB_VER: ${{ matrix.ssllib.version }}
280280
MULTISSL_DIR: ${{ github.workspace }}/multissl
@@ -379,7 +379,7 @@ jobs:
379379
needs: build-context
380380
if: needs.build-context.outputs.run-ubuntu == 'true'
381381
env:
382-
OPENSSL_VER: 3.5.7
382+
OPENSSL_VER: 3.5.8
383383
PYTHONSTRICTEXTENSIONBUILD: 1
384384
steps:
385385
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
@@ -487,7 +487,7 @@ jobs:
487487
matrix:
488488
os: [ubuntu-26.04]
489489
env:
490-
OPENSSL_VER: 3.5.7
490+
OPENSSL_VER: 3.5.8
491491
PYTHONSTRICTEXTENSIONBUILD: 1
492492
ASAN_OPTIONS: detect_leaks=0:allocator_may_return_null=1:handle_segv=0
493493
steps:

.github/workflows/reusable-san.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ permissions:
1717

1818
env:
1919
FORCE_COLOR: 1
20-
OPENSSL_VER: 3.5.7
20+
OPENSSL_VER: 3.5.8
2121

2222
jobs:
2323
build-san-reusable:

.github/workflows/reusable-ubuntu.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
runs-on: ${{ inputs.os }}
3636
timeout-minutes: 60
3737
env:
38-
OPENSSL_VER: 3.5.7
38+
OPENSSL_VER: 3.5.8
3939
PYTHONSTRICTEXTENSIONBUILD: 1
4040
TERM: linux
4141
steps:

Doc/Makefile

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ help:
3232
@echo "Please use \`make <target>' where <target> is one of"
3333
@echo " clean to remove build files"
3434
@echo " venv to create a venv with necessary tools"
35+
@echo " lock to regenerate the pinned dependencies in $(REQUIREMENTS)"
3536
@echo " html to make standalone HTML files"
3637
@echo " gettext to generate POT files"
3738
@echo " htmlview to open the index page built by the html target in your browser"
@@ -185,6 +186,19 @@ venv:
185186
echo "The venv has been created in the $(VENVDIR) directory"; \
186187
fi
187188

189+
.PHONY: lock
190+
lock:
191+
# Dependencies have a 14 day cooldown period to mitigate supply chain attacks,
192+
# except for sphinx_linklint and python-docs-theme, which are maintained by
193+
# core team members.
194+
uv pip compile requirements.txt \
195+
--exclude-newer P14D \
196+
--exclude-newer-package sphinx_linklint=PT0S \
197+
--exclude-newer-package python-docs-theme=PT0S \
198+
--no-cache --output-file $(REQUIREMENTS) \
199+
--python-version 3.12 --universal \
200+
--custom-compile-command="make lock"
201+
188202
.PHONY: dist-no-html
189203
dist-no-html: dist-text dist-epub dist-texinfo
190204

Doc/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141

4242
# Skip if downstream redistributors haven't installed them
4343
_OPTIONAL_EXTENSIONS = (
44-
'linklint.ext',
44+
'sphinx_linklint.ext',
4545
'notfound.extension',
4646
'sphinxext.opengraph',
4747
'sphinxcontrib.rsvgconverter',

Doc/faq/design.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -430,6 +430,8 @@ tuples, but not lists, can be used as keys. Note, however, that a tuple is
430430
only hashable if all of its elements are hashable.
431431

432432

433+
.. _how-are-lists-implemented:
434+
433435
How are lists implemented in CPython?
434436
-------------------------------------
435437

@@ -445,6 +447,10 @@ cleverness is applied to improve the performance of appending items repeatedly;
445447
when the array must be grown, some extra space is allocated so the next few
446448
times don't require an actual resize.
447449

450+
See :ref:`time-complexity` for the costs of the various list operations.
451+
452+
453+
.. _how-are-dictionaries-implemented:
448454

449455
How are dictionaries implemented in CPython?
450456
--------------------------------------------
@@ -462,6 +468,8 @@ internal array where the value will be stored. Assuming that you're storing
462468
keys that all have different hash values, this means that dictionaries take
463469
constant time -- *O*\ (1), in Big-O notation -- to retrieve a key.
464470

471+
See :ref:`time-complexity` for the costs of the various dictionary operations.
472+
465473

466474
Why must dictionary keys be immutable?
467475
--------------------------------------

Doc/faq/programming.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1136,7 +1136,7 @@ What is the most efficient way to concatenate many strings together?
11361136
:class:`str` and :class:`bytes` objects are immutable, therefore concatenating
11371137
many strings together is inefficient as each concatenation creates a new
11381138
object. In the general case, the total runtime cost is quadratic in the
1139-
total string length.
1139+
total string length. See :ref:`time-complexity` for more information.
11401140

11411141
To accumulate many :class:`str` objects, the recommended idiom is to place
11421142
them into a list and call :meth:`str.join` at the end::

Doc/glossary.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -942,7 +942,7 @@ Glossary
942942
list
943943
A built-in Python :term:`sequence`. Despite its name it is more akin
944944
to an array in other languages than to a linked list since access to
945-
elements is *O*\ (1).
945+
elements is *O*\ (1). See :ref:`time-complexity`.
946946

947947
list comprehension
948948
A compact way to process all or part of the elements in a sequence and

Doc/library/asyncio-stream.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ and work with streams:
4949

5050

5151
.. function:: open_connection(host=None, port=None, *, \
52-
limit=None, ssl=None, family=0, proto=0, \
52+
limit=65536, ssl=None, family=0, proto=0, \
5353
flags=0, sock=None, local_addr=None, \
5454
server_hostname=None, ssl_handshake_timeout=None, \
5555
ssl_shutdown_timeout=None, \
@@ -89,7 +89,7 @@ and work with streams:
8989

9090

9191
.. function:: start_server(client_connected_cb, host=None, \
92-
port=None, *, limit=None, \
92+
port=None, *, limit=65536, \
9393
family=socket.AF_UNSPEC, \
9494
flags=socket.AI_PASSIVE, sock=None, \
9595
backlog=100, ssl=None, reuse_address=None, \
@@ -137,7 +137,7 @@ and work with streams:
137137

138138
.. rubric:: Unix Sockets
139139

140-
.. function:: open_unix_connection(path=None, *, limit=None, \
140+
.. function:: open_unix_connection(path=None, *, limit=65536, \
141141
ssl=None, sock=None, server_hostname=None, \
142142
ssl_handshake_timeout=None, ssl_shutdown_timeout=None)
143143
:async:
@@ -169,7 +169,7 @@ and work with streams:
169169

170170

171171
.. function:: start_unix_server(client_connected_cb, path=None, \
172-
*, limit=None, sock=None, backlog=100, ssl=None, \
172+
*, limit=65536, sock=None, backlog=100, ssl=None, \
173173
ssl_handshake_timeout=None, \
174174
ssl_shutdown_timeout=None, start_serving=True, \
175175
cleanup_socket=True, mode=None)

0 commit comments

Comments
 (0)