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

Allow path objects for data-files #272

Merged
merged 18 commits into from
Jul 20, 2024
Merged

Allow path objects for data-files #272

merged 18 commits into from
Jul 20, 2024

Conversation

jaraco
Copy link
Member

@jaraco jaraco commented Jul 19, 2024

  • Allow path objects
  • Need to include 'three' in the input.
  • Consolidate str and Path handling.
  • Expand convert_path to also accept pathlib.Path objects.
  • Prefer simply 'pathlib' for import.
  • Extract a singledispatchmethod _copy for handling the copy of each data file.
  • Use explicit registration for compatibility with older Pythons.
  • Prefer os.PathLike in convert_path

@jaraco
Copy link
Member Author

jaraco commented Jul 19, 2024

It's not apparent from the tracebacks, because pytest is currently not doing assertion rewriting (pytest-dev/pytest#12044), but the tests are catching an emergent failure with this approach.

When one uses os.fspath(pathlib.WindowsPath('/foo')), it emits '\\foo'. Even str(pathlib.WindowsPath('/foo')) does the same.

That suggests that it's not possible in general to accept pathlib objects because users may use pathlib.Path on Windows, implying pathlib.WindowsPath, which will mangle the forward slashes to backslashes.

It does look like it may be possible to extract the Path._raw_path to get the raw underlying string, but that's a private variable and not accessible. It does also look like it might be possible to convert a WindowsPath to a PurePosixPath and that will give the forward slashes:

>>> pathlib.PurePosixPath(pathlib.Path('/home'))
PurePosixPath('/home')

Yucky, but maybe works.

@jaraco
Copy link
Member Author

jaraco commented Jul 19, 2024

Nope. Because casting to a PurePosixPath also strips the trailing slash:

>>> pathlib.PurePosixPath(pathlib.Path('/home/'))
PurePosixPath('/home')

So suppresses the check if a trailing slash was supplied.

The mere act of constructing a PurePosixPath strips any trailing slashes:

>>> pathlib.PurePosixPath('/home/')
PurePosixPath('/home')

This makes me wonder - how important is it to fail when a trailing slash has been supplied? If pathlib is silently stripping trailing slashes, maybe convert_path should do so too.

The more I think about it, the more I think that's the right approach, since users supplying pathlib.Path('foo/') will also get the stripping behavior.

Such a simple change so fraught with peril.

…Instead, trailing slashes are stripped just as they are with pathlib.Path.

Ref #272 (comment).
@jaraco
Copy link
Member Author

jaraco commented Jul 19, 2024

It's more complicated than I could have imagined. Now the tests are failing with:

_________________________ TestUtil.test_convert_path __________________________

self = <distutils.tests.test_util.TestUtil object at 0x000001BF8BCC6520>

    def test_convert_path(self):
        # linux/mac
        os.sep = '/'
        os.path.join = posixpath.join
    
        assert convert_path('/home/to/my/stuff') == '/home/to/my/stuff'
>       assert convert_path(pathlib.Path('/home/to/my/stuff')) == '/home/to/my/stuff'
E       AssertionError: assert '\\/home/to/my/stuff' == '/home/to/my/stuff'
E         
E         - /home/to/my/stuff
E         + \/home/to/my/stuff
E         ? +

distutils/tests/test_util.py:74: AssertionError

On Windows only.

But curiously, I don't encounter that behavior when I test it myself.

@jaraco
Copy link
Member Author

jaraco commented Jul 19, 2024

It seems that the behavior of one or more of os.fspath, pathlib.Path, or pathlib.PurePosixPath changed between Python 3.8 and 3.12:

 ~ @# py -3.12 -c "import pathlib, os; print(os.fspath(pathlib.PurePosixPath(pathlib.Path('/home/stuff'))))"
/home/stuff
 ~ @# py -3.8 -c "import pathlib, os; print(os.fspath(pathlib.PurePosixPath(pathlib.Path('/home/stuff'))))"
\/home/stuff

It's the construction of the PurePosixPath on Windows:

 ~ @# py -3.8 -c "import pathlib, os; print(pathlib.Path('/home/stuff'))"
\home\stuff
 ~ @# py -3.8 -c "import pathlib, os; print(pathlib.PurePosixPath(pathlib.Path('/home/stuff')))"
\/home/stuff

And that behavior remains through Python 3.11.

@jaraco
Copy link
Member Author

jaraco commented Jul 19, 2024

I'm going to have to sleep on this one. It's a tricky one.

@jaraco
Copy link
Member Author

jaraco commented Jul 20, 2024

I set out to try to understand when the behavior changed for PurePosixPath, and I suspect it was python/cpython#101362. I was thinking I might grab a backport of pathlib, such as pathlib2, but I can see it hasn't seen a release since well before the fix in Python 3.12. While reading that issue, however, I was reminded of the .as_posix() function, which may prove more reliable than os.fspath(pathlib.PurePosixPath(...)).

…lls `.as_posix()` on it.

This change will have the unintended effect of adding support for backslashes on Windows. Maybe that's fine, or maybe it should be prohibited.
@jaraco
Copy link
Member Author

jaraco commented Jul 20, 2024

With this latest change, tests are still failing... because ntpath.join('C:', 'Users') -> 'C:Users', which doesn't exist, so make_native('C:/Users') produces that invalid path and causes tests with absolute paths in them to fail. What's weird and annoying is that I don't know how this could have worked before.

Oh! I see. Tests like test_simple_run are generating cmd.data_files=[temp_path] where temp_path is an absolute path on Windows (with drive letter and backslash separators). In main, when that temp_path passes through convert_path, it's returned unchanged because 'C:\\Users'.split('/') is simply ['C:\\Users'] and so joins to itself. The tests are improperly exercising the wrong things.

  • it's passing absolute paths, which are meant to be disallowed, but since it includes the C: prefix, it's not detected as absolute.
  • it's using the wrong separator characters (it's supposed to be separated by posixpath.sep).

Test for convert_path no longer runs on all operating systems as it's too difficult (impossible) to monkeypatch PurePath reliably.
@jaraco
Copy link
Member Author

jaraco commented Jul 20, 2024

After what I've learned, I'm pretty confident that the convert_path function can be drastically simplified based on pathlib.

@jaraco jaraco merged commit 01f9af2 into main Jul 20, 2024
40 checks passed
@jaraco jaraco deleted the feature/pathlib-data-files branch July 20, 2024 21:18
jaraco added a commit that referenced this pull request Aug 2, 2024
…Instead, trailing slashes are stripped just as they are with pathlib.Path.

Ref #272 (comment).
jaraco added a commit that referenced this pull request Aug 2, 2024
DefinetlyNotAI added a commit to DefinetlyNotAI/Logicytics that referenced this pull request Aug 14, 2024
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>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>
<h1>v72.0.0</h1>
<h2>Deprecations and Removals</h2>
<ul>
<li>The test command has been removed. Users relying on 'setup.py test'
will need to migrate to another test runner or pin setuptools before
this version. (<a
href="https://redirect.github.com/pypa/setuptools/issues/931">#931</a>)</li>
</ul>
<h1>v71.1.0</h1>
<h2>Features</h2>
<ul>
<li>
<p>Added return types to typed public functions -- by
:user:<code>Avasam</code></p>
<p>Marked <code>pkg_resources</code> as <code>py.typed</code> -- by
:user:<code>Avasam</code> (<a
href="https://redirect.github.com/pypa/setuptools/issues/4409">#4409</a>)</p>
</li>
</ul>
<h2>Misc</h2>
<ul>
<li><a
href="https://redirect.github.com/pypa/setuptools/issues/4492">#4492</a></li>
</ul>
<h1>v71.0.4</h1>
<h2>Bugfixes</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/setuptools/commit/76942cfe9ab14b6d30eac50b9b3dff8cc9241b76"><code>76942cf</code></a>
Bump version: 72.1.0 → 72.2.0</li>
<li><a
href="https://github.com/pypa/setuptools/commit/780a782ccec6724fcec3f36de120fac07cb1fbba"><code>780a782</code></a>
Correct reference in news fragment. Ref <a
href="https://redirect.github.com/pypa/setuptools/issues/4539">#4539</a></li>
<li><a
href="https://github.com/pypa/setuptools/commit/64f10c582fa93b6d25328d5c6d7fa7d7c88dda1e"><code>64f10c5</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/setuptools/issues/4539">#4539</a>
from pypa/feature/distutils-b7ee725f3</li>
<li><a
href="https://github.com/pypa/setuptools/commit/d4ad24b09ed3fdeaef2e7f493e5446898fe5c504"><code>d4ad24b</code></a>
Add news fragment.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/0ab156c3e12054503a0dac0ce172e241262881f4"><code>0ab156c</code></a>
Merge <a
href="https://github.com/pypa/distutils">https://github.com/pypa/distutils</a></li>
<li><a
href="https://github.com/pypa/setuptools/commit/b7ee725f3a5ba336cfca89f55d8a3b7d3bf7d27b"><code>b7ee725</code></a>
Apply isort. Ref <a
href="https://redirect.github.com/pypa/distutils/issues/240">pypa/distutils#240</a></li>
<li><a
href="https://github.com/pypa/setuptools/commit/32e5fea1c5b5e407292494908dfca5d6195e426e"><code>32e5fea</code></a>
Rely on monkeysession to monkeypatch.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/5f79f228c9494886b61bc04f11e3d102e9ed582b"><code>5f79f22</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/distutils/issues/274">pypa/distutils#274</a>
from msys2-contrib/ci-msvc-python-mingw...</li>
<li><a
href="https://github.com/pypa/setuptools/commit/6748224d941e272c8ad6ae81a3c198f0b5f48ba6"><code>6748224</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/distutils/issues/273">pypa/distutils#273</a>
from msys2-contrib/tests-fix-venv_insta...</li>
<li><a
href="https://github.com/pypa/setuptools/commit/1f999b9c92f6850de5b9ba6be249324fed403103"><code>1f999b9</code></a>
Remove unused RangeMap</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/setuptools/compare/v72.1.0...v72.2.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>
jmertic pushed a commit to jmertic/landscape-tools that referenced this pull request Aug 19, 2024
Bumps [setuptools](https://github.com/pypa/setuptools) from 72.1.0 to
72.2.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>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>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/setuptools/commit/76942cfe9ab14b6d30eac50b9b3dff8cc9241b76"><code>76942cf</code></a>
Bump version: 72.1.0 → 72.2.0</li>
<li><a
href="https://github.com/pypa/setuptools/commit/780a782ccec6724fcec3f36de120fac07cb1fbba"><code>780a782</code></a>
Correct reference in news fragment. Ref <a
href="https://redirect.github.com/pypa/setuptools/issues/4539">#4539</a></li>
<li><a
href="https://github.com/pypa/setuptools/commit/64f10c582fa93b6d25328d5c6d7fa7d7c88dda1e"><code>64f10c5</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/setuptools/issues/4539">#4539</a>
from pypa/feature/distutils-b7ee725f3</li>
<li><a
href="https://github.com/pypa/setuptools/commit/d4ad24b09ed3fdeaef2e7f493e5446898fe5c504"><code>d4ad24b</code></a>
Add news fragment.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/0ab156c3e12054503a0dac0ce172e241262881f4"><code>0ab156c</code></a>
Merge <a
href="https://github.com/pypa/distutils">https://github.com/pypa/distutils</a></li>
<li><a
href="https://github.com/pypa/setuptools/commit/b7ee725f3a5ba336cfca89f55d8a3b7d3bf7d27b"><code>b7ee725</code></a>
Apply isort. Ref <a
href="https://redirect.github.com/pypa/distutils/issues/240">pypa/distutils#240</a></li>
<li><a
href="https://github.com/pypa/setuptools/commit/32e5fea1c5b5e407292494908dfca5d6195e426e"><code>32e5fea</code></a>
Rely on monkeysession to monkeypatch.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/5f79f228c9494886b61bc04f11e3d102e9ed582b"><code>5f79f22</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/distutils/issues/274">pypa/distutils#274</a>
from msys2-contrib/ci-msvc-python-mingw...</li>
<li><a
href="https://github.com/pypa/setuptools/commit/6748224d941e272c8ad6ae81a3c198f0b5f48ba6"><code>6748224</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/distutils/issues/273">pypa/distutils#273</a>
from msys2-contrib/tests-fix-venv_insta...</li>
<li><a
href="https://github.com/pypa/setuptools/commit/1f999b9c92f6850de5b9ba6be249324fed403103"><code>1f999b9</code></a>
Remove unused RangeMap</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/setuptools/compare/v72.1.0...v72.2.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=72.1.0&new-version=72.2.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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
DefinetlyNotAI added a commit to DefinetlyNotAI/Logicytics that referenced this pull request Aug 20, 2024
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>
github-actions bot pushed a commit to aio-libs/aiohttp that referenced this pull request Aug 21, 2024
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
&lt;https://github.com/pypa/setuptools/pull/4503&gt;</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] <support@github.com>
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 Aug 21, 2024
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
&lt;https://github.com/pypa/setuptools/pull/4503&gt;</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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
mergify bot pushed a commit to aws/jsii that referenced this pull request Aug 26, 2024
…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 &lt;https://github.com/pypa/setuptools/pull/4503&gt;</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>
github-merge-queue bot pushed a commit to openvinotoolkit/openvino that referenced this pull request Aug 26, 2024
….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
&lt;https://github.com/pypa/setuptools/pull/4503&gt;</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] <support@github.com>
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.

2 participants