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

gh-126565: Skip zipfile.Path.exists check in write mode #126576

Merged
merged 1 commit into from
Nov 10, 2024

Conversation

janhicken
Copy link
Contributor

@janhicken janhicken commented Nov 8, 2024

When zipfile.Path.open is called, the implementation will check whether the path already exists in the ZIP file. However, this check is only required when the ZIP file is in read mode. By swapping arguments of the and operator, the short-circuiting will prevent the check from being run in write mode.

This change will improve the performance of open(), because checking whether a file exists is slow in write mode, especially when the archive has many members.

Copy link

cpython-cla-bot bot commented Nov 8, 2024

All commit authors signed the Contributor License Agreement.
CLA signed

@ZeroIntensity ZeroIntensity added needs backport to 3.12 bug and security fixes needs backport to 3.13 bugs and security fixes labels Nov 8, 2024
When `zipfile.Path.open` is called, the implementation will check
whether the path already exists in the ZIP file. However, this check is
only required when the ZIP file is in read mode. By swapping arguments
of the `and` operator, the short-circuiting will prevent the check from
being run in write mode.

This change will improve the performance of `open()`, because checking
whether a file exists is slow in write mode, especially when the archive
has many members.
@jaraco jaraco merged commit 160758a into python:main Nov 10, 2024
40 checks passed
@miss-islington-app
Copy link

Thanks @janhicken for the PR, and @jaraco for merging it 🌮🎉.. I'm working now to backport this PR to: 3.12, 3.13.
🐍🍒⛏🤖

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Nov 10, 2024
…onGH-126576)

When `zipfile.Path.open` is called, the implementation will check
whether the path already exists in the ZIP file. However, this check is
only required when the ZIP file is in read mode. By swapping arguments
of the `and` operator, the short-circuiting will prevent the check from
being run in write mode.

This change will improve the performance of `open()`, because checking
whether a file exists is slow in write mode, especially when the archive
has many members.
(cherry picked from commit 160758a)

Co-authored-by: Jan Hicken <janhicken@users.noreply.github.com>
@bedevere-app
Copy link

bedevere-app bot commented Nov 10, 2024

GH-126642 is a backport of this pull request to the 3.13 branch.

@bedevere-app bedevere-app bot removed the needs backport to 3.13 bugs and security fixes label Nov 10, 2024
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Nov 10, 2024
…onGH-126576)

When `zipfile.Path.open` is called, the implementation will check
whether the path already exists in the ZIP file. However, this check is
only required when the ZIP file is in read mode. By swapping arguments
of the `and` operator, the short-circuiting will prevent the check from
being run in write mode.

This change will improve the performance of `open()`, because checking
whether a file exists is slow in write mode, especially when the archive
has many members.
(cherry picked from commit 160758a)

Co-authored-by: Jan Hicken <janhicken@users.noreply.github.com>
@jaraco
Copy link
Member

jaraco commented Nov 10, 2024

Looks great. I'll port this to zipp as well.

@bedevere-app
Copy link

bedevere-app bot commented Nov 10, 2024

GH-126643 is a backport of this pull request to the 3.12 branch.

@bedevere-app bedevere-app bot removed the needs backport to 3.12 bug and security fixes label Nov 10, 2024
jaraco pushed a commit to jaraco/zipp that referenced this pull request Nov 10, 2024
When `zipfile.Path.open` is called, the implementation will check
whether the path already exists in the ZIP file. However, this check is
only required when the ZIP file is in read mode. By swapping arguments
of the `and` operator, the short-circuiting will prevent the check from
being run in write mode.

This change will improve the performance of `open()`, because checking
whether a file exists is slow in write mode, especially when the archive
has many members.
jaraco pushed a commit that referenced this pull request Nov 10, 2024
…126576) (#126643)

gh-126565: Skip `zipfile.Path.exists` check in write mode (GH-126576)

When `zipfile.Path.open` is called, the implementation will check
whether the path already exists in the ZIP file. However, this check is
only required when the ZIP file is in read mode. By swapping arguments
of the `and` operator, the short-circuiting will prevent the check from
being run in write mode.

This change will improve the performance of `open()`, because checking
whether a file exists is slow in write mode, especially when the archive
has many members.
(cherry picked from commit 160758a)

Co-authored-by: Jan Hicken <janhicken@users.noreply.github.com>
jaraco pushed a commit that referenced this pull request Nov 10, 2024
…126576) (#126642)

gh-126565: Skip `zipfile.Path.exists` check in write mode (GH-126576)

When `zipfile.Path.open` is called, the implementation will check
whether the path already exists in the ZIP file. However, this check is
only required when the ZIP file is in read mode. By swapping arguments
of the `and` operator, the short-circuiting will prevent the check from
being run in write mode.

This change will improve the performance of `open()`, because checking
whether a file exists is slow in write mode, especially when the archive
has many members.
(cherry picked from commit 160758a)

Co-authored-by: Jan Hicken <janhicken@users.noreply.github.com>
github-merge-queue bot pushed a commit to google/scaaml that referenced this pull request Nov 11, 2024
Bumps the dependabot group with 4 updates:
[packaging](https://github.com/pypa/packaging),
[wheel](https://github.com/pypa/wheel),
[zipp](https://github.com/jaraco/zipp) and
[tqdm](https://github.com/tqdm/tqdm).

Updates `packaging` from 24.1 to 24.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/packaging/releases">packaging's
releases</a>.</em></p>
<blockquote>
<h2>24.2</h2>
<h2>What's Changed</h2>
<ul>
<li>The source is auto-formatted with ruff, not black by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/798">pypa/packaging#798</a></li>
<li>Bump the github-actions group across 1 directory with 3 updates by
<a href="https://github.com/dependabot"><code>@​dependabot</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/813">pypa/packaging#813</a></li>
<li>Apply ruff rules (RUF) by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/800">pypa/packaging#800</a></li>
<li>Fix typo in Version <code>__str__</code> by <a
href="https://github.com/aryanpingle"><code>@​aryanpingle</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/817">pypa/packaging#817</a></li>
<li>Bump the github-actions group with 3 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/819">pypa/packaging#819</a></li>
<li>Get rid of duplicate test cases by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/821">pypa/packaging#821</a></li>
<li>Fix doc for canonicalize_version and a typo in a docstring by <a
href="https://github.com/Laurent-Dx"><code>@​Laurent-Dx</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/801">pypa/packaging#801</a></li>
<li>docs: public/base_version comparison by <a
href="https://github.com/henryiii"><code>@​henryiii</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/818">pypa/packaging#818</a></li>
<li>Apply ruff/bugbear rules (B) by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/787">pypa/packaging#787</a></li>
<li>Apply ruff/pyupgrade rules (UP) by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/786">pypa/packaging#786</a></li>
<li>Add a changelog entry for dropping Python 3.7 support by <a
href="https://github.com/alexwlchan"><code>@​alexwlchan</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/824">pypa/packaging#824</a></li>
<li>Patch python_full_version unconditionally by <a
href="https://github.com/jaraco"><code>@​jaraco</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/825">pypa/packaging#825</a></li>
<li>Refactor canonicalize_version by <a
href="https://github.com/jaraco"><code>@​jaraco</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/793">pypa/packaging#793</a></li>
<li>Allow creating a SpecifierSet from a list of specifiers by <a
href="https://github.com/pfmoore"><code>@​pfmoore</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/777">pypa/packaging#777</a></li>
<li>Fix uninformative error message by <a
href="https://github.com/abravalheri"><code>@​abravalheri</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/830">pypa/packaging#830</a></li>
<li>Fix prerelease detection for <code>&gt;</code> and <code>&lt;</code>
by <a
href="https://github.com/notatallshaw"><code>@​notatallshaw</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/794">pypa/packaging#794</a></li>
<li>Bump the github-actions group across 1 directory with 4 updates by
<a href="https://github.com/dependabot"><code>@​dependabot</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/839">pypa/packaging#839</a></li>
<li>Add support for PEP 730 iOS tags. by <a
href="https://github.com/freakboy3742"><code>@​freakboy3742</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/832">pypa/packaging#832</a></li>
<li>Update the changelog to reflect 24.1 changes by <a
href="https://github.com/pradyunsg"><code>@​pradyunsg</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/840">pypa/packaging#840</a></li>
<li>Mention updating changelog in release process by <a
href="https://github.com/pradyunsg"><code>@​pradyunsg</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/841">pypa/packaging#841</a></li>
<li>Add a comment as to why <code>Metadata.name</code> isn't normalized
by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/842">pypa/packaging#842</a></li>
<li>Use !r formatter for error messages with filenames. by <a
href="https://github.com/Carreau"><code>@​Carreau</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/844">pypa/packaging#844</a></li>
<li>PEP 639: Implement License-Expression and License-File by <a
href="https://github.com/ewdurbin"><code>@​ewdurbin</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/828">pypa/packaging#828</a></li>
<li>Bump the github-actions group with 4 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/852">pypa/packaging#852</a></li>
<li>Upgrade to latest mypy by <a
href="https://github.com/hauntsaninja"><code>@​hauntsaninja</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/853">pypa/packaging#853</a></li>
<li>Extraneous quotes by <a
href="https://github.com/ewdurbin"><code>@​ewdurbin</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/848">pypa/packaging#848</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/aryanpingle"><code>@​aryanpingle</code></a>
made their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/817">pypa/packaging#817</a></li>
<li><a
href="https://github.com/Laurent-Dx"><code>@​Laurent-Dx</code></a> made
their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/801">pypa/packaging#801</a></li>
<li><a
href="https://github.com/alexwlchan"><code>@​alexwlchan</code></a> made
their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/824">pypa/packaging#824</a></li>
<li><a href="https://github.com/jaraco"><code>@​jaraco</code></a> made
their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/825">pypa/packaging#825</a></li>
<li><a
href="https://github.com/notatallshaw"><code>@​notatallshaw</code></a>
made their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/794">pypa/packaging#794</a></li>
<li><a
href="https://github.com/freakboy3742"><code>@​freakboy3742</code></a>
made their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/832">pypa/packaging#832</a></li>
<li><a href="https://github.com/Carreau"><code>@​Carreau</code></a> made
their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/844">pypa/packaging#844</a></li>
<li><a href="https://github.com/ewdurbin"><code>@​ewdurbin</code></a>
made their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/828">pypa/packaging#828</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pypa/packaging/compare/24.1...24.2">https://github.com/pypa/packaging/compare/24.1...24.2</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/packaging/blob/main/CHANGELOG.rst">packaging's
changelog</a>.</em></p>
<blockquote>
<p>24.2 - 2024-11-08</p>
<pre><code>
* PEP 639: Implement License-Expression and License-File (:issue:`828`)
* Use ``!r`` formatter for error messages with filenames (:issue:`844`)
* Add support for PEP 730 iOS tags (:issue:`832`)
* Fix prerelease detection for ``&gt;`` and ``&lt;`` (:issue:`794`)
* Fix uninformative error message (:issue:`830`)
* Refactor ``canonicalize_version`` (:issue:`793`)
* Patch python_full_version unconditionally (:issue:`825`)
* Fix doc for ``canonicalize_version`` to mention
``strip_trailing_zero`` and a typo in a docstring (:issue:`801`)
* Fix typo in Version ``__str__`` (:issue:`817`)
* Support creating a ``SpecifierSet`` from an iterable of ``Specifier``
objects (:issue:`775`)
</code></pre>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/packaging/commit/d8e3b31b734926ebbcaff654279f6855a73e052f"><code>d8e3b31</code></a>
Bump for release</li>
<li><a
href="https://github.com/pypa/packaging/commit/2de393d910926a0408496ac5583f733c4b9f0f5e"><code>2de393d</code></a>
Update changelog for release</li>
<li><a
href="https://github.com/pypa/packaging/commit/9c66f5c844bf3262f560c1521a0e6837079b16ff"><code>9c66f5c</code></a>
Remove extraneous quotes in f-strings by using <code>!r</code> (<a
href="https://redirect.github.com/pypa/packaging/issues/848">#848</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/4dc334c86d43f83371b194ca91618ed99e0e49ca"><code>4dc334c</code></a>
Upgrade to latest mypy (<a
href="https://redirect.github.com/pypa/packaging/issues/853">#853</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/d1a9f938343de11f7322151c1f6de25cbb61718b"><code>d1a9f93</code></a>
Bump the github-actions group with 4 updates (<a
href="https://redirect.github.com/pypa/packaging/issues/852">#852</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/029f41580098bcf52b69684843bdc7ea37959a7e"><code>029f415</code></a>
PEP 639: Implement License-Expression and License-File (<a
href="https://redirect.github.com/pypa/packaging/issues/828">#828</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/6c338a8425803476769151953cc5de5548e2befa"><code>6c338a8</code></a>
Use !r formatter for error messages with filenames. (<a
href="https://redirect.github.com/pypa/packaging/issues/844">#844</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/28e7da78f6f73b4856260e24051b35a4517c0149"><code>28e7da7</code></a>
Add a comment as to why <code>Metadata.name</code> isn't normalized (<a
href="https://redirect.github.com/pypa/packaging/issues/842">#842</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/ce0d79c5ab6d27e856a059fbc24c0b0a7c9d8581"><code>ce0d79c</code></a>
Mention updating changelog in release process (<a
href="https://redirect.github.com/pypa/packaging/issues/841">#841</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/ac5bdf3605ddcbfa1f672f7cf93a19fd6d3d77ea"><code>ac5bdf3</code></a>
Update the changelog to reflect 24.1 changes (<a
href="https://redirect.github.com/pypa/packaging/issues/840">#840</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/packaging/compare/24.1...24.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `wheel` from 0.44.0 to 0.45.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/wheel/releases">wheel's
releases</a>.</em></p>
<blockquote>
<h2>0.45.0</h2>
<ul>
<li>
<p>Refactored the <code>convert</code> command to not need setuptools to
be installed</p>
</li>
<li>
<p>Don't configure setuptools logging unless running
<code>bdist_wheel</code></p>
</li>
<li>
<p>Added a redirection from <code>wheel.bdist_wheel.bdist_wheel</code>
to <code>setuptools.command.bdist_wheel.bdist_wheel</code> to improve
compatibility with <code>setuptools</code>' latest fixes.</p>
<p>Projects are still advised to migrate away from the deprecated module
and import the <code>setuptools</code>' implementation explicitly. (PR
by <a
href="https://github.com/abravalheri"><code>@​abravalheri</code></a>)</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/wheel/blob/main/docs/news.rst">wheel's
changelog</a>.</em></p>
<blockquote>
<h1>Release Notes</h1>
<p><strong>0.45.0 (2024-11-08)</strong></p>
<ul>
<li>
<p>Refactored the <code>convert</code> command to not need setuptools to
be installed</p>
</li>
<li>
<p>Don't configure setuptools logging unless running
<code>bdist_wheel</code></p>
</li>
<li>
<p>Added a redirection from <code>wheel.bdist_wheel.bdist_wheel</code>
to
<code>setuptools.command.bdist_wheel.bdist_wheel</code> to improve
compatibility with
<code>setuptools</code>' latest fixes.</p>
<p>Projects are still advised to migrate away from the deprecated module
and import
the <code>setuptools</code>' implementation explicitly. (PR by <a
href="https://github.com/abravalheri"><code>@​abravalheri</code></a>)</p>
</li>
</ul>
<p><strong>0.44.0 (2024-08-04)</strong></p>
<ul>
<li>Canonicalized requirements in METADATA file (PR by Wim
Jeantine-Glenn)</li>
<li>Deprecated the <code>bdist_wheel</code> module, as the code was
migrated to <code>setuptools</code>
itself</li>
</ul>
<p><strong>0.43.0 (2024-03-11)</strong></p>
<ul>
<li>Dropped support for Python 3.7</li>
<li>Updated vendored <code>packaging</code> to 24.0</li>
</ul>
<p><strong>0.42.0 (2023-11-26)</strong></p>
<ul>
<li>Allowed removing build tag with <code>wheel tags --build
&quot;&quot;</code></li>
<li>Fixed <code>wheel pack</code> and <code>wheel tags</code> writing
updated <code>WHEEL</code> fields after a
blank line, causing other tools to ignore them</li>
<li>Fixed <code>wheel pack</code> and <code>wheel tags</code> writing
<code>WHEEL</code> with CRLF line endings or
a mix of CRLF and LF</li>
<li>Fixed <code>wheel pack --build-number &quot;&quot;</code> not
removing build tag from <code>WHEEL</code>
(above changes by Benjamin Gilbert)</li>
</ul>
<p><strong>0.41.3 (2023-10-30)</strong></p>
<ul>
<li>Updated vendored <code>packaging</code> to 23.2</li>
<li>Fixed ABI tag generation for CPython 3.13a1 on Windows (PR by Sam
Gross)</li>
</ul>
<p><strong>0.41.2 (2023-08-22)</strong></p>
<ul>
<li>Fixed platform tag detection for GraalPy and 32-bit python running
on an aarch64
kernel (PR by Matthieu Darbois)</li>
<li>Fixed <code>wheel tags</code> to not list directories in
<code>RECORD</code> files
(PR by Mike Taves)</li>
<li>Fixed ABI tag generation for GraalPy (PR by Michael Simacek)</li>
</ul>
<p><strong>0.41.1 (2023-08-05)</strong></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/wheel/commit/d78f0e372199f8294556345d867af4d3cf118418"><code>d78f0e3</code></a>
Created a new release</li>
<li><a
href="https://github.com/pypa/wheel/commit/f064c699209e36ec2948537b7cadabf84a110c30"><code>f064c69</code></a>
Added license files for vendored <code>packaging</code></li>
<li><a
href="https://github.com/pypa/wheel/commit/68387afcd33cb514a4da811d2fc5de73c8797e48"><code>68387af</code></a>
Only configure setuptools logging if bdist_wheel is imported (<a
href="https://redirect.github.com/pypa/wheel/issues/641">#641</a>)</li>
<li><a
href="https://github.com/pypa/wheel/commit/c81f5c954a8ca7698e6df9de39cf0013295949fa"><code>c81f5c9</code></a>
Refactored the <code>wheel convert</code> command to not require
setuptools (<a
href="https://redirect.github.com/pypa/wheel/issues/640">#640</a>)</li>
<li><a
href="https://github.com/pypa/wheel/commit/e43464d32feaddddb235ffe21b4bf13c1193465d"><code>e43464d</code></a>
Adjusted target Python versions in GitHub CI</li>
<li><a
href="https://github.com/pypa/wheel/commit/e9894e71bc62e5808710bc8c2c268de51aef52d4"><code>e9894e7</code></a>
Tweaked pytest settings to make the tracebacks easier to read</li>
<li><a
href="https://github.com/pypa/wheel/commit/baf6bf89562cb42a0ca71cc1e804600b161952eb"><code>baf6bf8</code></a>
Removed Cirrus CI configuration</li>
<li><a
href="https://github.com/pypa/wheel/commit/28c1ba1e2a6d08edc03c73e29293a571888981f9"><code>28c1ba1</code></a>
Improved compatibility with future versions of <code>setuptools</code>
(<a
href="https://redirect.github.com/pypa/wheel/issues/638">#638</a>)</li>
<li><a
href="https://github.com/pypa/wheel/commit/9254a4f9f8d9475c9f4d00a854694ddf1834ba5b"><code>9254a4f</code></a>
Exclude <code>@overload</code> and <code>if TYPE_CHECKING:</code> from
coverage checks</li>
<li><a
href="https://github.com/pypa/wheel/commit/d841597258d04f10346fbcc0ce95f9278b38ef08"><code>d841597</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/pypa/wheel/issues/635">#635</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/wheel/compare/0.44.0...0.45.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `zipp` from 3.20.0 to 3.21.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jaraco/zipp/blob/main/NEWS.rst">zipp's
changelog</a>.</em></p>
<blockquote>
<h1>v3.21.0</h1>
<h2>Features</h2>
<ul>
<li>Improve performances of :meth:<code>zipfile.Path.open</code> for
non-reading modes. (1a1928d)</li>
<li>Rely on cached_property to cache values on the instance.</li>
<li>Rely on save_method_args to save method args.</li>
</ul>
<h1>v3.20.2</h1>
<h2>Bugfixes</h2>
<ul>
<li>Make zipp.compat.overlay.zipfile hashable. (<a
href="https://redirect.github.com/jaraco/zipp/issues/126">#126</a>)</li>
</ul>
<h1>v3.20.1</h1>
<h2>Bugfixes</h2>
<ul>
<li><code>python/cpython#123270</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jaraco/zipp/commit/45b7f675c0bcaa4f3f9d15b4399fc71e74f2408c"><code>45b7f67</code></a>
Finalize</li>
<li><a
href="https://github.com/jaraco/zipp/commit/71ddd8d4f4ab200af870f0060d9ee8c6b7056681"><code>71ddd8d</code></a>
Skip
<code>zipfile.Path.exists</code><code>python/cpython#126576</code></li>
<li><a
href="https://github.com/jaraco/zipp/commit/9a2705ee2a376a948f1e89320c8c7356829a42eb"><code>9a2705e</code></a>
Merge <a
href="https://github.com/jaraco/skeleton">https://github.com/jaraco/skeleton</a></li>
<li><a
href="https://github.com/jaraco/zipp/commit/5c34e69568f23a524af4fa9dad3f5e80f22ec3e6"><code>5c34e69</code></a>
Use extend for proper workaround.</li>
<li><a
href="https://github.com/jaraco/zipp/commit/ee027f698c9cc629fb0018bc55cbb73267db2817"><code>ee027f6</code></a>
Merge <a
href="https://github.com/jaraco/skeleton">https://github.com/jaraco/skeleton</a></li>
<li><a
href="https://github.com/jaraco/zipp/commit/750a1891ec4a1c0602050e3463e9593a8c13aa14"><code>750a189</code></a>
Require Python 3.9 or later now that Python 3.8 is EOL.</li>
<li><a
href="https://github.com/jaraco/zipp/commit/e61a9df7cdc9c8d1b56c30b7b3f94a7cdac14414"><code>e61a9df</code></a>
Include pyproject.toml in ruff.toml.</li>
<li><a
href="https://github.com/jaraco/zipp/commit/db4dfc495552aca8d6f05ed58441fa65fdc2ed9c"><code>db4dfc4</code></a><code>jaraco/skeleton#151</code></li>
<li><a
href="https://github.com/jaraco/zipp/commit/62b6678a32087ed3bfc8ff19761764340295834e"><code>62b6678</code></a>
Bump pre-commit hook for ruff to avoid clashes with pytest-ruff
(jaraco/skele...</li>
<li><a
href="https://github.com/jaraco/zipp/commit/466f53538bd84cefcca39c5a42775fef6a1bf346"><code>466f535</code></a>
Merge pull request <a
href="https://redirect.github.com/jaraco/zipp/issues/109">#109</a> from
jaraco/feature/functools</li>
<li>Additional commits viewable in <a
href="https://github.com/jaraco/zipp/compare/v3.20.0...v3.21.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `tqdm` from 4.66.5 to 4.67.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tqdm/tqdm/releases">tqdm's
releases</a>.</em></p>
<blockquote>
<h2>tqdm v4.67.0 stable</h2>
<ul>
<li><code>contrib.discord</code>: replace <code>disco-py</code> with
<code>requests</code> (<a
href="https://redirect.github.com/tqdm/tqdm/issues/1536">#1536</a>)</li>
</ul>
<h2>tqdm v4.66.6 stable</h2>
<ul>
<li>cli: zip-safe <code>--manpath</code>, <code>--comppath</code> (<a
href="https://redirect.github.com/tqdm/tqdm/issues/1627">#1627</a>)</li>
<li>misc framework updates (<a
href="https://redirect.github.com/tqdm/tqdm/issues/1627">#1627</a>)
<ul>
<li>fix <code>pytest</code> <code>DeprecationWarning</code></li>
<li>fix <code>snapcraft</code> build</li>
<li>fix <code>nbval</code> <code>DeprecationWarning</code></li>
<li>update &amp; tidy workflows</li>
<li>bump pre-commit</li>
<li>docs: update URLs</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/tqdm/tqdm/commit/35a6ee9a4527bab5c0c7234531269e0c7fd0f2fd"><code>35a6ee9</code></a>
bump version, merge pull request <a
href="https://redirect.github.com/tqdm/tqdm/issues/1536">#1536</a> from
guigoruiz1</li>
<li><a
href="https://github.com/tqdm/tqdm/commit/8aa9470e485a90679936d3781a4f953cf5afa8f4"><code>8aa9470</code></a>
add discord requests dep</li>
<li><a
href="https://github.com/tqdm/tqdm/commit/1db24b4ff442c43752cf56a55b1782998c76801c"><code>1db24b4</code></a>
better user-agent</li>
<li><a
href="https://github.com/tqdm/tqdm/commit/61365d8321ae4ca433d2c6cda770a73a8e0e62cb"><code>61365d8</code></a>
handle rate limit</li>
<li><a
href="https://github.com/tqdm/tqdm/commit/670840021ddea4908a2e68144ce6c009d7e16e96"><code>6708400</code></a>
use requests.Session</li>
<li><a
href="https://github.com/tqdm/tqdm/commit/f1129e70c9983c527413e50e63016d4d885c51d3"><code>f1129e7</code></a>
restore original docs, misc linting</li>
<li><a
href="https://github.com/tqdm/tqdm/commit/03b90e444ed18b88aed710371309c271c25ac391"><code>03b90e4</code></a>
Using correct user agent</li>
<li><a
href="https://github.com/tqdm/tqdm/commit/b78efea5903a5f511a3bb22f8de32340ca4b954b"><code>b78efea</code></a>
Using REST API directly</li>
<li><a
href="https://github.com/tqdm/tqdm/commit/5b84012637e1fa6b5fec1b5ce0ac4d7c08eef5fe"><code>5b84012</code></a>
bump version, merge pull request <a
href="https://redirect.github.com/tqdm/tqdm/issues/1627">#1627</a> from
tqdm/devel</li>
<li><a
href="https://github.com/tqdm/tqdm/commit/0a439b5289b28e0a511b16fd10005d44b06cfbde"><code>0a439b5</code></a>
tests: fix nbval DeprecationWarning</li>
<li>Additional commits viewable in <a
href="https://github.com/tqdm/tqdm/compare/v4.66.5...v4.67.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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
github-merge-queue bot pushed a commit to mozilla/experimenter that referenced this pull request Nov 12, 2024
…11741)

Bumps [zipp](https://github.com/jaraco/zipp) from 3.20.0 to 3.21.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jaraco/zipp/blob/main/NEWS.rst">zipp's
changelog</a>.</em></p>
<blockquote>
<h1>v3.21.0</h1>
<h2>Features</h2>
<ul>
<li>Improve performances of :meth:<code>zipfile.Path.open</code> for
non-reading modes. (1a1928d)</li>
<li>Rely on cached_property to cache values on the instance.</li>
<li>Rely on save_method_args to save method args.</li>
</ul>
<h1>v3.20.2</h1>
<h2>Bugfixes</h2>
<ul>
<li>Make zipp.compat.overlay.zipfile hashable. (<a
href="https://redirect.github.com/jaraco/zipp/issues/126">#126</a>)</li>
</ul>
<h1>v3.20.1</h1>
<h2>Bugfixes</h2>
<ul>
<li><code>python/cpython#123270</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jaraco/zipp/commit/45b7f675c0bcaa4f3f9d15b4399fc71e74f2408c"><code>45b7f67</code></a>
Finalize</li>
<li><a
href="https://github.com/jaraco/zipp/commit/71ddd8d4f4ab200af870f0060d9ee8c6b7056681"><code>71ddd8d</code></a>
Skip
<code>zipfile.Path.exists</code><code>python/cpython#126576</code></li>
<li><a
href="https://github.com/jaraco/zipp/commit/9a2705ee2a376a948f1e89320c8c7356829a42eb"><code>9a2705e</code></a>
Merge <a
href="https://github.com/jaraco/skeleton">https://github.com/jaraco/skeleton</a></li>
<li><a
href="https://github.com/jaraco/zipp/commit/5c34e69568f23a524af4fa9dad3f5e80f22ec3e6"><code>5c34e69</code></a>
Use extend for proper workaround.</li>
<li><a
href="https://github.com/jaraco/zipp/commit/ee027f698c9cc629fb0018bc55cbb73267db2817"><code>ee027f6</code></a>
Merge <a
href="https://github.com/jaraco/skeleton">https://github.com/jaraco/skeleton</a></li>
<li><a
href="https://github.com/jaraco/zipp/commit/750a1891ec4a1c0602050e3463e9593a8c13aa14"><code>750a189</code></a>
Require Python 3.9 or later now that Python 3.8 is EOL.</li>
<li><a
href="https://github.com/jaraco/zipp/commit/e61a9df7cdc9c8d1b56c30b7b3f94a7cdac14414"><code>e61a9df</code></a>
Include pyproject.toml in ruff.toml.</li>
<li><a
href="https://github.com/jaraco/zipp/commit/db4dfc495552aca8d6f05ed58441fa65fdc2ed9c"><code>db4dfc4</code></a><code>jaraco/skeleton#151</code></li>
<li><a
href="https://github.com/jaraco/zipp/commit/62b6678a32087ed3bfc8ff19761764340295834e"><code>62b6678</code></a>
Bump pre-commit hook for ruff to avoid clashes with pytest-ruff
(jaraco/skele...</li>
<li><a
href="https://github.com/jaraco/zipp/commit/466f53538bd84cefcca39c5a42775fef6a1bf346"><code>466f535</code></a>
Merge pull request <a
href="https://redirect.github.com/jaraco/zipp/issues/109">#109</a> from
jaraco/feature/functools</li>
<li>Additional commits viewable in <a
href="https://github.com/jaraco/zipp/compare/v3.20.0...v3.21.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zipp&package-manager=pip&previous-version=3.20.0&new-version=3.21.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 will merge this PR once it's up-to-date and CI passes on it,
as requested by @jaredlockhart.

[//]: # (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-merge-queue bot pushed a commit to google/sedpack that referenced this pull request Nov 18, 2024
Bumps the dependabot group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [packaging](https://github.com/pypa/packaging) | `24.1` | `24.2` |
| [tomli](https://github.com/hukkin/tomli) | `2.0.1` | `2.1.0` |
| [wheel](https://github.com/pypa/wheel) | `0.44.0` | `0.45.0` |
| [zipp](https://github.com/jaraco/zipp) | `3.20.0` | `3.21.0` |
| [pip](https://github.com/pypa/pip) | `24.2` | `24.3.1` |
| [setuptools](https://github.com/pypa/setuptools) | `75.2.0` | `75.5.0`
|
| [mypy](https://github.com/python/mypy) | `1.12.1` | `1.13.0` |


Updates `packaging` from 24.1 to 24.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/packaging/releases">packaging's
releases</a>.</em></p>
<blockquote>
<h2>24.2</h2>
<h2>What's Changed</h2>
<ul>
<li>The source is auto-formatted with ruff, not black by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/798">pypa/packaging#798</a></li>
<li>Bump the github-actions group across 1 directory with 3 updates by
<a href="https://github.com/dependabot"><code>@​dependabot</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/813">pypa/packaging#813</a></li>
<li>Apply ruff rules (RUF) by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/800">pypa/packaging#800</a></li>
<li>Fix typo in Version <code>__str__</code> by <a
href="https://github.com/aryanpingle"><code>@​aryanpingle</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/817">pypa/packaging#817</a></li>
<li>Bump the github-actions group with 3 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/819">pypa/packaging#819</a></li>
<li>Get rid of duplicate test cases by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/821">pypa/packaging#821</a></li>
<li>Fix doc for canonicalize_version and a typo in a docstring by <a
href="https://github.com/Laurent-Dx"><code>@​Laurent-Dx</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/801">pypa/packaging#801</a></li>
<li>docs: public/base_version comparison by <a
href="https://github.com/henryiii"><code>@​henryiii</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/818">pypa/packaging#818</a></li>
<li>Apply ruff/bugbear rules (B) by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/787">pypa/packaging#787</a></li>
<li>Apply ruff/pyupgrade rules (UP) by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/786">pypa/packaging#786</a></li>
<li>Add a changelog entry for dropping Python 3.7 support by <a
href="https://github.com/alexwlchan"><code>@​alexwlchan</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/824">pypa/packaging#824</a></li>
<li>Patch python_full_version unconditionally by <a
href="https://github.com/jaraco"><code>@​jaraco</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/825">pypa/packaging#825</a></li>
<li>Refactor canonicalize_version by <a
href="https://github.com/jaraco"><code>@​jaraco</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/793">pypa/packaging#793</a></li>
<li>Allow creating a SpecifierSet from a list of specifiers by <a
href="https://github.com/pfmoore"><code>@​pfmoore</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/777">pypa/packaging#777</a></li>
<li>Fix uninformative error message by <a
href="https://github.com/abravalheri"><code>@​abravalheri</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/830">pypa/packaging#830</a></li>
<li>Fix prerelease detection for <code>&gt;</code> and <code>&lt;</code>
by <a
href="https://github.com/notatallshaw"><code>@​notatallshaw</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/794">pypa/packaging#794</a></li>
<li>Bump the github-actions group across 1 directory with 4 updates by
<a href="https://github.com/dependabot"><code>@​dependabot</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/839">pypa/packaging#839</a></li>
<li>Add support for PEP 730 iOS tags. by <a
href="https://github.com/freakboy3742"><code>@​freakboy3742</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/832">pypa/packaging#832</a></li>
<li>Update the changelog to reflect 24.1 changes by <a
href="https://github.com/pradyunsg"><code>@​pradyunsg</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/840">pypa/packaging#840</a></li>
<li>Mention updating changelog in release process by <a
href="https://github.com/pradyunsg"><code>@​pradyunsg</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/841">pypa/packaging#841</a></li>
<li>Add a comment as to why <code>Metadata.name</code> isn't normalized
by <a
href="https://github.com/brettcannon"><code>@​brettcannon</code></a> in
<a
href="https://redirect.github.com/pypa/packaging/pull/842">pypa/packaging#842</a></li>
<li>Use !r formatter for error messages with filenames. by <a
href="https://github.com/Carreau"><code>@​Carreau</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/844">pypa/packaging#844</a></li>
<li>PEP 639: Implement License-Expression and License-File by <a
href="https://github.com/ewdurbin"><code>@​ewdurbin</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/828">pypa/packaging#828</a></li>
<li>Bump the github-actions group with 4 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/852">pypa/packaging#852</a></li>
<li>Upgrade to latest mypy by <a
href="https://github.com/hauntsaninja"><code>@​hauntsaninja</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/853">pypa/packaging#853</a></li>
<li>Extraneous quotes by <a
href="https://github.com/ewdurbin"><code>@​ewdurbin</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/848">pypa/packaging#848</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/aryanpingle"><code>@​aryanpingle</code></a>
made their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/817">pypa/packaging#817</a></li>
<li><a
href="https://github.com/Laurent-Dx"><code>@​Laurent-Dx</code></a> made
their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/801">pypa/packaging#801</a></li>
<li><a
href="https://github.com/alexwlchan"><code>@​alexwlchan</code></a> made
their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/824">pypa/packaging#824</a></li>
<li><a href="https://github.com/jaraco"><code>@​jaraco</code></a> made
their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/825">pypa/packaging#825</a></li>
<li><a
href="https://github.com/notatallshaw"><code>@​notatallshaw</code></a>
made their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/794">pypa/packaging#794</a></li>
<li><a
href="https://github.com/freakboy3742"><code>@​freakboy3742</code></a>
made their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/832">pypa/packaging#832</a></li>
<li><a href="https://github.com/Carreau"><code>@​Carreau</code></a> made
their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/844">pypa/packaging#844</a></li>
<li><a href="https://github.com/ewdurbin"><code>@​ewdurbin</code></a>
made their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/828">pypa/packaging#828</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pypa/packaging/compare/24.1...24.2">https://github.com/pypa/packaging/compare/24.1...24.2</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/packaging/blob/main/CHANGELOG.rst">packaging's
changelog</a>.</em></p>
<blockquote>
<p>24.2 - 2024-11-08</p>
<pre><code>
* PEP 639: Implement License-Expression and License-File (:issue:`828`)
* Use ``!r`` formatter for error messages with filenames (:issue:`844`)
* Add support for PEP 730 iOS tags (:issue:`832`)
* Fix prerelease detection for ``&gt;`` and ``&lt;`` (:issue:`794`)
* Fix uninformative error message (:issue:`830`)
* Refactor ``canonicalize_version`` (:issue:`793`)
* Patch python_full_version unconditionally (:issue:`825`)
* Fix doc for ``canonicalize_version`` to mention
``strip_trailing_zero`` and a typo in a docstring (:issue:`801`)
* Fix typo in Version ``__str__`` (:issue:`817`)
* Support creating a ``SpecifierSet`` from an iterable of ``Specifier``
objects (:issue:`775`)
</code></pre>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/packaging/commit/d8e3b31b734926ebbcaff654279f6855a73e052f"><code>d8e3b31</code></a>
Bump for release</li>
<li><a
href="https://github.com/pypa/packaging/commit/2de393d910926a0408496ac5583f733c4b9f0f5e"><code>2de393d</code></a>
Update changelog for release</li>
<li><a
href="https://github.com/pypa/packaging/commit/9c66f5c844bf3262f560c1521a0e6837079b16ff"><code>9c66f5c</code></a>
Remove extraneous quotes in f-strings by using <code>!r</code> (<a
href="https://redirect.github.com/pypa/packaging/issues/848">#848</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/4dc334c86d43f83371b194ca91618ed99e0e49ca"><code>4dc334c</code></a>
Upgrade to latest mypy (<a
href="https://redirect.github.com/pypa/packaging/issues/853">#853</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/d1a9f938343de11f7322151c1f6de25cbb61718b"><code>d1a9f93</code></a>
Bump the github-actions group with 4 updates (<a
href="https://redirect.github.com/pypa/packaging/issues/852">#852</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/029f41580098bcf52b69684843bdc7ea37959a7e"><code>029f415</code></a>
PEP 639: Implement License-Expression and License-File (<a
href="https://redirect.github.com/pypa/packaging/issues/828">#828</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/6c338a8425803476769151953cc5de5548e2befa"><code>6c338a8</code></a>
Use !r formatter for error messages with filenames. (<a
href="https://redirect.github.com/pypa/packaging/issues/844">#844</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/28e7da78f6f73b4856260e24051b35a4517c0149"><code>28e7da7</code></a>
Add a comment as to why <code>Metadata.name</code> isn't normalized (<a
href="https://redirect.github.com/pypa/packaging/issues/842">#842</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/ce0d79c5ab6d27e856a059fbc24c0b0a7c9d8581"><code>ce0d79c</code></a>
Mention updating changelog in release process (<a
href="https://redirect.github.com/pypa/packaging/issues/841">#841</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/ac5bdf3605ddcbfa1f672f7cf93a19fd6d3d77ea"><code>ac5bdf3</code></a>
Update the changelog to reflect 24.1 changes (<a
href="https://redirect.github.com/pypa/packaging/issues/840">#840</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/packaging/compare/24.1...24.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `tomli` from 2.0.1 to 2.1.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/hukkin/tomli/blob/master/CHANGELOG.md">tomli's
changelog</a>.</em></p>
<blockquote>
<h2>2.1.0</h2>
<ul>
<li>Deprecated
<ul>
<li>Instantiating <code>TOMLDecodeError</code> with free-form arguments.
<code>msg</code>, <code>doc</code> and <code>pos</code> arguments should
be given.</li>
</ul>
</li>
<li>Added
<ul>
<li><code>msg</code>, <code>doc</code>, <code>pos</code>,
<code>lineno</code> and <code>colno</code> attributes to
<code>TOMLDecodeError</code></li>
</ul>
</li>
</ul>
<h2>2.0.2</h2>
<ul>
<li>Removed
<ul>
<li>Python 3.7 support</li>
</ul>
</li>
<li>Improved
<ul>
<li>Make <code>loads</code> raise <code>TypeError</code> not
<code>AttributeError</code> on bad input types that do not have the
<code>replace</code> attribute.
Improve error message when <code>bytes</code> is received.</li>
</ul>
</li>
<li>Type annotations
<ul>
<li>Type annotate <code>load</code> input as
<code>typing.IO[bytes]</code> (previously
<code>typing.BinaryIO</code>).</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/hukkin/tomli/commit/d6e045b1e6b36c56271d9f003794d915d713f962"><code>d6e045b</code></a>
Bump version: 2.0.2 → 2.1.0</li>
<li><a
href="https://github.com/hukkin/tomli/commit/d1d6a8571b06b18005af8bf9078c1d37de5353e1"><code>d1d6a85</code></a>
Add attributes to TOMLDecodeError. Deprecate free-form
<code>__init__</code> args (<a
href="https://redirect.github.com/hukkin/tomli/issues/238">#238</a>)</li>
<li><a
href="https://github.com/hukkin/tomli/commit/59ed9efb3d6bb7ec71454601a72088b0a6853b8c"><code>59ed9ef</code></a>
Add a comment about implicit lru_cache bound</li>
<li><a
href="https://github.com/hukkin/tomli/commit/9d25b3f99e37426d33eb8b5513890d723fefd441"><code>9d25b3f</code></a>
Test against Python 3.13 final (<a
href="https://redirect.github.com/hukkin/tomli/issues/237">#237</a>)</li>
<li><a
href="https://github.com/hukkin/tomli/commit/f57fb669e9147bc69e2681ce7eeea2ed6294c039"><code>f57fb66</code></a>
Add test coverage for text mode error (<a
href="https://redirect.github.com/hukkin/tomli/issues/231">#231</a>)</li>
<li><a
href="https://github.com/hukkin/tomli/commit/4be816b4070f1705e19231166aedf9256aa38086"><code>4be816b</code></a>
Convert tox config to native TOML</li>
<li><a
href="https://github.com/hukkin/tomli/commit/e2f8d2dd15313d5ffca65dd8d1aaf70e6386dddc"><code>e2f8d2d</code></a>
Merge pull request <a
href="https://redirect.github.com/hukkin/tomli/issues/233">#233</a> from
hukkin/version-2.0.2</li>
<li><a
href="https://github.com/hukkin/tomli/commit/3ec6775b118f2ae030d5b12c90939c7f65668e7e"><code>3ec6775</code></a>
Bump version: 2.0.1 → 2.0.2</li>
<li><a
href="https://github.com/hukkin/tomli/commit/1dcd317c62e905655090f3e18f57c93860086904"><code>1dcd317</code></a>
Add v2.0.2 changelog</li>
<li><a
href="https://github.com/hukkin/tomli/commit/c94ee6904bb93b84364be502fe219e849d5f9120"><code>c94ee69</code></a>
Fix GitHub Actions badge</li>
<li>Additional commits viewable in <a
href="https://github.com/hukkin/tomli/compare/2.0.1...2.1.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `wheel` from 0.44.0 to 0.45.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/wheel/releases">wheel's
releases</a>.</em></p>
<blockquote>
<h2>0.45.0</h2>
<ul>
<li>
<p>Refactored the <code>convert</code> command to not need setuptools to
be installed</p>
</li>
<li>
<p>Don't configure setuptools logging unless running
<code>bdist_wheel</code></p>
</li>
<li>
<p>Added a redirection from <code>wheel.bdist_wheel.bdist_wheel</code>
to <code>setuptools.command.bdist_wheel.bdist_wheel</code> to improve
compatibility with <code>setuptools</code>' latest fixes.</p>
<p>Projects are still advised to migrate away from the deprecated module
and import the <code>setuptools</code>' implementation explicitly. (PR
by <a
href="https://github.com/abravalheri"><code>@​abravalheri</code></a>)</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/wheel/blob/main/docs/news.rst">wheel's
changelog</a>.</em></p>
<blockquote>
<h1>Release Notes</h1>
<p><strong>0.45.0 (2024-11-08)</strong></p>
<ul>
<li>
<p>Refactored the <code>convert</code> command to not need setuptools to
be installed</p>
</li>
<li>
<p>Don't configure setuptools logging unless running
<code>bdist_wheel</code></p>
</li>
<li>
<p>Added a redirection from <code>wheel.bdist_wheel.bdist_wheel</code>
to
<code>setuptools.command.bdist_wheel.bdist_wheel</code> to improve
compatibility with
<code>setuptools</code>' latest fixes.</p>
<p>Projects are still advised to migrate away from the deprecated module
and import
the <code>setuptools</code>' implementation explicitly. (PR by <a
href="https://github.com/abravalheri"><code>@​abravalheri</code></a>)</p>
</li>
</ul>
<p><strong>0.44.0 (2024-08-04)</strong></p>
<ul>
<li>Canonicalized requirements in METADATA file (PR by Wim
Jeantine-Glenn)</li>
<li>Deprecated the <code>bdist_wheel</code> module, as the code was
migrated to <code>setuptools</code>
itself</li>
</ul>
<p><strong>0.43.0 (2024-03-11)</strong></p>
<ul>
<li>Dropped support for Python 3.7</li>
<li>Updated vendored <code>packaging</code> to 24.0</li>
</ul>
<p><strong>0.42.0 (2023-11-26)</strong></p>
<ul>
<li>Allowed removing build tag with <code>wheel tags --build
&quot;&quot;</code></li>
<li>Fixed <code>wheel pack</code> and <code>wheel tags</code> writing
updated <code>WHEEL</code> fields after a
blank line, causing other tools to ignore them</li>
<li>Fixed <code>wheel pack</code> and <code>wheel tags</code> writing
<code>WHEEL</code> with CRLF line endings or
a mix of CRLF and LF</li>
<li>Fixed <code>wheel pack --build-number &quot;&quot;</code> not
removing build tag from <code>WHEEL</code>
(above changes by Benjamin Gilbert)</li>
</ul>
<p><strong>0.41.3 (2023-10-30)</strong></p>
<ul>
<li>Updated vendored <code>packaging</code> to 23.2</li>
<li>Fixed ABI tag generation for CPython 3.13a1 on Windows (PR by Sam
Gross)</li>
</ul>
<p><strong>0.41.2 (2023-08-22)</strong></p>
<ul>
<li>Fixed platform tag detection for GraalPy and 32-bit python running
on an aarch64
kernel (PR by Matthieu Darbois)</li>
<li>Fixed <code>wheel tags</code> to not list directories in
<code>RECORD</code> files
(PR by Mike Taves)</li>
<li>Fixed ABI tag generation for GraalPy (PR by Michael Simacek)</li>
</ul>
<p><strong>0.41.1 (2023-08-05)</strong></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/wheel/commit/d78f0e372199f8294556345d867af4d3cf118418"><code>d78f0e3</code></a>
Created a new release</li>
<li><a
href="https://github.com/pypa/wheel/commit/f064c699209e36ec2948537b7cadabf84a110c30"><code>f064c69</code></a>
Added license files for vendored <code>packaging</code></li>
<li><a
href="https://github.com/pypa/wheel/commit/68387afcd33cb514a4da811d2fc5de73c8797e48"><code>68387af</code></a>
Only configure setuptools logging if bdist_wheel is imported (<a
href="https://redirect.github.com/pypa/wheel/issues/641">#641</a>)</li>
<li><a
href="https://github.com/pypa/wheel/commit/c81f5c954a8ca7698e6df9de39cf0013295949fa"><code>c81f5c9</code></a>
Refactored the <code>wheel convert</code> command to not require
setuptools (<a
href="https://redirect.github.com/pypa/wheel/issues/640">#640</a>)</li>
<li><a
href="https://github.com/pypa/wheel/commit/e43464d32feaddddb235ffe21b4bf13c1193465d"><code>e43464d</code></a>
Adjusted target Python versions in GitHub CI</li>
<li><a
href="https://github.com/pypa/wheel/commit/e9894e71bc62e5808710bc8c2c268de51aef52d4"><code>e9894e7</code></a>
Tweaked pytest settings to make the tracebacks easier to read</li>
<li><a
href="https://github.com/pypa/wheel/commit/baf6bf89562cb42a0ca71cc1e804600b161952eb"><code>baf6bf8</code></a>
Removed Cirrus CI configuration</li>
<li><a
href="https://github.com/pypa/wheel/commit/28c1ba1e2a6d08edc03c73e29293a571888981f9"><code>28c1ba1</code></a>
Improved compatibility with future versions of <code>setuptools</code>
(<a
href="https://redirect.github.com/pypa/wheel/issues/638">#638</a>)</li>
<li><a
href="https://github.com/pypa/wheel/commit/9254a4f9f8d9475c9f4d00a854694ddf1834ba5b"><code>9254a4f</code></a>
Exclude <code>@overload</code> and <code>if TYPE_CHECKING:</code> from
coverage checks</li>
<li><a
href="https://github.com/pypa/wheel/commit/d841597258d04f10346fbcc0ce95f9278b38ef08"><code>d841597</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/pypa/wheel/issues/635">#635</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/wheel/compare/0.44.0...0.45.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `zipp` from 3.20.0 to 3.21.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jaraco/zipp/blob/main/NEWS.rst">zipp's
changelog</a>.</em></p>
<blockquote>
<h1>v3.21.0</h1>
<h2>Features</h2>
<ul>
<li>Improve performances of :meth:<code>zipfile.Path.open</code> for
non-reading modes. (1a1928d)</li>
<li>Rely on cached_property to cache values on the instance.</li>
<li>Rely on save_method_args to save method args.</li>
</ul>
<h1>v3.20.2</h1>
<h2>Bugfixes</h2>
<ul>
<li>Make zipp.compat.overlay.zipfile hashable. (<a
href="https://redirect.github.com/jaraco/zipp/issues/126">#126</a>)</li>
</ul>
<h1>v3.20.1</h1>
<h2>Bugfixes</h2>
<ul>
<li><code>python/cpython#123270</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jaraco/zipp/commit/45b7f675c0bcaa4f3f9d15b4399fc71e74f2408c"><code>45b7f67</code></a>
Finalize</li>
<li><a
href="https://github.com/jaraco/zipp/commit/71ddd8d4f4ab200af870f0060d9ee8c6b7056681"><code>71ddd8d</code></a>
Skip
<code>zipfile.Path.exists</code><code>python/cpython#126576</code></li>
<li><a
href="https://github.com/jaraco/zipp/commit/9a2705ee2a376a948f1e89320c8c7356829a42eb"><code>9a2705e</code></a>
Merge <a
href="https://github.com/jaraco/skeleton">https://github.com/jaraco/skeleton</a></li>
<li><a
href="https://github.com/jaraco/zipp/commit/5c34e69568f23a524af4fa9dad3f5e80f22ec3e6"><code>5c34e69</code></a>
Use extend for proper workaround.</li>
<li><a
href="https://github.com/jaraco/zipp/commit/ee027f698c9cc629fb0018bc55cbb73267db2817"><code>ee027f6</code></a>
Merge <a
href="https://github.com/jaraco/skeleton">https://github.com/jaraco/skeleton</a></li>
<li><a
href="https://github.com/jaraco/zipp/commit/750a1891ec4a1c0602050e3463e9593a8c13aa14"><code>750a189</code></a>
Require Python 3.9 or later now that Python 3.8 is EOL.</li>
<li><a
href="https://github.com/jaraco/zipp/commit/e61a9df7cdc9c8d1b56c30b7b3f94a7cdac14414"><code>e61a9df</code></a>
Include pyproject.toml in ruff.toml.</li>
<li><a
href="https://github.com/jaraco/zipp/commit/db4dfc495552aca8d6f05ed58441fa65fdc2ed9c"><code>db4dfc4</code></a><code>jaraco/skeleton#151</code></li>
<li><a
href="https://github.com/jaraco/zipp/commit/62b6678a32087ed3bfc8ff19761764340295834e"><code>62b6678</code></a>
Bump pre-commit hook for ruff to avoid clashes with pytest-ruff
(jaraco/skele...</li>
<li><a
href="https://github.com/jaraco/zipp/commit/466f53538bd84cefcca39c5a42775fef6a1bf346"><code>466f535</code></a>
Merge pull request <a
href="https://redirect.github.com/jaraco/zipp/issues/109">#109</a> from
jaraco/feature/functools</li>
<li>Additional commits viewable in <a
href="https://github.com/jaraco/zipp/compare/v3.20.0...v3.21.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `pip` from 24.2 to 24.3.1
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's
changelog</a>.</em></p>
<blockquote>
<h1>24.3.1 (2024-10-27)</h1>
<h2>Bug Fixes</h2>
<ul>
<li>Allow multiple nested inclusions of the same requirements file
again. (<code>[#13046](pypa/pip#13046)
&lt;https://github.com/pypa/pip/issues/13046&gt;</code>_)</li>
</ul>
<h1>24.3 (2024-10-27)</h1>
<h2>Deprecations and Removals</h2>
<ul>
<li>Deprecate wheel filenames that are not compliant with
:pep:<code>440</code>.
(<code>[#12918](pypa/pip#12918)
&lt;https://github.com/pypa/pip/issues/12918&gt;</code>_)</li>
</ul>
<h2>Features</h2>
<ul>
<li>Detect recursively referencing requirements files and help users
identify
the source. (<code>[#12653](pypa/pip#12653)
&lt;https://github.com/pypa/pip/issues/12653&gt;</code>_)</li>
<li>Support for :pep:<code>730</code> iOS wheels.
(<code>[#12961](pypa/pip#12961)
&lt;https://github.com/pypa/pip/issues/12961&gt;</code>_)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>Display a better error message when an already installed package has
an invalid requirement.
(<code>[#12953](pypa/pip#12953)
&lt;https://github.com/pypa/pip/issues/12953&gt;</code>_)</li>
<li>Ignore <code>PIP_TARGET</code> and <code>pip.conf</code>
<code>global.target</code> when preparing a build environment.
(<code>[#8438](pypa/pip#8438)
&lt;https://github.com/pypa/pip/issues/8438&gt;</code>_)</li>
<li>Restore support for macOS 10.12 and older (via truststore).
(<code>[#12901](pypa/pip#12901)
&lt;https://github.com/pypa/pip/issues/12901&gt;</code>_)</li>
<li>Allow installing pip in editable mode in a virtual environment on
Windows. (<code>[#12666](pypa/pip#12666)
&lt;https://github.com/pypa/pip/issues/12666&gt;</code>_)</li>
</ul>
<h2>Vendored Libraries</h2>
<ul>
<li>Upgrade certifi to 2024.8.30</li>
<li>Upgrade distlib to 0.3.9</li>
<li>Upgrade truststore to 0.10.0</li>
<li>Upgrade urllib3 to 1.26.20</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/pip/commit/05293b6b55eca86490b7c2944bcc558a56064f0d"><code>05293b6</code></a>
Bump for release</li>
<li><a
href="https://github.com/pypa/pip/commit/6a5db8b107bb0063c69dc5ccd39dbfef14ca7a32"><code>6a5db8b</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/13047">#13047</a> from
sbidoul/fix-13046</li>
<li><a
href="https://github.com/pypa/pip/commit/7be54ced1cca2c850e79e8fbe9ec2b76947b2b6f"><code>7be54ce</code></a>
Don't fail when the same req file is included more than once</li>
<li><a
href="https://github.com/pypa/pip/commit/4f6aeb17ed540e181b9ad1dea8d7b5389effd21b"><code>4f6aeb1</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/13044">#13044</a> from
sbidoul/release/24.3</li>
<li><a
href="https://github.com/pypa/pip/commit/e1b1d51fe8d0f4b84b77206173ceb656caa2edeb"><code>e1b1d51</code></a>
Bump for development</li>
<li><a
href="https://github.com/pypa/pip/commit/cdba22f49b425fe4a57a8daf992fd6335c8010a1"><code>cdba22f</code></a>
Bump for release</li>
<li><a
href="https://github.com/pypa/pip/commit/27f8374e8dd49141bd2397c0e8e8093cf3676ff7"><code>27f8374</code></a>
Update AUTHORS.txt</li>
<li><a
href="https://github.com/pypa/pip/commit/c79d01953357913f421f192f51ffa9bab0a75ba0"><code>c79d019</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/13033">#13033</a> from
sbidoul/vendoring-24.3-sbi</li>
<li><a
href="https://github.com/pypa/pip/commit/3ca89215a96f9b05619fc52bb778c19f26b84a9f"><code>3ca8921</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/pip/issues/13041">#13041</a> from
sethmlarson/truststore-0.10.0</li>
<li><a
href="https://github.com/pypa/pip/commit/0cc7375ff0a42ddfa19f23f42cb96d6d7c06d29b"><code>0cc7375</code></a>
Upgrade vendored truststore to 0.10.0</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/pip/compare/24.2...24.3.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `setuptools` from 75.2.0 to 75.5.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.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>
<li>
<p>Remove dependency on <code>importlib_resources</code>
and the vendored copy of the library.
Instead, <code>setuptools</code> consistently rely on stdlib's
<code>importlib.resources</code>
(available on Python 3.9+). (<a
href="https://redirect.github.com/pypa/setuptools/issues/4718">#4718</a>)</p>
</li>
<li>
<p>Setuptools' <code>bdist_wheel</code> implementation no longer
produces wheels with
the <code>m</code> SOABI flag (pymalloc-related).
This flag was removed on Python 3.8+ (see
:obj:<code>sys.abiflags</code>). (<a
href="https://redirect.github.com/pypa/setuptools/issues/4718">#4718</a>)</p>
</li>
<li>
<p>Updated vendored packaging version to 24.2. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4740">#4740</a>)</p>
</li>
</ul>
<h2>Bugfixes</h2>
<ul>
<li>Merge with pypa/distutils@251797602, including fix for
dirutil.mkpath handling in <a
href="https://redirect.github.com/pypa/distutils/issues/304">pypa/distutils#304</a>.</li>
</ul>
<h1>v75.3.0</h1>
<h2>Features</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/setuptools/commit/540001561bc2c6766940ba5fd6247735c1a3a290"><code>5400015</code></a>
Bump version: 75.4.0 → 75.5.0</li>
<li><a
href="https://github.com/pypa/setuptools/commit/01b9f208110da1db8e8aec0debbffd15ea30a38c"><code>01b9f20</code></a>
Add note about removed variable in NEWS.rst</li>
<li><a
href="https://github.com/pypa/setuptools/commit/57ed6f0e3967b5d6d7a0e7190a8465b38919c084"><code>57ed6f0</code></a>
Revert &quot;Allow user to skip validation of pyproject.toml via env
var&quot; (<a
href="https://redirect.github.com/pypa/setuptools/issues/4746">#4746</a>)</li>
<li><a
href="https://github.com/pypa/setuptools/commit/36e945e5a12ed552b33c523ba8ede4fa5a38d553"><code>36e945e</code></a>
Add news fragment</li>
<li><a
href="https://github.com/pypa/setuptools/commit/f6c9fdb5489ab49856cb1f4c237f02651c16b05f"><code>f6c9fdb</code></a>
Revert &quot;Allow user to skip validation of pyproject.toml via env
var&quot;</li>
<li><a
href="https://github.com/pypa/setuptools/commit/8f5559c859309a170c2056e04020ea9679fc7517"><code>8f5559c</code></a>
Bump version: 75.3.0 → 75.4.0</li>
<li><a
href="https://github.com/pypa/setuptools/commit/6cc5f08e58aa244d08b93f8f890e4d864ee7d008"><code>6cc5f08</code></a>
Update mypy requirement from ==1.12.* to &gt;=1.12,&lt;1.14 (<a
href="https://redirect.github.com/pypa/setuptools/issues/4700">#4700</a>)</li>
<li><a
href="https://github.com/pypa/setuptools/commit/748c8513c91087248cf436b9fae94043e310aa9c"><code>748c851</code></a>
Update mypy requirement from ==1.12.* to &gt;=1.12,&lt;1.14</li>
<li><a
href="https://github.com/pypa/setuptools/commit/c9d980f8a63f0d31144830599152e0ce60389fc8"><code>c9d980f</code></a>
Refactor/unify/extract <code>shutil.rmtree</code> callbacks (and avoid
repetition) (<a
href="https://redirect.github.com/pypa/setuptools/issues/4682">#4682</a>)</li>
<li><a
href="https://github.com/pypa/setuptools/commit/db2b2065bfc20c9edf1c5d8ea9ad0ae68e64acdd"><code>db2b206</code></a>
Extract test for shutil.rmtree callback to its own file</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/setuptools/compare/v75.2.0...v75.5.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `mypy` from 1.12.1 to 1.13.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python/mypy/blob/master/CHANGELOG.md">mypy's
changelog</a>.</em></p>
<blockquote>
<h1>Mypy Release Notes</h1>
<h2>Next release</h2>
<h3>Change to enum membership semantics</h3>
<p>As per the updated <a
href="https://typing.readthedocs.io/en/latest/spec/enums.html#defining-members">typing
specification for enums</a>,
enum members must be left unannotated.</p>
<pre lang="python"><code>class Pet(Enum):
    CAT = 1  # Member attribute
    DOG = 2  # Member attribute
    WOLF: int = 3  # New error: Enum members must be left unannotated
<pre><code>species: str  # Considered a non-member attribute
</code></pre>
<p></code></pre></p>
<p>In particular, the specification change can result in issues in type
stubs (<code>.pyi</code> files), since
historically it was common to leave the value absent:</p>
<pre lang="python"><code># In a type stub (.pyi file)
<p>class Pet(Enum):<br />
# Change in semantics: previously considered members, now non-member
attributes<br />
CAT: int<br />
DOG: int</p>
<pre><code># Mypy will now issue a warning if it detects this situation
in type stubs:
# &amp;gt; Detected enum &amp;quot;Pet&amp;quot; in a type stub with
zero members.
# &amp;gt; There is a chance this is due to a recent change in the
semantics of enum membership.
# &amp;gt; If so, use `member = value` to mark an enum member, instead
of `member: type`
</code></pre>
<p>class Pet(Enum):<br />
# As per the specification, you should now do one of the following:<br
/>
DOG = 1  # Member attribute with value 1 and known type<br />
WOLF = cast(int, ...) # Member attribute with unknown value but known
type<br />
LION = ...  # Member attribute with unknown value and unknown type<br />
</code></pre></p>
<p>Contributed by Terence Honles in PR <a
href="https://redirect.github.com/python/mypy/pull/17207">17207</a> and
Shantanu Jain in PR <a
href="https://redirect.github.com/python/mypy/pull/18068">18068</a>.</p>
<h2>Mypy 1.13</h2>
<p>We’ve just uploaded mypy 1.13 to the Python Package Index (<a
href="https://pypi.org/project/mypy/">PyPI</a>).
Mypy is a static type checker for Python. You can install it as
follows:</p>
<pre><code>python3 -m pip install -U mypy
</code></pre>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python/mypy/commit/eb310343be0399ea6755fabc259755ce1f6711e8"><code>eb31034</code></a>
Bump version to 1.13.0</li>
<li><a
href="https://github.com/python/mypy/commit/2eeb5880184970ae1c0b20c0e06855b6d311bc19"><code>2eeb588</code></a>
Update changelog for 1.12.1 (<a
href="https://redirect.github.com/python/mypy/issues/17999">#17999</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/bc0386b7f96aa131cbf345698a22a9d4b79e9cb4"><code>bc0386b</code></a>
Changelog for 1.13 (<a
href="https://redirect.github.com/python/mypy/issues/18000">#18000</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/5c4d2db7009fa9035b8b3fcffe25182aaa4dc846"><code>5c4d2db</code></a>
Add faster-cache extra, test in CI (<a
href="https://redirect.github.com/python/mypy/issues/17978">#17978</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/854ad189ab7c4f487950ad34e142fd327dce3227"><code>854ad18</code></a>
Make is_sub_path faster (<a
href="https://redirect.github.com/python/mypy/issues/17962">#17962</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/50aa4ca8425d0bb668d514b8ee5c6aeacb605b27"><code>50aa4ca</code></a>
Speed up stubs suggestions (<a
href="https://redirect.github.com/python/mypy/issues/17965">#17965</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/7c27808a0be2fc205788a826be83cbb0a68f89e1"><code>7c27808</code></a>
Use orjson instead of json, when available (<a
href="https://redirect.github.com/python/mypy/issues/17955">#17955</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/2cd2406117e86838de36a9f73ba47c67fa763e1a"><code>2cd2406</code></a>
Use fast path in modulefinder more often (<a
href="https://redirect.github.com/python/mypy/issues/17950">#17950</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/e20aaeeaa215b2e617d460599c4310427ba8f902"><code>e20aaee</code></a>
Let mypyc optimise os.path.join (<a
href="https://redirect.github.com/python/mypy/issues/17949">#17949</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/159974cc59de459cfb3e31ba3e1d8f279734f66d"><code>159974c</code></a>
Use sha1 for hashing (<a
href="https://redirect.github.com/python/mypy/issues/17953">#17953</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/python/mypy/compare/v1.12.1...v1.13.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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
clrpackages pushed a commit to clearlinux-pkgs/pypi-zipp that referenced this pull request Nov 18, 2024
…n 3.21.0

Anderson Bravalheri (1):
      Bump pre-commit hook for ruff to avoid clashes with pytest-ruff (jaraco/skeleton#150)

Jan Hicken (1):
      Skip `zipfile.Path.exists` check in write mode (python/cpython#126576)

Jason R. Coombs (8):
      Sort imports
      Rely on cached_property to cache values on the instance.
      Rely on save_method_args to save method args.
      Add Python 3.13 and 3.14 into the matrix. (jaraco/skeleton#151)
      Include pyproject.toml in ruff.toml.
      Require Python 3.9 or later now that Python 3.8 is EOL.
      Use extend for proper workaround.
      Finalize
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.

4 participants