Skip to content
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

Set Py_GIL_DISABLED=1 for free threaded Python on Windows #310

Merged
merged 2 commits into from
Nov 26, 2024

Conversation

colesbury
Copy link
Contributor

When free threaded CPython is installed from the official Windows installer it doesn't have the macro Py_GIL_DISABLED properly set becuase its pyconfig.h file is shared across the co-installed default build.

Define the macro when building free threaded Python extensions on Windows so that each individual C API extension doesn't have to work around this limitation.

See pypa/setuptools#4662

Copy link

@Zheaoli Zheaoli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

distutils/command/build_ext.py Outdated Show resolved Hide resolved
@Zheaoli
Copy link

Zheaoli commented Nov 1, 2024

BTW I think we should release a new version that includes this PR ASAP. I think this issue have already been a block reason for the people who want to build free threading extension on windows

Copy link

@rgommers rgommers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In case it helps: this change looks correct to me, and is the right (and probably the only reasonable) choice to make in my opinion. We made the same change in Meson (xref mesonbuild/meson#13338) and have tested it pretty heavily by now - it's working as advertised, while without the Py_GIL_DISABLED define, users are getting hard to understand errors at build time.

So +1 for merging this.

Copy link
Contributor

@vstinner vstinner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. It's unfortunate that we have to do that, but the fix looks good to me.

Copy link
Member

@FFY00 FFY00 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the workaround is okay, but we should look into fixing the source of the issue.

@FFY00
Copy link
Member

FFY00 commented Nov 26, 2024

The test failures seem unrelated. Unfortunately, they are also failing on main, but they don't look the same. I'll rebase this PR on main and manually compare the PR tests with the ones from main.

When free threaded CPython is installed from the official Windows
installer it doesn't have the macro `Py_GIL_DISABLED` properly set
becuase its `pyconfig.h` file is shared across the co-installed default
build.

Define the macro when building free threaded Python extensions on
Windows so that each individual C API extension doesn't have to work
around this limitation.

See pypa/setuptools#4662
@FFY00 FFY00 force-pushed the freethreading-windows branch from 407bd87 to de1e624 Compare November 26, 2024 13:09
@FFY00
Copy link
Member

FFY00 commented Nov 26, 2024

The tests seem similar enough, I'll merge this and then see if I have time to fix the CI 🙃

@FFY00 FFY00 merged commit 49e362c into pypa:main Nov 26, 2024
7 of 22 checks passed
@rgommers
Copy link

rgommers commented Nov 26, 2024

I think the workaround is okay, but we should look into fixing the source of the issue.

I believe @zooba has already tried, and declared the approach in this PR as the solution to be able to build against the official CPython Windows installers until free-threaded becomes the default build - from https://discuss.python.org/t/windows-installer-freethreading-and-building-extension-modules/54391:

"The multiple pyconfig.h problem is why we skipped an alpha, and this is the workaround, which will probably last until the day when the variable becomes redundant."

"It looks like you’re using setuptools. They can start detecting the variable and passing it themselves whenever they like."

@FFY00
Copy link
Member

FFY00 commented Nov 26, 2024

This specific issue is a symptom of Python not being designed to have paths shared between multiple builds. I think it makes sense to at least discuss in more depth how this could be avoided.

@zooba
Copy link
Contributor

zooba commented Nov 26, 2024

I think it makes sense to at least discuss in more depth how this could be avoided.

Supporting the same set of headers for all platforms (or at minimum, all Windows architectures) and relying on preprocessor switches to choose the build options is a pretty standard way of doing this on Windows.

I certainly wouldn't want to switch wholesale to a configure/make model for all Windows users just for the sake of a temporary flag. If there's a second feature that deserves this, we can consider it.

@lysnikolaou
Copy link

Hey @FFY00! Are you going to merge this in pypa/setuptools as well? Having a released version of setuptools with this included would help a lot in unblocking CI for a lot of projects.

@FFY00
Copy link
Member

FFY00 commented Dec 3, 2024

Hey, sorry for the late reply, I am not a setuptools maintainer.

cc @jaraco

@jaraco
Copy link
Member

jaraco commented Dec 26, 2024

My new job has been keeping me busy, so I'm just getting caught up on this. Let's see...

For future reference, I would have done the merge differently:

  • Merges in distutils need to have project-absolute references (e.g. pypa/distutils#310 instead of #310) because these commits are merged into Setuptools and when they're merged, they'll become Setuptools references.
  • Also, to help maintain fidelity, this project prefers to use merge commits instead of squash commits, as it provides the ability to summarize changes by looking at merge commits or dive into the details.

I'll get those things repaired and then get the latest changes merged into Setuptools.

jaraco added a commit that referenced this pull request Dec 26, 2024
Set `Py_GIL_DISABLED=1` for free threaded Python on Windows.
github-actions bot pushed a commit to aio-libs/aiohttp that referenced this pull request Jan 6, 2025
Bumps [setuptools](https://github.com/pypa/setuptools) from 75.6.0 to
75.7.0.
<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>v75.7.0</h1>
<h2>Features</h2>
<ul>
<li><code>pypa/distutils#310</code><a
href="https://redirect.github.com/pypa/setuptools/issues/4478">#4478</a>)</li>
<li>Synced with pypa/distutils@ff11eed0c including bugfix for duplicate
CFLAGS and adaption to support Python 3.13 is_abs in the C compiler (<a
href="https://redirect.github.com/pypa/setuptools/issues/4669">#4669</a>).
(<a
href="https://redirect.github.com/pypa/setuptools/issues/4790">#4790</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/setuptools/commit/4e82e8b75c8bd8cba1232a107dc171b4fd2c588c"><code>4e82e8b</code></a>
Bump version: 75.6.0 → 75.7.0</li>
<li><a
href="https://github.com/pypa/setuptools/commit/50b15dbedc3a5665717b9204cd85291152f5b314"><code>50b15db</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/setuptools/issues/4787">#4787</a>
from Avasam/simplify-typed-assignements</li>
<li><a
href="https://github.com/pypa/setuptools/commit/86d8c992fc201fae91d135019e5abada183548e2"><code>86d8c99</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/setuptools/issues/4790">#4790</a>
from pypa/feature/distutils-ff11eed0c</li>
<li><a
href="https://github.com/pypa/setuptools/commit/c384f184d20e8232a1ce73f88d151b9808b66949"><code>c384f18</code></a>
Py_GIL_Disabled was handled previously.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/fbe834af40de70c181cd2ff5395f8e3488177874"><code>fbe834a</code></a>
Merge branch 'main' into feature/distutils-ff11eed0c</li>
<li><a
href="https://github.com/pypa/setuptools/commit/5ed9d93e77aa3e2c70d8cea1bfeb15549932169f"><code>5ed9d93</code></a>
Add news fragment.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/e94ce0d2aa2d38b67e5c7ee84ca53fde9d4b5b28"><code>e94ce0d</code></a>
Merge with pypa/distutils.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/ff11eed0c36b35bd68615a8ebf36763b7c8a6f28"><code>ff11eed</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/distutils/issues/325">pypa/distutils#325</a>
from thesamesam/cflags</li>
<li><a
href="https://github.com/pypa/setuptools/commit/ebfebc096000e16f9d640660047eaec891a98529"><code>ebfebc0</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/distutils/issues/302">pypa/distutils#302</a>
from adang1345/fix-python313-abs</li>
<li><a
href="https://github.com/pypa/setuptools/commit/36ce8b329524088cfa53b9a4bffcce3a8d233539"><code>36ce8b3</code></a>
Refactor for simplicity.</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/setuptools/compare/v75.6.0...v75.7.0">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=75.6.0&new-version=75.7.0)](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>
github-actions bot pushed a commit to aio-libs/aiohttp that referenced this pull request Jan 6, 2025
Bumps [setuptools](https://github.com/pypa/setuptools) from 75.6.0 to
75.7.0.
<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>v75.7.0</h1>
<h2>Features</h2>
<ul>
<li><code>pypa/distutils#310</code><a
href="https://redirect.github.com/pypa/setuptools/issues/4478">#4478</a>)</li>
<li>Synced with pypa/distutils@ff11eed0c including bugfix for duplicate
CFLAGS and adaption to support Python 3.13 is_abs in the C compiler (<a
href="https://redirect.github.com/pypa/setuptools/issues/4669">#4669</a>).
(<a
href="https://redirect.github.com/pypa/setuptools/issues/4790">#4790</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/setuptools/commit/4e82e8b75c8bd8cba1232a107dc171b4fd2c588c"><code>4e82e8b</code></a>
Bump version: 75.6.0 → 75.7.0</li>
<li><a
href="https://github.com/pypa/setuptools/commit/50b15dbedc3a5665717b9204cd85291152f5b314"><code>50b15db</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/setuptools/issues/4787">#4787</a>
from Avasam/simplify-typed-assignements</li>
<li><a
href="https://github.com/pypa/setuptools/commit/86d8c992fc201fae91d135019e5abada183548e2"><code>86d8c99</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/setuptools/issues/4790">#4790</a>
from pypa/feature/distutils-ff11eed0c</li>
<li><a
href="https://github.com/pypa/setuptools/commit/c384f184d20e8232a1ce73f88d151b9808b66949"><code>c384f18</code></a>
Py_GIL_Disabled was handled previously.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/fbe834af40de70c181cd2ff5395f8e3488177874"><code>fbe834a</code></a>
Merge branch 'main' into feature/distutils-ff11eed0c</li>
<li><a
href="https://github.com/pypa/setuptools/commit/5ed9d93e77aa3e2c70d8cea1bfeb15549932169f"><code>5ed9d93</code></a>
Add news fragment.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/e94ce0d2aa2d38b67e5c7ee84ca53fde9d4b5b28"><code>e94ce0d</code></a>
Merge with pypa/distutils.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/ff11eed0c36b35bd68615a8ebf36763b7c8a6f28"><code>ff11eed</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/distutils/issues/325">pypa/distutils#325</a>
from thesamesam/cflags</li>
<li><a
href="https://github.com/pypa/setuptools/commit/ebfebc096000e16f9d640660047eaec891a98529"><code>ebfebc0</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/distutils/issues/302">pypa/distutils#302</a>
from adang1345/fix-python313-abs</li>
<li><a
href="https://github.com/pypa/setuptools/commit/36ce8b329524088cfa53b9a4bffcce3a8d233539"><code>36ce8b3</code></a>
Refactor for simplicity.</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/setuptools/compare/v75.6.0...v75.7.0">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=75.6.0&new-version=75.7.0)](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>
jmertic pushed a commit to jmertic/landscape-tools that referenced this pull request Jan 6, 2025
Bumps the all group with 2 updates: ruamel-yaml and
[setuptools](https://github.com/pypa/setuptools).

Updates `ruamel-yaml` from 0.18.6 to 0.18.10

Updates `setuptools` from 75.6.0 to 75.7.0
<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>v75.7.0</h1>
<h2>Features</h2>
<ul>
<li><code>pypa/distutils#310</code><a
href="https://redirect.github.com/pypa/setuptools/issues/4478">#4478</a>)</li>
<li>Synced with pypa/distutils@ff11eed0c including bugfix for duplicate
CFLAGS and adaption to support Python 3.13 is_abs in the C compiler (<a
href="https://redirect.github.com/pypa/setuptools/issues/4669">#4669</a>).
(<a
href="https://redirect.github.com/pypa/setuptools/issues/4790">#4790</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/setuptools/commit/4e82e8b75c8bd8cba1232a107dc171b4fd2c588c"><code>4e82e8b</code></a>
Bump version: 75.6.0 → 75.7.0</li>
<li><a
href="https://github.com/pypa/setuptools/commit/50b15dbedc3a5665717b9204cd85291152f5b314"><code>50b15db</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/setuptools/issues/4787">#4787</a>
from Avasam/simplify-typed-assignements</li>
<li><a
href="https://github.com/pypa/setuptools/commit/86d8c992fc201fae91d135019e5abada183548e2"><code>86d8c99</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/setuptools/issues/4790">#4790</a>
from pypa/feature/distutils-ff11eed0c</li>
<li><a
href="https://github.com/pypa/setuptools/commit/c384f184d20e8232a1ce73f88d151b9808b66949"><code>c384f18</code></a>
Py_GIL_Disabled was handled previously.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/fbe834af40de70c181cd2ff5395f8e3488177874"><code>fbe834a</code></a>
Merge branch 'main' into feature/distutils-ff11eed0c</li>
<li><a
href="https://github.com/pypa/setuptools/commit/5ed9d93e77aa3e2c70d8cea1bfeb15549932169f"><code>5ed9d93</code></a>
Add news fragment.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/e94ce0d2aa2d38b67e5c7ee84ca53fde9d4b5b28"><code>e94ce0d</code></a>
Merge with pypa/distutils.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/ff11eed0c36b35bd68615a8ebf36763b7c8a6f28"><code>ff11eed</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/distutils/issues/325">pypa/distutils#325</a>
from thesamesam/cflags</li>
<li><a
href="https://github.com/pypa/setuptools/commit/ebfebc096000e16f9d640660047eaec891a98529"><code>ebfebc0</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/distutils/issues/302">pypa/distutils#302</a>
from adang1345/fix-python313-abs</li>
<li><a
href="https://github.com/pypa/setuptools/commit/36ce8b329524088cfa53b9a4bffcce3a8d233539"><code>36ce8b3</code></a>
Refactor for simplicity.</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/setuptools/compare/v75.6.0...v75.7.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 <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
inmantaci pushed a commit to inmanta/inmanta-core that referenced this pull request Jan 6, 2025
Bumps [setuptools](https://github.com/pypa/setuptools) from 75.6.0 to 75.7.0.
<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>v75.7.0</h1>
<h2>Features</h2>
<ul>
<li><code>pypa/distutils#310</code><a href="https://redirect.github.com/pypa/setuptools/issues/4478">#4478</a>)</li>
<li>Synced with pypa/distutils@ff11eed0c including bugfix for duplicate CFLAGS and adaption to support Python 3.13 is_abs in the C compiler (<a href="https://redirect.github.com/pypa/setuptools/issues/4669">#4669</a>). (<a href="https://redirect.github.com/pypa/setuptools/issues/4790">#4790</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pypa/setuptools/commit/4e82e8b75c8bd8cba1232a107dc171b4fd2c588c"><code>4e82e8b</code></a> Bump version: 75.6.0 → 75.7.0</li>
<li><a href="https://github.com/pypa/setuptools/commit/50b15dbedc3a5665717b9204cd85291152f5b314"><code>50b15db</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/4787">#4787</a> from Avasam/simplify-typed-assignements</li>
<li><a href="https://github.com/pypa/setuptools/commit/86d8c992fc201fae91d135019e5abada183548e2"><code>86d8c99</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/4790">#4790</a> from pypa/feature/distutils-ff11eed0c</li>
<li><a href="https://github.com/pypa/setuptools/commit/c384f184d20e8232a1ce73f88d151b9808b66949"><code>c384f18</code></a> Py_GIL_Disabled was handled previously.</li>
<li><a href="https://github.com/pypa/setuptools/commit/fbe834af40de70c181cd2ff5395f8e3488177874"><code>fbe834a</code></a> Merge branch 'main' into feature/distutils-ff11eed0c</li>
<li><a href="https://github.com/pypa/setuptools/commit/5ed9d93e77aa3e2c70d8cea1bfeb15549932169f"><code>5ed9d93</code></a> Add news fragment.</li>
<li><a href="https://github.com/pypa/setuptools/commit/e94ce0d2aa2d38b67e5c7ee84ca53fde9d4b5b28"><code>e94ce0d</code></a> Merge with pypa/distutils.</li>
<li><a href="https://github.com/pypa/setuptools/commit/ff11eed0c36b35bd68615a8ebf36763b7c8a6f28"><code>ff11eed</code></a> Merge pull request <a href="https://redirect.github.com/pypa/distutils/issues/325">pypa/distutils#325</a> from thesamesam/cflags</li>
<li><a href="https://github.com/pypa/setuptools/commit/ebfebc096000e16f9d640660047eaec891a98529"><code>ebfebc0</code></a> Merge pull request <a href="https://redirect.github.com/pypa/distutils/issues/302">pypa/distutils#302</a> from adang1345/fix-python313-abs</li>
<li><a href="https://github.com/pypa/setuptools/commit/36ce8b329524088cfa53b9a4bffcce3a8d233539"><code>36ce8b3</code></a> Refactor for simplicity.</li>
<li>Additional commits viewable in <a href="https://github.com/pypa/setuptools/compare/v75.6.0...v75.7.0">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=75.6.0&new-version=75.7.0)](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>
inmantaci pushed a commit to inmanta/inmanta-core that referenced this pull request Jan 6, 2025
Bumps [setuptools](https://github.com/pypa/setuptools) from 75.6.0 to 75.7.0.
<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>v75.7.0</h1>
<h2>Features</h2>
<ul>
<li><code>pypa/distutils#310</code><a href="https://redirect.github.com/pypa/setuptools/issues/4478">#4478</a>)</li>
<li>Synced with pypa/distutils@ff11eed0c including bugfix for duplicate CFLAGS and adaption to support Python 3.13 is_abs in the C compiler (<a href="https://redirect.github.com/pypa/setuptools/issues/4669">#4669</a>). (<a href="https://redirect.github.com/pypa/setuptools/issues/4790">#4790</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pypa/setuptools/commit/4e82e8b75c8bd8cba1232a107dc171b4fd2c588c"><code>4e82e8b</code></a> Bump version: 75.6.0 → 75.7.0</li>
<li><a href="https://github.com/pypa/setuptools/commit/50b15dbedc3a5665717b9204cd85291152f5b314"><code>50b15db</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/4787">#4787</a> from Avasam/simplify-typed-assignements</li>
<li><a href="https://github.com/pypa/setuptools/commit/86d8c992fc201fae91d135019e5abada183548e2"><code>86d8c99</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools/issues/4790">#4790</a> from pypa/feature/distutils-ff11eed0c</li>
<li><a href="https://github.com/pypa/setuptools/commit/c384f184d20e8232a1ce73f88d151b9808b66949"><code>c384f18</code></a> Py_GIL_Disabled was handled previously.</li>
<li><a href="https://github.com/pypa/setuptools/commit/fbe834af40de70c181cd2ff5395f8e3488177874"><code>fbe834a</code></a> Merge branch 'main' into feature/distutils-ff11eed0c</li>
<li><a href="https://github.com/pypa/setuptools/commit/5ed9d93e77aa3e2c70d8cea1bfeb15549932169f"><code>5ed9d93</code></a> Add news fragment.</li>
<li><a href="https://github.com/pypa/setuptools/commit/e94ce0d2aa2d38b67e5c7ee84ca53fde9d4b5b28"><code>e94ce0d</code></a> Merge with pypa/distutils.</li>
<li><a href="https://github.com/pypa/setuptools/commit/ff11eed0c36b35bd68615a8ebf36763b7c8a6f28"><code>ff11eed</code></a> Merge pull request <a href="https://redirect.github.com/pypa/distutils/issues/325">pypa/distutils#325</a> from thesamesam/cflags</li>
<li><a href="https://github.com/pypa/setuptools/commit/ebfebc096000e16f9d640660047eaec891a98529"><code>ebfebc0</code></a> Merge pull request <a href="https://redirect.github.com/pypa/distutils/issues/302">pypa/distutils#302</a> from adang1345/fix-python313-abs</li>
<li><a href="https://github.com/pypa/setuptools/commit/36ce8b329524088cfa53b9a4bffcce3a8d233539"><code>36ce8b3</code></a> Refactor for simplicity.</li>
<li>Additional commits viewable in <a href="https://github.com/pypa/setuptools/compare/v75.6.0...v75.7.0">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=75.6.0&new-version=75.7.0)](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>
github-merge-queue bot pushed a commit to openvinotoolkit/openvino that referenced this pull request Jan 8, 2025
…rc/bindings/python (#28319)

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>v75.7.0</h1>
<h2>Features</h2>
<ul>
<li><code>pypa/distutils#310</code><a
href="https://redirect.github.com/pypa/setuptools/issues/4478">#4478</a>)</li>
<li>Synced with pypa/distutils@ff11eed0c including bugfix for duplicate
CFLAGS and adaption to support Python 3.13 is_abs in the C compiler (<a
href="https://redirect.github.com/pypa/setuptools/issues/4669">#4669</a>).
(<a
href="https://redirect.github.com/pypa/setuptools/issues/4790">#4790</a>)</li>
</ul>
<h1>v75.6.0</h1>
<h2>Features</h2>
<ul>
<li>Preserve original <code>PKG-INFO</code> into <code>METADATA</code>
when creating wheel
(instead of calling <code>wheel.metadata.pkginfo_to_metadata</code>).
This helps to be more compliant with the flow specified in PEP 517. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4701">#4701</a>)</li>
<li>Changed the <code>WindowsSdkVersion</code>,
<code>FrameworkVersion32</code> and <code>FrameworkVersion64</code>
properties of <code>setuptools.msvc.PlatformInfo</code> to return an
empty <code>tuple</code> instead of <code>None</code> as a fallthrough
case -- by :user:<code>Avasam</code> (<a
href="https://redirect.github.com/pypa/setuptools/issues/4754">#4754</a>)</li>
</ul>
<h1>v75.5.0</h1>
<h2>Features</h2>
<ul>
<li>Removed support for
<code>SETUPTOOLS_DANGEROUSLY_SKIP_PYPROJECT_VALIDATION</code>, as it
is deemed prone to errors. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4746">#4746</a>)</li>
</ul>
<h1>v75.4.0</h1>
<h2>Features</h2>
<ul>
<li>
<p>Added support for the environment variable
<code>SETUPTOOLS_DANGEROUSLY_SKIP_PYPROJECT_VALIDATION=true</code>,
allowing users to bypass
the validation of <code>pyproject.toml</code>.
This option should be used only as a last resort when resolving
dependency
issues, as it may lead to improper functioning.
Users who enable this setting are responsible for ensuring that
<code>pyproject.toml</code>
complies with setuptools requirements. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4611">#4611</a>)</p>
<p>.. attention::
This environment variable was removed in a later version of
<code>setuptools</code>.</p>
</li>
<li>
<p>Require Python 3.9 or later. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4718">#4718</a>)</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/setuptools/commit/4e82e8b75c8bd8cba1232a107dc171b4fd2c588c"><code>4e82e8b</code></a>
Bump version: 75.6.0 → 75.7.0</li>
<li><a
href="https://github.com/pypa/setuptools/commit/50b15dbedc3a5665717b9204cd85291152f5b314"><code>50b15db</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/setuptools/issues/4787">#4787</a>
from Avasam/simplify-typed-assignements</li>
<li><a
href="https://github.com/pypa/setuptools/commit/86d8c992fc201fae91d135019e5abada183548e2"><code>86d8c99</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/setuptools/issues/4790">#4790</a>
from pypa/feature/distutils-ff11eed0c</li>
<li><a
href="https://github.com/pypa/setuptools/commit/c384f184d20e8232a1ce73f88d151b9808b66949"><code>c384f18</code></a>
Py_GIL_Disabled was handled previously.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/fbe834af40de70c181cd2ff5395f8e3488177874"><code>fbe834a</code></a>
Merge branch 'main' into feature/distutils-ff11eed0c</li>
<li><a
href="https://github.com/pypa/setuptools/commit/5ed9d93e77aa3e2c70d8cea1bfeb15549932169f"><code>5ed9d93</code></a>
Add news fragment.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/e94ce0d2aa2d38b67e5c7ee84ca53fde9d4b5b28"><code>e94ce0d</code></a>
Merge with pypa/distutils.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/ff11eed0c36b35bd68615a8ebf36763b7c8a6f28"><code>ff11eed</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/distutils/issues/325">pypa/distutils#325</a>
from thesamesam/cflags</li>
<li><a
href="https://github.com/pypa/setuptools/commit/ebfebc096000e16f9d640660047eaec891a98529"><code>ebfebc0</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/distutils/issues/302">pypa/distutils#302</a>
from adang1345/fix-python313-abs</li>
<li><a
href="https://github.com/pypa/setuptools/commit/36ce8b329524088cfa53b9a4bffcce3a8d233539"><code>36ce8b3</code></a>
Refactor for simplicity.</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/setuptools/compare/v70.1.0...v75.7.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>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
github-merge-queue bot pushed a commit to openvinotoolkit/openvino that referenced this pull request Jan 16, 2025
…rc/bindings/python (#28369)

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>v75.8.0</h1>
<h2>Features</h2>
<ul>
<li>Implemented <code>Dynamic</code> field for core metadata (as
introduced in PEP 643).
The existing implementation is currently experimental and the exact
approach
may change in future releases. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4698">#4698</a>)</li>
</ul>
<h1>v75.7.0</h1>
<h2>Features</h2>
<ul>
<li><code>pypa/distutils#310</code><a
href="https://redirect.github.com/pypa/setuptools/issues/4478">#4478</a>)</li>
<li>Synced with pypa/distutils@ff11eed0c including bugfix for duplicate
CFLAGS and adaption to support Python 3.13 is_abs in the C compiler (<a
href="https://redirect.github.com/pypa/setuptools/issues/4669">#4669</a>).
(<a
href="https://redirect.github.com/pypa/setuptools/issues/4790">#4790</a>)</li>
</ul>
<h1>v75.6.0</h1>
<h2>Features</h2>
<ul>
<li>Preserve original <code>PKG-INFO</code> into <code>METADATA</code>
when creating wheel
(instead of calling <code>wheel.metadata.pkginfo_to_metadata</code>).
This helps to be more compliant with the flow specified in PEP 517. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4701">#4701</a>)</li>
<li>Changed the <code>WindowsSdkVersion</code>,
<code>FrameworkVersion32</code> and <code>FrameworkVersion64</code>
properties of <code>setuptools.msvc.PlatformInfo</code> to return an
empty <code>tuple</code> instead of <code>None</code> as a fallthrough
case -- by :user:<code>Avasam</code> (<a
href="https://redirect.github.com/pypa/setuptools/issues/4754">#4754</a>)</li>
</ul>
<h1>v75.5.0</h1>
<h2>Features</h2>
<ul>
<li>Removed support for
<code>SETUPTOOLS_DANGEROUSLY_SKIP_PYPROJECT_VALIDATION</code>, as it
is deemed prone to errors. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4746">#4746</a>)</li>
</ul>
<h1>v75.4.0</h1>
<h2>Features</h2>
<ul>
<li>Added support for the environment variable</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/setuptools/commit/5c9d9809dec1b20e2a9da6b4a06355fd6f87a190"><code>5c9d980</code></a>
Bump version: 75.7.0 → 75.8.0</li>
<li><a
href="https://github.com/pypa/setuptools/commit/72c422261b40f2b95a8be6605cc7dd93cec81794"><code>72c4222</code></a>
Avoid using Any in function</li>
<li><a
href="https://github.com/pypa/setuptools/commit/1c61d4799438677c7cfaaccf281312bfb1aee9b3"><code>1c61d47</code></a>
Add news fragments for PEP 643</li>
<li><a
href="https://github.com/pypa/setuptools/commit/f285d01e2661b01e4947a4dca7704790b65f2967"><code>f285d01</code></a>
Implement PEP 643 (<code>Dynamic</code> field for core metadata) (<a
href="https://redirect.github.com/pypa/setuptools/issues/4698">#4698</a>)</li>
<li><a
href="https://github.com/pypa/setuptools/commit/a50f6e2e1e8b4610adde709079bec17ad0944197"><code>a50f6e2</code></a>
Fix _static.Dict.<strong>ior</strong> for Python 3.8</li>
<li><a
href="https://github.com/pypa/setuptools/commit/b055895fa337a6e03a29c2ea6493b6b778d2ba46"><code>b055895</code></a>
Add extra tests for static/dynamic metadata</li>
<li><a
href="https://github.com/pypa/setuptools/commit/770b4fc8f6248d862629028f5ee4218975f9516b"><code>770b4fc</code></a>
Remove test workaround for unmarked static values from
pyproject.toml</li>
<li><a
href="https://github.com/pypa/setuptools/commit/8b22d73be5e23a9611398d81aedc5164115940ce"><code>8b22d73</code></a>
Mark values from pyproject.toml as static</li>
<li><a
href="https://github.com/pypa/setuptools/commit/f699fd842e3ddedbe937ee33b0bd6ad28e735664"><code>f699fd8</code></a>
Fix spelling error</li>
<li><a
href="https://github.com/pypa/setuptools/commit/8b4c8a3c95f43d771d0fa6e4ebceea3436bc70f7"><code>8b4c8a3</code></a>
Add tests for static 'attr' directive</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/setuptools/compare/v70.1.0...v75.8.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>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants