Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main' into debug_check
Browse files Browse the repository at this point in the history
  • Loading branch information
iritkatriel committed Jul 24, 2024
2 parents f4987a5 + 5592399 commit 2456cd8
Show file tree
Hide file tree
Showing 44 changed files with 2,220 additions and 858 deletions.
32 changes: 32 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ jobs:
# }}
#
run-docs: ${{ steps.docs-changes.outputs.run-docs || false }}
run-win-msi: ${{ steps.win-msi-changes.outputs.run-win-msi || false }}
run_tests: ${{ steps.check.outputs.run_tests || false }}
run_hypothesis: ${{ steps.check.outputs.run_hypothesis || false }}
run_cifuzz: ${{ steps.check.outputs.run_cifuzz || false }}
Expand Down Expand Up @@ -123,6 +124,20 @@ jobs:
id: docs-changes
run: |
echo "run-docs=true" >> "${GITHUB_OUTPUT}"
- name: Get a list of the MSI installer-related files
id: changed-win-msi-files
uses: Ana06/[email protected]
with:
filter: |
Tools/msi/**
.github/workflows/reusable-windows-msi.yml
format: csv # works for paths with spaces
- name: Check for changes in MSI installer-related files
if: >-
steps.changed-win-msi-files.outputs.added_modified_renamed != ''
id: win-msi-changes
run: |
echo "run-win-msi=true" >> "${GITHUB_OUTPUT}"
check-docs:
name: Docs
Expand Down Expand Up @@ -218,6 +233,21 @@ jobs:
arch: ${{ matrix.arch }}
free-threading: ${{ matrix.free-threading }}

build_windows_msi:
name: >- # ${{ '' } is a hack to nest jobs under the same sidebar category
Windows MSI${{ '' }}
needs: check_source
if: fromJSON(needs.check_source.outputs.run-win-msi)
strategy:
matrix:
arch:
- x86
- x64
- arm64
uses: ./.github/workflows/reusable-windows-msi.yml
with:
arch: ${{ matrix.arch }}

build_macos:
name: 'macOS'
needs: check_source
Expand Down Expand Up @@ -571,6 +601,7 @@ jobs:
- build_ubuntu_ssltests
- build_wasi
- build_windows
- build_windows_msi
- test_hypothesis
- build_asan
- build_tsan
Expand All @@ -585,6 +616,7 @@ jobs:
with:
allowed-failures: >-
build_ubuntu_ssltests,
build_windows_msi,
cifuzz,
test_hypothesis,
allowed-skips: >-
Expand Down
40 changes: 0 additions & 40 deletions .github/workflows/build_msi.yml

This file was deleted.

24 changes: 24 additions & 0 deletions .github/workflows/reusable-windows-msi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: TestsMSI

on:
workflow_call:
inputs:
arch:
description: CPU architecture
required: true
type: string

permissions:
contents: read

jobs:
build:
name: installer for ${{ inputs.arch }}
runs-on: windows-latest
timeout-minutes: 60
env:
IncludeFreethreaded: true
steps:
- uses: actions/checkout@v4
- name: Build CPython installer
run: .\Tools\msi\build.bat --doc -${{ inputs.arch }}
52 changes: 52 additions & 0 deletions Doc/deprecations/pending-removal-in-3.13.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
Pending Removal in Python 3.13
------------------------------

Modules (see :pep:`594`):

* :mod:`!aifc`
* :mod:`!audioop`
* :mod:`!cgi`
* :mod:`!cgitb`
* :mod:`!chunk`
* :mod:`!crypt`
* :mod:`!imghdr`
* :mod:`!mailcap`
* :mod:`!msilib`
* :mod:`!nis`
* :mod:`!nntplib`
* :mod:`!ossaudiodev`
* :mod:`!pipes`
* :mod:`!sndhdr`
* :mod:`!spwd`
* :mod:`!sunau`
* :mod:`!telnetlib`
* :mod:`!uu`
* :mod:`!xdrlib`

Other modules:

* :mod:`!lib2to3`, and the :program:`2to3` program (:gh:`84540`)

APIs:

* :class:`!configparser.LegacyInterpolation` (:gh:`90765`)
* ``locale.resetlocale()`` (:gh:`90817`)
* :meth:`!turtle.RawTurtle.settiltangle` (:gh:`50096`)
* :func:`!unittest.findTestCases` (:gh:`50096`)
* :func:`!unittest.getTestCaseNames` (:gh:`50096`)
* :func:`!unittest.makeSuite` (:gh:`50096`)
* :meth:`!unittest.TestProgram.usageExit` (:gh:`67048`)
* :class:`!webbrowser.MacOSX` (:gh:`86421`)
* :class:`classmethod` descriptor chaining (:gh:`89519`)
* :mod:`importlib.resources` deprecated methods:

* ``contents()``
* ``is_resource()``
* ``open_binary()``
* ``open_text()``
* ``path()``
* ``read_binary()``
* ``read_text()``

Use :func:`importlib.resources.files()` instead. Refer to `importlib-resources: Migrating from Legacy
<https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy>`_ (:gh:`106531`)
19 changes: 19 additions & 0 deletions Doc/deprecations/pending-removal-in-3.14.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,25 @@ Pending Removal in Python 3.14
Use :class:`ast.Constant` instead.
(Contributed by Serhiy Storchaka in :gh:`90953`.)

* :mod:`asyncio`:

* The child watcher classes :class:`!asyncio.MultiLoopChildWatcher`,
:class:`!asyncio.FastChildWatcher`, :class:`!asyncio.AbstractChildWatcher`
and :class:`!asyncio.SafeChildWatcher` are deprecated and
will be removed in Python 3.14.
(Contributed by Kumar Aditya in :gh:`94597`.)

* :func:`!asyncio.set_child_watcher`, :func:`!asyncio.get_child_watcher`,
:meth:`!asyncio.AbstractEventLoopPolicy.set_child_watcher` and
:meth:`!asyncio.AbstractEventLoopPolicy.get_child_watcher` are deprecated
and will be removed in Python 3.14.
(Contributed by Kumar Aditya in :gh:`94597`.)

* The :meth:`~asyncio.get_event_loop` method of the
default event loop policy now emits a :exc:`DeprecationWarning` if there
is no current event loop set and it decides to create one.
(Contributed by Serhiy Storchaka and Guido van Rossum in :gh:`100160`.)

* :mod:`collections.abc`: Deprecated :class:`!collections.abc.ByteString`.
Prefer :class:`!Sequence` or :class:`~collections.abc.Buffer`.
For use in typing, prefer a union, like ``bytes | bytearray``,
Expand Down
2 changes: 2 additions & 0 deletions Doc/deprecations/pending-removal-in-future.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ although there is currently no date scheduled for their removal.
* :mod:`argparse`: Nesting argument groups and nesting mutually exclusive
groups are deprecated.

* :mod:`array`'s ``'u'`` format code (:gh:`57281`)

* :mod:`builtins`:

* ``~bool``, bitwise inversion on bool.
Expand Down
8 changes: 6 additions & 2 deletions Doc/howto/descriptor.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1366,11 +1366,15 @@ Using the non-data descriptor protocol, a pure Python version of
def __call__(self, *args, **kwds):
return self.f(*args, **kwds)
@property
def __annotations__(self):
return self.f.__annotations__

The :func:`functools.update_wrapper` call adds a ``__wrapped__`` attribute
that refers to the underlying function. Also it carries forward
the attributes necessary to make the wrapper look like the wrapped
function: :attr:`~function.__name__`, :attr:`~function.__qualname__`,
:attr:`~function.__doc__`, and :attr:`~function.__annotations__`.
function, including :attr:`~function.__name__`, :attr:`~function.__qualname__`,
and :attr:`~function.__doc__`.

.. testcode::
:hide:
Expand Down
150 changes: 4 additions & 146 deletions Doc/whatsnew/3.12.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1330,155 +1330,13 @@ Deprecated
therefore it will be removed in 3.14.
(Contributed by Nikita Sobolev in :gh:`101866`.)

Pending Removal in Python 3.13
------------------------------

The following modules and APIs have been deprecated in earlier Python releases,
and will be removed in Python 3.13.

Modules (see :pep:`594`):

* :mod:`!aifc`
* :mod:`!audioop`
* :mod:`!cgi`
* :mod:`!cgitb`
* :mod:`!chunk`
* :mod:`!crypt`
* :mod:`!imghdr`
* :mod:`!mailcap`
* :mod:`!msilib`
* :mod:`!nis`
* :mod:`!nntplib`
* :mod:`!ossaudiodev`
* :mod:`!pipes`
* :mod:`!sndhdr`
* :mod:`!spwd`
* :mod:`!sunau`
* :mod:`!telnetlib`
* :mod:`!uu`
* :mod:`!xdrlib`

Other modules:

* :mod:`!lib2to3`, and the :program:`2to3` program (:gh:`84540`)

APIs:

* :class:`!configparser.LegacyInterpolation` (:gh:`90765`)
* ``locale.resetlocale()`` (:gh:`90817`)
* :meth:`!turtle.RawTurtle.settiltangle` (:gh:`50096`)
* :func:`!unittest.findTestCases` (:gh:`50096`)
* :func:`!unittest.getTestCaseNames` (:gh:`50096`)
* :func:`!unittest.makeSuite` (:gh:`50096`)
* :meth:`!unittest.TestProgram.usageExit` (:gh:`67048`)
* :class:`!webbrowser.MacOSX` (:gh:`86421`)
* :class:`classmethod` descriptor chaining (:gh:`89519`)
* :mod:`importlib.resources` deprecated methods:

* ``contents()``
* ``is_resource()``
* ``open_binary()``
* ``open_text()``
* ``path()``
* ``read_binary()``
* ``read_text()``

Use :func:`importlib.resources.files()` instead. Refer to `importlib-resources: Migrating from Legacy
<https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy>`_ (:gh:`106531`)

Pending Removal in Python 3.14
------------------------------

The following APIs have been deprecated
and will be removed in Python 3.14.

* :mod:`argparse`: The *type*, *choices*, and *metavar* parameters
of :class:`!argparse.BooleanOptionalAction`

* :mod:`ast`:

* :class:`!ast.Num`
* :class:`!ast.Str`
* :class:`!ast.Bytes`
* :class:`!ast.NameConstant`
* :class:`!ast.Ellipsis`

* :mod:`asyncio`:

* :class:`!asyncio.MultiLoopChildWatcher`
* :class:`!asyncio.FastChildWatcher`
* :class:`!asyncio.AbstractChildWatcher`
* :class:`!asyncio.SafeChildWatcher`
* :func:`!asyncio.set_child_watcher`
* :func:`!asyncio.get_child_watcher`,
* :meth:`!asyncio.AbstractEventLoopPolicy.set_child_watcher`
* :meth:`!asyncio.AbstractEventLoopPolicy.get_child_watcher`

* :mod:`collections.abc`: :class:`!collections.abc.ByteString`.

* :mod:`email`: the *isdst* parameter in :func:`email.utils.localtime`.

* :mod:`importlib.abc`:

* :class:`!importlib.abc.ResourceReader`
* :class:`!importlib.abc.Traversable`
* :class:`!importlib.abc.TraversableResources`

* :mod:`itertools`: Support for copy, deepcopy, and pickle operations.

* :mod:`pkgutil`:

* :func:`!pkgutil.find_loader`
* :func:`!pkgutil.get_loader`.

* :mod:`pty`:

* :func:`!pty.master_open`
* :func:`!pty.slave_open`

* :mod:`shutil`: The *onerror* argument of :func:`shutil.rmtree`

* :mod:`typing`: :class:`!typing.ByteString`

* The ``__package__`` and ``__cached__`` attributes on module objects.

* The :attr:`~codeobject.co_lnotab` attribute of code objects.

Pending Removal in Python 3.15
------------------------------

The following APIs have been deprecated
and will be removed in Python 3.15.

APIs:

* :func:`locale.getdefaultlocale` (:gh:`90817`)


Pending Removal in Future Versions
----------------------------------

The following APIs were deprecated in earlier Python versions and will be removed,
although there is currently no date scheduled for their removal.

* :mod:`array`'s ``'u'`` format code (:gh:`57281`)

* :class:`typing.Text` (:gh:`92332`)
.. include:: ../deprecations/pending-removal-in-3.13.rst

* :mod:`xml.etree.ElementTree`: Testing the truth value of an
:class:`xml.etree.ElementTree.Element` is deprecated. In a future release it
will always return True. Prefer explicit ``len(elem)`` or
``elem is not None`` tests instead.
.. include:: ../deprecations/pending-removal-in-3.14.rst

* Currently Python accepts numeric literals immediately followed by keywords,
for example ``0in x``, ``1or x``, ``0if 1else 2``. It allows confusing
and ambiguous expressions like ``[0x1for x in y]`` (which can be
interpreted as ``[0x1 for x in y]`` or ``[0x1f or x in y]``).
A syntax warning is raised if the numeric literal is
immediately followed by one of keywords :keyword:`and`, :keyword:`else`,
:keyword:`for`, :keyword:`if`, :keyword:`in`, :keyword:`is` and :keyword:`or`.
In a future release it will be changed to a syntax error. (:gh:`87999`)
.. include:: ../deprecations/pending-removal-in-3.15.rst

.. include:: ../deprecations/pending-removal-in-future.rst

Removed
=======
Expand Down
Loading

0 comments on commit 2456cd8

Please sign in to comment.