-
-
Notifications
You must be signed in to change notification settings - Fork 30.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
--disable-gil
builds are not compatible with the limited API
#111506
Comments
cc @vstinner |
…ted C API In the limited C API version 3.13. Py_SET_REFCNT() is now implemented as an opaque function call. Add _Py_SetRefcnt() to the stable ABI.
…ted C API In the limited C API version 3.13, Py_SET_REFCNT() function is now implemented as an opaque function call. Add _Py_SetRefcnt() to the stable ABI.
Before creating a whole new ABI, I would like first to avoid A first step for that is to implement Py_SET_REFCNT() as a function call: PR #111508. |
…ted C API In the limited C API version 3.13, Py_SET_REFCNT() function is now implemented as an opaque function call. Add _Py_SetRefcnt() to the stable ABI.
These changes will require a PEP. Please, could we have the PEP first, then do the changes? |
…API (#111508) In the limited C API version 3.13, Py_SET_REFCNT() function is now implemented as an opaque function call. Add _Py_SetRefcnt() to the stable ABI.
In the limited C API version 3.13, the Py_REFCNT() function is now implemented as an opaque function call.
In the limited C API version 3.13, the Py_REFCNT() function is now implemented as an opaque function call.
@colesbury, do you still plan to write the PEP? Do you need any help? |
@encukou, yes I still intend to write the PEP. It just hasn't been as a high a priority as integrating the pieces of PEP 703. |
Add Objects/object_abi.c file and _Py_STABLE_ABI_IMPL macro.
Export Py_SET_REFCNT() opaque function as "Py_SET_REFCNT" symbol in the stable ABI. Add Objects/object_abi.c file and _Py_STABLE_ABI_IMPL macro.
Convert Py_SET_REFCNT() and _Py_IsImmortal() static inline functions to inline functions. Stable ABI now use "Py_SET_REFCNT" name instead of "_Py_SetRefcnt".
Convert Py_SET_REFCNT() and _Py_IsImmortal() static inline functions to inline functions. _Py_IsImmortal() has to be converted to an inline function, since non-static Py_SET_REFCNT() function cannot call a static _Py_IsImmortal() function. Py_SET_REFCNT() function is now exported as "Py_SET_REFCNT" name in the stable ABI, instead of "_Py_SetRefcnt".
Convert Py_SET_REFCNT() and _Py_IsImmortal() static inline functions to inline functions. Py_SET_REFCNT() function is now exported as "Py_SET_REFCNT" name in the stable ABI, instead of "_Py_SetRefcnt". _Py_IsImmortal() has to be converted to an inline function, since non-static Py_SET_REFCNT() function cannot call a static _Py_IsImmortal() function. _Py_IsImmortal() is not part of the stable ABI.
Convert Py_SET_REFCNT() and _Py_IsImmortal() static inline functions to inline functions. Py_SET_REFCNT() function is now exported as "Py_SET_REFCNT" name in the stable ABI, instead of "_Py_SetRefcnt". _Py_IsImmortal(), _Py_IsOwnedByCurrentThread() and _Py_ThreadId() have to be converted to an inline functions, since non-static Py_SET_REFCNT() function cannot call a static functions. _Py_IsImmortal(), _Py_IsOwnedByCurrentThread() and _Py_ThreadId() are not part of the stable ABI.
Convert Py_SET_REFCNT() and _Py_IsImmortal() static inline functions to inline functions. Py_SET_REFCNT() function is now exported as "Py_SET_REFCNT" name in the stable ABI, instead of "_Py_SetRefcnt". _Py_IsImmortal(), _Py_IsOwnedByCurrentThread() and _Py_ThreadId() have to be converted to an inline functions, since non-static Py_SET_REFCNT() function cannot call a static functions. _Py_IsImmortal(), _Py_IsOwnedByCurrentThread() and _Py_ThreadId() are not part of the stable ABI.
…ted C API (python#111508) In the limited C API version 3.13, Py_SET_REFCNT() function is now implemented as an opaque function call. Add _Py_SetRefcnt() to the stable ABI.
Issue a build time error if both `Py_LIMITED_API` and `Py_GIL_DISABLED` are defined.
…117762) Issue a build time error if both `Py_LIMITED_API` and `Py_GIL_DISABLED` are defined.
…ild (python#117762) Issue a build time error if both `Py_LIMITED_API` and `Py_GIL_DISABLED` are defined.
Sorry if this was answered elsewhere already but I couldn't find this information: is the intention to bring some form of free-threaded limited API in CPython 3.13.0 final or later, in some subsequent minor version (3.14 at the earliest) ? |
The goal will be to fix this in 3.14 |
Updates the requirements on [setuptools](https://github.com/pypa/setuptools) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/setuptools/blob/main/NEWS.rst">setuptools's changelog</a>.</em></p> <blockquote> <h1>v73.0.0</h1> <h2>Features</h2> <ul> <li>Mark abstract base classes and methods with <code>abc.ABC</code> and <code>abc.abstractmethod</code> -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4503">#4503</a>)</li> <li>Changed the order of type checks in <code>setuptools.command.easy_install.CommandSpec.from_param</code> to support any <code>collections.abc.Iterable</code> of <code>str</code> param -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4505">#4505</a>)</li> </ul> <h2>Bugfixes</h2> <ul> <li>Prevent an error in <code>bdist_wheel</code> if <code>compression</code> is set to a <code>str</code> (even if valid) after finalizing options but before running the command. -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4383">#4383</a>)</li> <li>Raises an exception when <code>py_limited_api</code> is used in a build with <code>Py_GIL_DISABLED</code><code>python/cpython#111506</code><a href="https://redirect.github.com/pypa/setuptools/issues/4420">#4420</a>)</li> <li><code>pypa/distutils#284</code></li> </ul> <h2>Deprecations and Removals</h2> <ul> <li><code>setuptools</code> is replacing the usages of :pypi:<code>ordered_set</code> with simple instances of <code>dict[Hashable, None]</code>. This is done to remove the extra dependency and it is possible because since Python 3.7, <code>dict</code> maintain insertion order. (<a href="https://redirect.github.com/pypa/setuptools/issues/4574">#4574</a>)</li> </ul> <h2>Misc</h2> <ul> <li><a href="https://redirect.github.com/pypa/setuptools/issues/4534">#4534</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4546">#4546</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4554">#4554</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4559">#4559</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4565">#4565</a></li> </ul> <h1>v72.2.0</h1> <h2>Features</h2> <ul> <li><code>pypa/distutils#272</code><a href="https://redirect.github.com/pypa/distutils/issues/237">pypa/distutils#237</a><code>pypa/distuils#228</code><a href="https://redirect.github.com/pypa/setuptools/issues/4538">#4538</a>)</li> </ul> <h1>v72.1.0</h1> <h2>Features</h2> <ul> <li>Restore the tests command and deprecate access to the module. (<a href="https://redirect.github.com/pypa/setuptools/issues/4519">#4519</a>) (<a href="https://redirect.github.com/pypa/setuptools/issues/4520">#4520</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/setuptools/commit/4147b093d0aea4f57757c699a0b25bbc3aab2580"><code>4147b09</code></a> Bump version: 72.2.0 → 73.0.0</li> <li><a href="https://github.com/pypa/setuptools/commit/2ad8c10d8214340be812769359090c7950a39c35"><code>2ad8c10</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/4576">#4576</a> from pypa/bugfix/distutils-284</li> <li><a href="https://github.com/pypa/setuptools/commit/8afe0c3e9c4c56f5d7343dc21f743e9cf83c594a"><code>8afe0c3</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/4574">#4574</a> from abravalheri/ordered_set</li> <li><a href="https://github.com/pypa/setuptools/commit/ad611bcaedfefef3480ac111c4f22e2ca8cc7a1c"><code>ad611bc</code></a> Merge <a href="https://github.com/pypa/distutils">https://github.com/pypa/distutils</a> into bugfix/distutils-284</li> <li><a href="https://github.com/pypa/setuptools/commit/30b7331b07fbc404959cb37ac311afdfb90813be"><code>30b7331</code></a> Ensure a missing target is still indicated as 'sources are newer' even when t...</li> <li><a href="https://github.com/pypa/setuptools/commit/9a9946f98a5c1597a230db5975bdd61dc1ca1a3f"><code>9a9946f</code></a> Add test capturing missed expectation.</li> <li><a href="https://github.com/pypa/setuptools/commit/dbfcf800b2d130066319ee6dc54f485ff3a09dc6"><code>dbfcf80</code></a> Add newsfragment</li> <li><a href="https://github.com/pypa/setuptools/commit/d081fbdfc92da4b8bcf01455445cf739ca51d5f1"><code>d081fbd</code></a> Remove bundled ordered_set</li> <li><a href="https://github.com/pypa/setuptools/commit/49d7438a23b7ec7cfca20c4d0ae5083030f631bd"><code>49d7438</code></a> Replace OrderedSet with dict</li> <li><a href="https://github.com/pypa/setuptools/commit/8bd93089e76c88775ffccd1b03183d4ff659ec67"><code>8bd9308</code></a> Allow dash-separated module name in <code>pyproject.toml</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4566">#4566</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pypa/setuptools/compare/v72.2.0...v73.0.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
Bumps [setuptools](https://github.com/pypa/setuptools) from 68.0.0 to 73.0.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/setuptools/blob/main/NEWS.rst">setuptools's changelog</a>.</em></p> <blockquote> <h1>v73.0.1</h1> <h2>Bugfixes</h2> <ul> <li>Remove <code>abc.ABCMeta</code> metaclass from abstract classes. <code>pypa/setuptools#4503 <https://github.com/pypa/setuptools/pull/4503></code>_ had an unintended consequence of causing potential <code>TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases</code> -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4579">#4579</a>)</li> </ul> <h1>v73.0.0</h1> <h2>Features</h2> <ul> <li>Mark abstract base classes and methods with <code>abc.ABC</code> and <code>abc.abstractmethod</code> -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4503">#4503</a>)</li> <li>Changed the order of type checks in <code>setuptools.command.easy_install.CommandSpec.from_param</code> to support any <code>collections.abc.Iterable</code> of <code>str</code> param -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4505">#4505</a>)</li> </ul> <h2>Bugfixes</h2> <ul> <li>Prevent an error in <code>bdist_wheel</code> if <code>compression</code> is set to a <code>str</code> (even if valid) after finalizing options but before running the command. -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4383">#4383</a>)</li> <li>Raises an exception when <code>py_limited_api</code> is used in a build with <code>Py_GIL_DISABLED</code><code>python/cpython#111506</code><a href="https://redirect.github.com/pypa/setuptools/issues/4420">#4420</a>)</li> <li><code>pypa/distutils#284</code></li> </ul> <h2>Deprecations and Removals</h2> <ul> <li><code>setuptools</code> is replacing the usages of :pypi:<code>ordered_set</code> with simple instances of <code>dict[Hashable, None]</code>. This is done to remove the extra dependency and it is possible because since Python 3.7, <code>dict</code> maintain insertion order. (<a href="https://redirect.github.com/pypa/setuptools/issues/4574">#4574</a>)</li> </ul> <h2>Misc</h2> <ul> <li><a href="https://redirect.github.com/pypa/setuptools/issues/4534">#4534</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4546">#4546</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4554">#4554</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4559">#4559</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4565">#4565</a></li> </ul> <h1>v72.2.0</h1> <h2>Features</h2> <ul> <li><code>pypa/distutils#272</code><a href="https://redirect.github.com/pypa/distutils/issues/237">pypa/distutils#237</a><code>pypa/distuils#228</code><a href="https://redirect.github.com/pypa/setuptools/issues/4538">#4538</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/setuptools/commit/ebddeb36f72c9d758b5cc0e9f81f8a66aa837d96"><code>ebddeb3</code></a> Bump version: 73.0.0 → 73.0.1</li> <li><a href="https://github.com/pypa/setuptools/commit/18963fb1851d24b89780cc10e213a2779be5f1eb"><code>18963fb</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/4580">#4580</a> from Avasam/no-ABCMeta</li> <li><a href="https://github.com/pypa/setuptools/commit/b7ee00da2cfa8208c47812fb657392e8b88f620c"><code>b7ee00d</code></a> Remove ABCMeta metaclass, keep abstractmethods</li> <li><a href="https://github.com/pypa/setuptools/commit/477f713450ff57de126153f3034d032542916d03"><code>477f713</code></a> Override distribution attribute type in all distutils-based commands (<a href="https://redirect.github.com/pypa/setuptools/issues/4577">#4577</a>)</li> <li><a href="https://github.com/pypa/setuptools/commit/429ac589e5f290282f91b420350b002a2c519699"><code>429ac58</code></a> Override distribution attribute type in all distutils-based commands</li> <li><a href="https://github.com/pypa/setuptools/commit/4147b093d0aea4f57757c699a0b25bbc3aab2580"><code>4147b09</code></a> Bump version: 72.2.0 → 73.0.0</li> <li><a href="https://github.com/pypa/setuptools/commit/2ad8c10d8214340be812769359090c7950a39c35"><code>2ad8c10</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/4576">#4576</a> from pypa/bugfix/distutils-284</li> <li><a href="https://github.com/pypa/setuptools/commit/8afe0c3e9c4c56f5d7343dc21f743e9cf83c594a"><code>8afe0c3</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/4574">#4574</a> from abravalheri/ordered_set</li> <li><a href="https://github.com/pypa/setuptools/commit/ad611bcaedfefef3480ac111c4f22e2ca8cc7a1c"><code>ad611bc</code></a> Merge <a href="https://github.com/pypa/distutils">https://github.com/pypa/distutils</a> into bugfix/distutils-284</li> <li><a href="https://github.com/pypa/setuptools/commit/30b7331b07fbc404959cb37ac311afdfb90813be"><code>30b7331</code></a> Ensure a missing target is still indicated as 'sources are newer' even when t...</li> <li>Additional commits viewable in <a href="https://github.com/pypa/setuptools/compare/v68.0.0...v73.0.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=setuptools&package-manager=pip&previous-version=68.0.0&new-version=73.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [setuptools](https://github.com/pypa/setuptools) from 68.0.0 to 73.0.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/setuptools/blob/main/NEWS.rst">setuptools's changelog</a>.</em></p> <blockquote> <h1>v73.0.1</h1> <h2>Bugfixes</h2> <ul> <li>Remove <code>abc.ABCMeta</code> metaclass from abstract classes. <code>pypa/setuptools#4503 <https://github.com/pypa/setuptools/pull/4503></code>_ had an unintended consequence of causing potential <code>TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases</code> -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4579">#4579</a>)</li> </ul> <h1>v73.0.0</h1> <h2>Features</h2> <ul> <li>Mark abstract base classes and methods with <code>abc.ABC</code> and <code>abc.abstractmethod</code> -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4503">#4503</a>)</li> <li>Changed the order of type checks in <code>setuptools.command.easy_install.CommandSpec.from_param</code> to support any <code>collections.abc.Iterable</code> of <code>str</code> param -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4505">#4505</a>)</li> </ul> <h2>Bugfixes</h2> <ul> <li>Prevent an error in <code>bdist_wheel</code> if <code>compression</code> is set to a <code>str</code> (even if valid) after finalizing options but before running the command. -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4383">#4383</a>)</li> <li>Raises an exception when <code>py_limited_api</code> is used in a build with <code>Py_GIL_DISABLED</code><code>python/cpython#111506</code><a href="https://redirect.github.com/pypa/setuptools/issues/4420">#4420</a>)</li> <li><code>pypa/distutils#284</code></li> </ul> <h2>Deprecations and Removals</h2> <ul> <li><code>setuptools</code> is replacing the usages of :pypi:<code>ordered_set</code> with simple instances of <code>dict[Hashable, None]</code>. This is done to remove the extra dependency and it is possible because since Python 3.7, <code>dict</code> maintain insertion order. (<a href="https://redirect.github.com/pypa/setuptools/issues/4574">#4574</a>)</li> </ul> <h2>Misc</h2> <ul> <li><a href="https://redirect.github.com/pypa/setuptools/issues/4534">#4534</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4546">#4546</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4554">#4554</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4559">#4559</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4565">#4565</a></li> </ul> <h1>v72.2.0</h1> <h2>Features</h2> <ul> <li><code>pypa/distutils#272</code><a href="https://redirect.github.com/pypa/distutils/issues/237">pypa/distutils#237</a><code>pypa/distuils#228</code><a href="https://redirect.github.com/pypa/setuptools/issues/4538">#4538</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/setuptools/commit/ebddeb36f72c9d758b5cc0e9f81f8a66aa837d96"><code>ebddeb3</code></a> Bump version: 73.0.0 → 73.0.1</li> <li><a href="https://github.com/pypa/setuptools/commit/18963fb1851d24b89780cc10e213a2779be5f1eb"><code>18963fb</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/4580">#4580</a> from Avasam/no-ABCMeta</li> <li><a href="https://github.com/pypa/setuptools/commit/b7ee00da2cfa8208c47812fb657392e8b88f620c"><code>b7ee00d</code></a> Remove ABCMeta metaclass, keep abstractmethods</li> <li><a href="https://github.com/pypa/setuptools/commit/477f713450ff57de126153f3034d032542916d03"><code>477f713</code></a> Override distribution attribute type in all distutils-based commands (<a href="https://redirect.github.com/pypa/setuptools/issues/4577">#4577</a>)</li> <li><a href="https://github.com/pypa/setuptools/commit/429ac589e5f290282f91b420350b002a2c519699"><code>429ac58</code></a> Override distribution attribute type in all distutils-based commands</li> <li><a href="https://github.com/pypa/setuptools/commit/4147b093d0aea4f57757c699a0b25bbc3aab2580"><code>4147b09</code></a> Bump version: 72.2.0 → 73.0.0</li> <li><a href="https://github.com/pypa/setuptools/commit/2ad8c10d8214340be812769359090c7950a39c35"><code>2ad8c10</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/4576">#4576</a> from pypa/bugfix/distutils-284</li> <li><a href="https://github.com/pypa/setuptools/commit/8afe0c3e9c4c56f5d7343dc21f743e9cf83c594a"><code>8afe0c3</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/4574">#4574</a> from abravalheri/ordered_set</li> <li><a href="https://github.com/pypa/setuptools/commit/ad611bcaedfefef3480ac111c4f22e2ca8cc7a1c"><code>ad611bc</code></a> Merge <a href="https://github.com/pypa/distutils">https://github.com/pypa/distutils</a> into bugfix/distutils-284</li> <li><a href="https://github.com/pypa/setuptools/commit/30b7331b07fbc404959cb37ac311afdfb90813be"><code>30b7331</code></a> Ensure a missing target is still indicated as 'sources are newer' even when t...</li> <li>Additional commits viewable in <a href="https://github.com/pypa/setuptools/compare/v68.0.0...v73.0.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=setuptools&package-manager=pip&previous-version=68.0.0&new-version=73.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
v73.0.1 ======= Bugfixes -------- - Remove `abc.ABCMeta` metaclass from abstract classes. `pypa/setuptools#4503 <https://github.com/pypa/setuptools/pull/4503>`_ had an unintended consequence of causing potential ``TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases`` -- by :user:`Avasam` (#4579) v73.0.0 ======= Features -------- - Mark abstract base classes and methods with `abc.ABC` and `abc.abstractmethod` -- by :user:`Avasam` (#4503) - Changed the order of type checks in ``setuptools.command.easy_install.CommandSpec.from_param`` to support any `collections.abc.Iterable` of `str` param -- by :user:`Avasam` (#4505) Bugfixes -------- - Prevent an error in ``bdist_wheel`` if ``compression`` is set to a `str` (even if valid) after finalizing options but before running the command. -- by :user:`Avasam` (#4383) - Raises an exception when ``py_limited_api`` is used in a build with ``Py_GIL_DISABLED``. This is currently not supported (python/cpython#111506). (#4420) - Synced with pypa/distutils@30b7331 including fix for modified check on empty sources (pypa/distutils#284). Deprecations and Removals ------------------------- - ``setuptools`` is replacing the usages of :pypi:`ordered_set` with simple instances of ``dict[Hashable, None]``. This is done to remove the extra dependency and it is possible because since Python 3.7, ``dict`` maintain insertion order. (#4574) Misc ---- - #4534, #4546, #4554, #4559, #4565
…in /packages/@jsii/python-runtime (#4614) Updates the requirements on [setuptools](https://github.com/pypa/setuptools) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/setuptools/blob/main/NEWS.rst">setuptools's changelog</a>.</em></p> <blockquote> <h1>v73.0.1</h1> <h2>Bugfixes</h2> <ul> <li>Remove <code>abc.ABCMeta</code> metaclass from abstract classes. <code>pypa/setuptools#4503 <https://github.com/pypa/setuptools/pull/4503></code>_ had an unintended consequence of causing potential <code>TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases</code> -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4579">#4579</a>)</li> </ul> <h1>v73.0.0</h1> <h2>Features</h2> <ul> <li>Mark abstract base classes and methods with <code>abc.ABC</code> and <code>abc.abstractmethod</code> -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4503">#4503</a>)</li> <li>Changed the order of type checks in <code>setuptools.command.easy_install.CommandSpec.from_param</code> to support any <code>collections.abc.Iterable</code> of <code>str</code> param -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4505">#4505</a>)</li> </ul> <h2>Bugfixes</h2> <ul> <li>Prevent an error in <code>bdist_wheel</code> if <code>compression</code> is set to a <code>str</code> (even if valid) after finalizing options but before running the command. -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4383">#4383</a>)</li> <li>Raises an exception when <code>py_limited_api</code> is used in a build with <code>Py_GIL_DISABLED</code><code>python/cpython#111506</code><a href="https://redirect.github.com/pypa/setuptools/issues/4420">#4420</a>)</li> <li><code>pypa/distutils#284</code></li> </ul> <h2>Deprecations and Removals</h2> <ul> <li><code>setuptools</code> is replacing the usages of :pypi:<code>ordered_set</code> with simple instances of <code>dict[Hashable, None]</code>. This is done to remove the extra dependency and it is possible because since Python 3.7, <code>dict</code> maintain insertion order. (<a href="https://redirect.github.com/pypa/setuptools/issues/4574">#4574</a>)</li> </ul> <h2>Misc</h2> <ul> <li><a href="https://redirect.github.com/pypa/setuptools/issues/4534">#4534</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4546">#4546</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4554">#4554</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4559">#4559</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4565">#4565</a></li> </ul> <h1>v72.2.0</h1> <h2>Features</h2> <ul> <li><code>pypa/distutils#272</code><a href="https://redirect.github.com/pypa/distutils/issues/237">pypa/distutils#237</a><code>pypa/distuils#228</code><a href="https://redirect.github.com/pypa/setuptools/issues/4538">#4538</a>)</li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/setuptools/commit/ebddeb36f72c9d758b5cc0e9f81f8a66aa837d96"><code>ebddeb3</code></a> Bump version: 73.0.0 → 73.0.1</li> <li><a href="https://github.com/pypa/setuptools/commit/18963fb1851d24b89780cc10e213a2779be5f1eb"><code>18963fb</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/4580">#4580</a> from Avasam/no-ABCMeta</li> <li><a href="https://github.com/pypa/setuptools/commit/b7ee00da2cfa8208c47812fb657392e8b88f620c"><code>b7ee00d</code></a> Remove ABCMeta metaclass, keep abstractmethods</li> <li><a href="https://github.com/pypa/setuptools/commit/477f713450ff57de126153f3034d032542916d03"><code>477f713</code></a> Override distribution attribute type in all distutils-based commands (<a href="https://redirect.github.com/pypa/setuptools/issues/4577">#4577</a>)</li> <li><a href="https://github.com/pypa/setuptools/commit/429ac589e5f290282f91b420350b002a2c519699"><code>429ac58</code></a> Override distribution attribute type in all distutils-based commands</li> <li><a href="https://github.com/pypa/setuptools/commit/4147b093d0aea4f57757c699a0b25bbc3aab2580"><code>4147b09</code></a> Bump version: 72.2.0 → 73.0.0</li> <li><a href="https://github.com/pypa/setuptools/commit/2ad8c10d8214340be812769359090c7950a39c35"><code>2ad8c10</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/4576">#4576</a> from pypa/bugfix/distutils-284</li> <li><a href="https://github.com/pypa/setuptools/commit/8afe0c3e9c4c56f5d7343dc21f743e9cf83c594a"><code>8afe0c3</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/4574">#4574</a> from abravalheri/ordered_set</li> <li><a href="https://github.com/pypa/setuptools/commit/ad611bcaedfefef3480ac111c4f22e2ca8cc7a1c"><code>ad611bc</code></a> Merge <a href="https://github.com/pypa/distutils">https://github.com/pypa/distutils</a> into bugfix/distutils-284</li> <li><a href="https://github.com/pypa/setuptools/commit/30b7331b07fbc404959cb37ac311afdfb90813be"><code>30b7331</code></a> Ensure a missing target is still indicated as 'sources are newer' even when t...</li> <li>Additional commits viewable in <a href="https://github.com/pypa/setuptools/compare/v71.1.0...v73.0.1">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
Bumps [setuptools](https://github.com/pypa/setuptools) from 72.2.0 to 73.0.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/setuptools/blob/main/NEWS.rst">setuptools's changelog</a>.</em></p> <blockquote> <h1>v73.0.1</h1> <h2>Bugfixes</h2> <ul> <li>Remove <code>abc.ABCMeta</code> metaclass from abstract classes. <code>pypa/setuptools#4503 <https://github.com/pypa/setuptools/pull/4503></code>_ had an unintended consequence of causing potential <code>TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases</code> -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4579">#4579</a>)</li> </ul> <h1>v73.0.0</h1> <h2>Features</h2> <ul> <li>Mark abstract base classes and methods with <code>abc.ABC</code> and <code>abc.abstractmethod</code> -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4503">#4503</a>)</li> <li>Changed the order of type checks in <code>setuptools.command.easy_install.CommandSpec.from_param</code> to support any <code>collections.abc.Iterable</code> of <code>str</code> param -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4505">#4505</a>)</li> </ul> <h2>Bugfixes</h2> <ul> <li>Prevent an error in <code>bdist_wheel</code> if <code>compression</code> is set to a <code>str</code> (even if valid) after finalizing options but before running the command. -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4383">#4383</a>)</li> <li>Raises an exception when <code>py_limited_api</code> is used in a build with <code>Py_GIL_DISABLED</code><code>python/cpython#111506</code><a href="https://redirect.github.com/pypa/setuptools/issues/4420">#4420</a>)</li> <li><code>pypa/distutils#284</code></li> </ul> <h2>Deprecations and Removals</h2> <ul> <li><code>setuptools</code> is replacing the usages of :pypi:<code>ordered_set</code> with simple instances of <code>dict[Hashable, None]</code>. This is done to remove the extra dependency and it is possible because since Python 3.7, <code>dict</code> maintain insertion order. (<a href="https://redirect.github.com/pypa/setuptools/issues/4574">#4574</a>)</li> </ul> <h2>Misc</h2> <ul> <li><a href="https://redirect.github.com/pypa/setuptools/issues/4534">#4534</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4546">#4546</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4554">#4554</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4559">#4559</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4565">#4565</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/setuptools/commit/ebddeb36f72c9d758b5cc0e9f81f8a66aa837d96"><code>ebddeb3</code></a> Bump version: 73.0.0 → 73.0.1</li> <li><a href="https://github.com/pypa/setuptools/commit/18963fb1851d24b89780cc10e213a2779be5f1eb"><code>18963fb</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/4580">#4580</a> from Avasam/no-ABCMeta</li> <li><a href="https://github.com/pypa/setuptools/commit/b7ee00da2cfa8208c47812fb657392e8b88f620c"><code>b7ee00d</code></a> Remove ABCMeta metaclass, keep abstractmethods</li> <li><a href="https://github.com/pypa/setuptools/commit/477f713450ff57de126153f3034d032542916d03"><code>477f713</code></a> Override distribution attribute type in all distutils-based commands (<a href="https://redirect.github.com/pypa/setuptools/issues/4577">#4577</a>)</li> <li><a href="https://github.com/pypa/setuptools/commit/429ac589e5f290282f91b420350b002a2c519699"><code>429ac58</code></a> Override distribution attribute type in all distutils-based commands</li> <li><a href="https://github.com/pypa/setuptools/commit/4147b093d0aea4f57757c699a0b25bbc3aab2580"><code>4147b09</code></a> Bump version: 72.2.0 → 73.0.0</li> <li><a href="https://github.com/pypa/setuptools/commit/2ad8c10d8214340be812769359090c7950a39c35"><code>2ad8c10</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/4576">#4576</a> from pypa/bugfix/distutils-284</li> <li><a href="https://github.com/pypa/setuptools/commit/8afe0c3e9c4c56f5d7343dc21f743e9cf83c594a"><code>8afe0c3</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/4574">#4574</a> from abravalheri/ordered_set</li> <li><a href="https://github.com/pypa/setuptools/commit/ad611bcaedfefef3480ac111c4f22e2ca8cc7a1c"><code>ad611bc</code></a> Merge <a href="https://github.com/pypa/distutils">https://github.com/pypa/distutils</a> into bugfix/distutils-284</li> <li><a href="https://github.com/pypa/setuptools/commit/30b7331b07fbc404959cb37ac311afdfb90813be"><code>30b7331</code></a> Ensure a missing target is still indicated as 'sources are newer' even when t...</li> <li>Additional commits viewable in <a href="https://github.com/pypa/setuptools/compare/v72.2.0...v73.0.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=setuptools&package-manager=pip&previous-version=72.2.0&new-version=73.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
….0 in /src/bindings/python (#26195) Updates the requirements on [setuptools](https://github.com/pypa/setuptools) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/setuptools/blob/main/NEWS.rst">setuptools's changelog</a>.</em></p> <blockquote> <h1>v73.0.1</h1> <h2>Bugfixes</h2> <ul> <li>Remove <code>abc.ABCMeta</code> metaclass from abstract classes. <code>pypa/setuptools#4503 <https://github.com/pypa/setuptools/pull/4503></code>_ had an unintended consequence of causing potential <code>TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases</code> -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4579">#4579</a>)</li> </ul> <h1>v73.0.0</h1> <h2>Features</h2> <ul> <li>Mark abstract base classes and methods with <code>abc.ABC</code> and <code>abc.abstractmethod</code> -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4503">#4503</a>)</li> <li>Changed the order of type checks in <code>setuptools.command.easy_install.CommandSpec.from_param</code> to support any <code>collections.abc.Iterable</code> of <code>str</code> param -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4505">#4505</a>)</li> </ul> <h2>Bugfixes</h2> <ul> <li>Prevent an error in <code>bdist_wheel</code> if <code>compression</code> is set to a <code>str</code> (even if valid) after finalizing options but before running the command. -- by :user:<code>Avasam</code> (<a href="https://redirect.github.com/pypa/setuptools/issues/4383">#4383</a>)</li> <li>Raises an exception when <code>py_limited_api</code> is used in a build with <code>Py_GIL_DISABLED</code><code>python/cpython#111506</code><a href="https://redirect.github.com/pypa/setuptools/issues/4420">#4420</a>)</li> <li><code>pypa/distutils#284</code></li> </ul> <h2>Deprecations and Removals</h2> <ul> <li><code>setuptools</code> is replacing the usages of :pypi:<code>ordered_set</code> with simple instances of <code>dict[Hashable, None]</code>. This is done to remove the extra dependency and it is possible because since Python 3.7, <code>dict</code> maintain insertion order. (<a href="https://redirect.github.com/pypa/setuptools/issues/4574">#4574</a>)</li> </ul> <h2>Misc</h2> <ul> <li><a href="https://redirect.github.com/pypa/setuptools/issues/4534">#4534</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4546">#4546</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4554">#4554</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4559">#4559</a>, <a href="https://redirect.github.com/pypa/setuptools/issues/4565">#4565</a></li> </ul> <h1>v72.2.0</h1> <h2>Features</h2> <ul> <li><code>pypa/distutils#272</code><a href="https://redirect.github.com/pypa/distutils/issues/237">pypa/distutils#237</a><code>pypa/distuils#228</code><a href="https://redirect.github.com/pypa/setuptools/issues/4538">#4538</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/setuptools/commit/ebddeb36f72c9d758b5cc0e9f81f8a66aa837d96"><code>ebddeb3</code></a> Bump version: 73.0.0 → 73.0.1</li> <li><a href="https://github.com/pypa/setuptools/commit/18963fb1851d24b89780cc10e213a2779be5f1eb"><code>18963fb</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/4580">#4580</a> from Avasam/no-ABCMeta</li> <li><a href="https://github.com/pypa/setuptools/commit/b7ee00da2cfa8208c47812fb657392e8b88f620c"><code>b7ee00d</code></a> Remove ABCMeta metaclass, keep abstractmethods</li> <li><a href="https://github.com/pypa/setuptools/commit/477f713450ff57de126153f3034d032542916d03"><code>477f713</code></a> Override distribution attribute type in all distutils-based commands (<a href="https://redirect.github.com/pypa/setuptools/issues/4577">#4577</a>)</li> <li><a href="https://github.com/pypa/setuptools/commit/429ac589e5f290282f91b420350b002a2c519699"><code>429ac58</code></a> Override distribution attribute type in all distutils-based commands</li> <li><a href="https://github.com/pypa/setuptools/commit/4147b093d0aea4f57757c699a0b25bbc3aab2580"><code>4147b09</code></a> Bump version: 72.2.0 → 73.0.0</li> <li><a href="https://github.com/pypa/setuptools/commit/2ad8c10d8214340be812769359090c7950a39c35"><code>2ad8c10</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/4576">#4576</a> from pypa/bugfix/distutils-284</li> <li><a href="https://github.com/pypa/setuptools/commit/8afe0c3e9c4c56f5d7343dc21f743e9cf83c594a"><code>8afe0c3</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/4574">#4574</a> from abravalheri/ordered_set</li> <li><a href="https://github.com/pypa/setuptools/commit/ad611bcaedfefef3480ac111c4f22e2ca8cc7a1c"><code>ad611bc</code></a> Merge <a href="https://github.com/pypa/distutils">https://github.com/pypa/distutils</a> into bugfix/distutils-284</li> <li><a href="https://github.com/pypa/setuptools/commit/30b7331b07fbc404959cb37ac311afdfb90813be"><code>30b7331</code></a> Ensure a missing target is still indicated as 'sources are newer' even when t...</li> <li>Additional commits viewable in <a href="https://github.com/pypa/setuptools/compare/v65.6.1...v73.0.1">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ted C API (python#111508) In the limited C API version 3.13, Py_SET_REFCNT() function is now implemented as an opaque function call. Add _Py_SetRefcnt() to the stable ABI.
Bug report
After #110764,
--disable-gil
builds of CPython 3.13 are (temporarily) not be compatible with the limited API or the stable ABI due to modifications to thePyObject
header. For context, this was noted in the "Backwards Compatibility" section of PEP 703.Based on feedback on the related discuss post and discussions with Gregory Smith, Guido, Petr, and Victor at the core dev sprint, I believe we can make changes to the stable ABI so that extension author can target a single stable ABI that supports CPython 3.7+ and both the default build and the
--disable-gil
builds of CPython 3.13+.These changes will require a PEP. This issue is intended just to keep track of the known problem.
The rough idea is:
Py_SIZE
,Py_TYPE
,Py_SET_REFCNT
,Py_REFCNT
) "real" function calls in the stable ABI for CPython 3.13+GetProcAddress
on Windows) or weak symbols (on Linux/macOS) to determine at runtime if the active CPython version provides the desired functions. Otherwise, fall back to old definitions of the above functions for CPython <= 3.12.Linked PRs
The text was updated successfully, but these errors were encountered: