瀏覽代碼

Bump ruff from 0.8.6 to 0.9.0 (#4198)

Bumps [ruff](https://github.com/astral-sh/ruff) from 0.8.6 to 0.9.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/releases">ruff's
releases</a>.</em></p>
<blockquote>
<h2>0.9.0</h2>
<h2>Release Notes</h2>
<p>Check out the <a href="https://astral.sh/blog/ruff-v0.9.0">blog
post</a> for a migration guide and overview of the changes!</p>
<h3>Breaking changes</h3>
<p>Ruff now formats your code according to the 2025 style guide. As a
result, your code might now get formatted differently. See the formatter
section for a detailed list of changes.</p>
<p>This release doesn’t remove or remap any existing stable rules.</p>
<h3>Stabilization</h3>
<p>The following rules have been stabilized and are no longer in
preview:</p>
<ul>
<li><a
href="https://docs.astral.sh/ruff/rules/stdlib-module-shadowing/"><code>stdlib-module-shadowing</code></a>
(<code>A005</code>).
This rule has also been renamed: previously, it was called
<code>builtin-module-shadowing</code>.</li>
<li><a
href="https://docs.astral.sh/ruff/rules/builtin-lambda-argument-shadowing/"><code>builtin-lambda-argument-shadowing</code></a>
(<code>A006</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/slice-to-remove-prefix-or-suffix/"><code>slice-to-remove-prefix-or-suffix</code></a>
(<code>FURB188</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/boolean-chained-comparison/"><code>boolean-chained-comparison</code></a>
(<code>PLR1716</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/decimal-from-float-literal/"><code>decimal-from-float-literal</code></a>
(<code>RUF032</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/post-init-default/"><code>post-init-default</code></a>
(<code>RUF033</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/useless-if-else/"><code>useless-if-else</code></a>
(<code>RUF034</code>)</li>
</ul>
<p>The following behaviors have been stabilized:</p>
<ul>
<li><a
href="https://docs.astral.sh/ruff/rules/pytest-parametrize-names-wrong-type/"><code>pytest-parametrize-names-wrong-type</code></a>
(<code>PT006</code>): Detect <a
href="https://docs.pytest.org/en/7.1.x/how-to/parametrize.html#parametrize"><code>pytest.parametrize</code></a>
calls outside decorators and calls with keyword arguments.</li>
<li><a
href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file/"><code>module-import-not-at-top-of-file</code></a>
(<code>E402</code>): Ignore <a
href="https://docs.pytest.org/en/7.1.x/reference/reference.html#pytest-importorskip"><code>pytest.importorskip</code></a>
calls between import statements.</li>
<li><a
href="https://docs.astral.sh/ruff/rules/mutable-dataclass-default/"><code>mutable-dataclass-default</code></a>
(<code>RUF008</code>) and <a
href="https://docs.astral.sh/ruff/rules/function-call-in-dataclass-default-argument/"><code>function-call-in-dataclass-default-argument</code></a>
(<code>RUF009</code>): Add support for <a
href="https://www.attrs.org/en/stable/"><code>attrs</code></a>.</li>
<li><a
href="https://docs.astral.sh/ruff/rules/bad-version-info-comparison/"><code>bad-version-info-comparison</code></a>
(<code>PYI006</code>): Extend the rule to check non-stub files.</li>
</ul>
<p>The following fixes or improvements to fixes have been
stabilized:</p>
<ul>
<li><a
href="https://docs.astral.sh/ruff/rules/redundant-numeric-union/"><code>redundant-numeric-union</code></a>
(<code>PYI041</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/duplicate-union-member/"><code>duplicate-union-members</code></a>
(<code>PYI016</code>)</li>
</ul>
<h3>Formatter</h3>
<p>This release introduces the new 2025 stable style (<a
href="https://redirect.github.com/astral-sh/ruff/issues/13371">#13371</a>),
stabilizing the following changes:</p>
<ul>
<li>Format expressions in f-string elements (<a
href="https://redirect.github.com/astral-sh/ruff/issues/7594">#7594</a>)</li>
<li>Alternate quotes for strings inside f-strings (<a
href="https://redirect.github.com/astral-sh/ruff/pull/13860">#13860</a>)</li>
<li>Preserve the casing of hex codes in f-string debug expressions (<a
href="https://redirect.github.com/astral-sh/ruff/issues/14766">#14766</a>)</li>
<li>Choose the quote style for each string literal in an implicitly
concatenated f-string rather than for the entire string (<a
href="https://redirect.github.com/astral-sh/ruff/pull/13539">#13539</a>)</li>
<li>Automatically join an implicitly concatenated string into a single
string literal if it fits on a single line (<a
href="https://redirect.github.com/astral-sh/ruff/issues/9457">#9457</a>)</li>
<li>Remove the <a
href="https://docs.astral.sh/ruff/rules/single-line-implicit-string-concatenation/"><code>ISC001</code></a>
incompatibility warning (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15123">#15123</a>)</li>
<li>Prefer parenthesizing the <code>assert</code> message over breaking
the assertion expression (<a
href="https://redirect.github.com/astral-sh/ruff/issues/9457">#9457</a>)</li>
<li>Automatically parenthesize over-long <code>if</code> guards in
<code>match</code> <code>case</code> clauses (<a
href="https://redirect.github.com/astral-sh/ruff/pull/13513">#13513</a>)</li>
<li>More consistent formatting for <code>match</code> <code>case</code>
patterns (<a
href="https://redirect.github.com/astral-sh/ruff/issues/6933">#6933</a>)</li>
<li>Avoid unnecessary parentheses around return type annotations (<a
href="https://redirect.github.com/astral-sh/ruff/pull/13381">#13381</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's
changelog</a>.</em></p>
<blockquote>
<h2>0.9.0</h2>
<p>Check out the <a href="https://astral.sh/blog/ruff-v0.9.0">blog
post</a> for a migration guide and overview of the changes!</p>
<h3>Breaking changes</h3>
<p>Ruff now formats your code according to the 2025 style guide. As a
result, your code might now get formatted differently. See the formatter
section for a detailed list of changes.</p>
<p>This release doesn’t remove or remap any existing stable rules.</p>
<h3>Stabilization</h3>
<p>The following rules have been stabilized and are no longer in
preview:</p>
<ul>
<li><a
href="https://docs.astral.sh/ruff/rules/stdlib-module-shadowing/"><code>stdlib-module-shadowing</code></a>
(<code>A005</code>).
This rule has also been renamed: previously, it was called
<code>builtin-module-shadowing</code>.</li>
<li><a
href="https://docs.astral.sh/ruff/rules/builtin-lambda-argument-shadowing/"><code>builtin-lambda-argument-shadowing</code></a>
(<code>A006</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/slice-to-remove-prefix-or-suffix/"><code>slice-to-remove-prefix-or-suffix</code></a>
(<code>FURB188</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/boolean-chained-comparison/"><code>boolean-chained-comparison</code></a>
(<code>PLR1716</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/decimal-from-float-literal/"><code>decimal-from-float-literal</code></a>
(<code>RUF032</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/post-init-default/"><code>post-init-default</code></a>
(<code>RUF033</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/useless-if-else/"><code>useless-if-else</code></a>
(<code>RUF034</code>)</li>
</ul>
<p>The following behaviors have been stabilized:</p>
<ul>
<li><a
href="https://docs.astral.sh/ruff/rules/pytest-parametrize-names-wrong-type/"><code>pytest-parametrize-names-wrong-type</code></a>
(<code>PT006</code>): Detect <a
href="https://docs.pytest.org/en/7.1.x/how-to/parametrize.html#parametrize"><code>pytest.parametrize</code></a>
calls outside decorators and calls with keyword arguments.</li>
<li><a
href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file/"><code>module-import-not-at-top-of-file</code></a>
(<code>E402</code>): Ignore <a
href="https://docs.pytest.org/en/7.1.x/reference/reference.html#pytest-importorskip"><code>pytest.importorskip</code></a>
calls between import statements.</li>
<li><a
href="https://docs.astral.sh/ruff/rules/mutable-dataclass-default/"><code>mutable-dataclass-default</code></a>
(<code>RUF008</code>) and <a
href="https://docs.astral.sh/ruff/rules/function-call-in-dataclass-default-argument/"><code>function-call-in-dataclass-default-argument</code></a>
(<code>RUF009</code>): Add support for <a
href="https://www.attrs.org/en/stable/"><code>attrs</code></a>.</li>
<li><a
href="https://docs.astral.sh/ruff/rules/bad-version-info-comparison/"><code>bad-version-info-comparison</code></a>
(<code>PYI006</code>): Extend the rule to check non-stub files.</li>
</ul>
<p>The following fixes or improvements to fixes have been
stabilized:</p>
<ul>
<li><a
href="https://docs.astral.sh/ruff/rules/redundant-numeric-union/"><code>redundant-numeric-union</code></a>
(<code>PYI041</code>)</li>
<li><a
href="https://docs.astral.sh/ruff/rules/duplicate-union-member/"><code>duplicate-union-members</code></a>
(<code>PYI016</code>)</li>
</ul>
<h3>Formatter</h3>
<p>This release introduces the new 2025 stable style (<a
href="https://redirect.github.com/astral-sh/ruff/issues/13371">#13371</a>),
stabilizing the following changes:</p>
<ul>
<li>Format expressions in f-string elements (<a
href="https://redirect.github.com/astral-sh/ruff/issues/7594">#7594</a>)</li>
<li>Alternate quotes for strings inside f-strings (<a
href="https://redirect.github.com/astral-sh/ruff/pull/13860">#13860</a>)</li>
<li>Preserve the casing of hex codes in f-string debug expressions (<a
href="https://redirect.github.com/astral-sh/ruff/issues/14766">#14766</a>)</li>
<li>Choose the quote style for each string literal in an implicitly
concatenated f-string rather than for the entire string (<a
href="https://redirect.github.com/astral-sh/ruff/pull/13539">#13539</a>)</li>
<li>Automatically join an implicitly concatenated string into a single
string literal if it fits on a single line (<a
href="https://redirect.github.com/astral-sh/ruff/issues/9457">#9457</a>)</li>
<li>Remove the <a
href="https://docs.astral.sh/ruff/rules/single-line-implicit-string-concatenation/"><code>ISC001</code></a>
incompatibility warning (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15123">#15123</a>)</li>
<li>Prefer parenthesizing the <code>assert</code> message over breaking
the assertion expression (<a
href="https://redirect.github.com/astral-sh/ruff/issues/9457">#9457</a>)</li>
<li>Automatically parenthesize over-long <code>if</code> guards in
<code>match</code> <code>case</code> clauses (<a
href="https://redirect.github.com/astral-sh/ruff/pull/13513">#13513</a>)</li>
<li>More consistent formatting for <code>match</code> <code>case</code>
patterns (<a
href="https://redirect.github.com/astral-sh/ruff/issues/6933">#6933</a>)</li>
<li>Avoid unnecessary parentheses around return type annotations (<a
href="https://redirect.github.com/astral-sh/ruff/pull/13381">#13381</a>)</li>
<li>Keep the opening parentheses on the same line as the <code>if</code>
keyword for comprehensions where the condition has a leading comment (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12282">#12282</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/ruff/commit/d0b2bbd55ee6435bc3dad8db2898aec216d85121"><code>d0b2bbd</code></a>
Release 0.9.0 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/15371">#15371</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/8628f169e9e84a3b295a264a730ea365073b0c6a"><code>8628f16</code></a>
[<code>ruff</code>] Stop parsing diagnostics from other sources for code
action requests...</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/8bc11c49b2faa8d7c92493ab3250c460de35ec97"><code>8bc11c4</code></a>
[<code>flake8-django</code>] Recognize other magic methods
(<code>DJ012</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/issues/15365">#15365</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/bf5b0c2688d35625aee4c518cd872e4a9adc1b3e"><code>bf5b0c2</code></a>
[red-knot] Minor refactor of red_knot_vendored/build.rs (<a
href="https://redirect.github.com/astral-sh/ruff/issues/15372">#15372</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/097aa04c0496c50f8102dca5baf5ae14f43fb66d"><code>097aa04</code></a>
[red-knot] Typeshed patching: use build.rs instead of workflow (<a
href="https://redirect.github.com/astral-sh/ruff/issues/15370">#15370</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/f706c3fdf28155248a0170a2cb2a09650cab1fd1"><code>f706c3f</code></a>
Add f-string formatting to the docs (<a
href="https://redirect.github.com/astral-sh/ruff/issues/15367">#15367</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/29f66533185a9e796b9058e11ab2e0a9962b6b3c"><code>29f6653</code></a>
[<code>ruff</code>] Stabilize <code>useless-if-else</code>
(<code>RUF034</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/issues/15351">#15351</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/d645525afc3a5c995df0cfb00e44245f520804d1"><code>d645525</code></a>
[<code>pylint</code>]: Stabilize <code>boolean-chained-comparison</code>
(<code>PLR1716</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/issues/15354">#15354</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/6dcf7b35b9ea5bb72775ca743e54bed3fe6238d2"><code>6dcf7b3</code></a>
[<code>ruff</code>] Stabilize <code>post-init-default</code> (RUF033)
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/15352">#15352</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/943d4fc1602af9695de1e8ddcc5c9b1e5512f912"><code>943d4fc</code></a>
Update formatter preview documentation (<a
href="https://redirect.github.com/astral-sh/ruff/issues/15349">#15349</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.8.6...0.9.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ruff&package-manager=pip&previous-version=0.8.6&new-version=0.9.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>
dependabot[bot] 4 月之前
父節點
當前提交
3d834e539b
共有 1 個文件被更改,包括 19 次插入19 次删除
  1. 19 19
      poetry.lock

+ 19 - 19
poetry.lock

@@ -3216,29 +3216,29 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
 
 [[package]]
 name = "ruff"
-version = "0.8.6"
+version = "0.9.0"
 description = "An extremely fast Python linter and code formatter, written in Rust."
 optional = false
 python-versions = ">=3.7"
 files = [
-    {file = "ruff-0.8.6-py3-none-linux_armv6l.whl", hash = "sha256:defed167955d42c68b407e8f2e6f56ba52520e790aba4ca707a9c88619e580e3"},
-    {file = "ruff-0.8.6-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:54799ca3d67ae5e0b7a7ac234baa657a9c1784b48ec954a094da7c206e0365b1"},
-    {file = "ruff-0.8.6-py3-none-macosx_11_0_arm64.whl", hash = "sha256:e88b8f6d901477c41559ba540beeb5a671e14cd29ebd5683903572f4b40a9807"},
-    {file = "ruff-0.8.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0509e8da430228236a18a677fcdb0c1f102dd26d5520f71f79b094963322ed25"},
-    {file = "ruff-0.8.6-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:91a7ddb221779871cf226100e677b5ea38c2d54e9e2c8ed847450ebbdf99b32d"},
-    {file = "ruff-0.8.6-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:248b1fb3f739d01d528cc50b35ee9c4812aa58cc5935998e776bf8ed5b251e75"},
-    {file = "ruff-0.8.6-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:bc3c083c50390cf69e7e1b5a5a7303898966be973664ec0c4a4acea82c1d4315"},
-    {file = "ruff-0.8.6-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52d587092ab8df308635762386f45f4638badb0866355b2b86760f6d3c076188"},
-    {file = "ruff-0.8.6-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:61323159cf21bc3897674e5adb27cd9e7700bab6b84de40d7be28c3d46dc67cf"},
-    {file = "ruff-0.8.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ae4478b1471fc0c44ed52a6fb787e641a2ac58b1c1f91763bafbc2faddc5117"},
-    {file = "ruff-0.8.6-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:0c000a471d519b3e6cfc9c6680025d923b4ca140ce3e4612d1a2ef58e11f11fe"},
-    {file = "ruff-0.8.6-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:9257aa841e9e8d9b727423086f0fa9a86b6b420fbf4bf9e1465d1250ce8e4d8d"},
-    {file = "ruff-0.8.6-py3-none-musllinux_1_2_i686.whl", hash = "sha256:45a56f61b24682f6f6709636949ae8cc82ae229d8d773b4c76c09ec83964a95a"},
-    {file = "ruff-0.8.6-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:496dd38a53aa173481a7d8866bcd6451bd934d06976a2505028a50583e001b76"},
-    {file = "ruff-0.8.6-py3-none-win32.whl", hash = "sha256:e169ea1b9eae61c99b257dc83b9ee6c76f89042752cb2d83486a7d6e48e8f764"},
-    {file = "ruff-0.8.6-py3-none-win_amd64.whl", hash = "sha256:f1d70bef3d16fdc897ee290d7d20da3cbe4e26349f62e8a0274e7a3f4ce7a905"},
-    {file = "ruff-0.8.6-py3-none-win_arm64.whl", hash = "sha256:7d7fc2377a04b6e04ffe588caad613d0c460eb2ecba4c0ccbbfe2bc973cbc162"},
-    {file = "ruff-0.8.6.tar.gz", hash = "sha256:dcad24b81b62650b0eb8814f576fc65cfee8674772a6e24c9b747911801eeaa5"},
+    {file = "ruff-0.9.0-py3-none-linux_armv6l.whl", hash = "sha256:949b3513f931741e006cf267bf89611edff04e1f012013424022add3ce78f319"},
+    {file = "ruff-0.9.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:99fbcb8c7fe94ae1e462ab2a1ef17cb20b25fb6438b9f198b1bcf5207a0a7916"},
+    {file = "ruff-0.9.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:0b022afd8eb0fcfce1e0adec84322abf4d6ce3cd285b3b99c4f17aae7decf749"},
+    {file = "ruff-0.9.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:336567ce92c9ca8ec62780d07b5fa11fbc881dc7bb40958f93a7d621e7ab4589"},
+    {file = "ruff-0.9.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d338336c44bda602dc8e8766836ac0441e5b0dfeac3af1bd311a97ebaf087a75"},
+    {file = "ruff-0.9.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d9b3ececf523d733e90b540e7afcc0494189e8999847f8855747acd5a9a8c45f"},
+    {file = "ruff-0.9.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:a11c0872a31232e473e2e0e2107f3d294dbadd2f83fb281c3eb1c22a24866924"},
+    {file = "ruff-0.9.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b5fd06220c17a9cc0dc7fc6552f2ac4db74e8e8bff9c401d160ac59d00566f54"},
+    {file = "ruff-0.9.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0457e775c74bf3976243f910805242b7dcd389e1d440deccbd1194ca17a5728c"},
+    {file = "ruff-0.9.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05415599bbcb318f730ea1b46a39e4fbf71f6a63fdbfa1dda92efb55f19d7ecf"},
+    {file = "ruff-0.9.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:fbf9864b009e43cfc1c8bed1a6a4c529156913105780af4141ca4342148517f5"},
+    {file = "ruff-0.9.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:37b3da222b12e2bb2ce628e02586ab4846b1ed7f31f42a5a0683b213453b2d49"},
+    {file = "ruff-0.9.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:733c0fcf2eb0c90055100b4ed1af9c9d87305b901a8feb6a0451fa53ed88199d"},
+    {file = "ruff-0.9.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:8221a454bfe5ccdf8017512fd6bb60e6ec30f9ea252b8a80e5b73619f6c3cefd"},
+    {file = "ruff-0.9.0-py3-none-win32.whl", hash = "sha256:d345f2178afd192c7991ddee59155c58145e12ad81310b509bd2e25c5b0247b3"},
+    {file = "ruff-0.9.0-py3-none-win_amd64.whl", hash = "sha256:0cbc0905d94d21305872f7f8224e30f4bbcd532bc21b2225b2446d8fc7220d19"},
+    {file = "ruff-0.9.0-py3-none-win_arm64.whl", hash = "sha256:7b1148771c6ca88f820d761350a053a5794bc58e0867739ea93eb5e41ad978cd"},
+    {file = "ruff-0.9.0.tar.gz", hash = "sha256:143f68fa5560ecf10fc49878b73cee3eab98b777fcf43b0e62d43d42f5ef9d8b"},
 ]
 
 [[package]]