mirror of
https://github.com/calibrain/shelfmark.git
synced 2026-11-15 19:08:13 +00:00
Bumps the python-deps group with 6 updates: | Package | From | To | | --- | --- | --- | | [dnspython](https://github.com/rthalley/dnspython) | `2.9.1` | `2.9.2` | | [authlib](https://github.com/authlib/authlib) | `1.9.2` | `1.9.5` | | [joserfc](https://github.com/authlib/joserfc) | `1.7.7` | `1.8.0` | | [seleniumbase](https://github.com/seleniumbase/SeleniumBase) | `4.56.5` | `4.57.1` | | [prek](https://github.com/j178/prek) | `0.5.9` | `0.5.10` | | [ruff](https://github.com/astral-sh/ruff) | `0.17.3` | `0.17.4` | Updates `dnspython` from 2.9.1 to 2.9.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/rthalley/dnspython/releases">dnspython's releases</a>.</em></p> <blockquote> <h2>dnspython 2.9.2</h2> <p>A malicious WKS record in text format can consume excessive memory and CPU when parsed, possibly causing the process to exit due to memory exhaustion. Thanks to Jace (GitHub <a href="https://github.com/manus-use"><code>@manus-use</code></a>) for discovering and reporting this issue.</p> <p>See <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> for details.</p> <p>The minimum supported version of Python is 3.11.</p> <p>My thanks to the many people who have contributed to this release. Also thanks to my co-maintainers: Nicki Křížek, Petr Špaček, and Brian Wellington.</p> <p>This release was published to PyPI using Trusted Publishing.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst">dnspython's changelog</a>.</em></p> <blockquote> <h2>2.9.2</h2> <ul> <li>A maliciously crafted zone file could use a WKS record to consume excessive memory and CPU, possibly causing the process to exit due to memory exhaustion. Thanks to Jace (GitHub <a href="https://github.com/manus-use"><code>@manus-use</code></a>) for discovering and reporting this issue.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/rthalley/dnspython/commit/854bedd6d641cb42785d26ca674ed2c0f20131e0"><code>854bedd</code></a> bump README.md version</li> <li><a href="https://github.com/rthalley/dnspython/commit/388db14ee9923288f6e73f86e482c77706e59d73"><code>388db14</code></a> Constrain WKS bitmap size.</li> <li><a href="https://github.com/rthalley/dnspython/commit/7e1832f58a9f1583db00461ae97f7a8603c6989f"><code>7e1832f</code></a> version bump</li> <li>See full diff in <a href="https://github.com/rthalley/dnspython/compare/v2.9.1...v2.9.2">compare view</a></li> </ul> </details> <br /> Updates `authlib` from 1.9.2 to 1.9.5 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/authlib/authlib/releases">authlib's releases</a>.</em></p> <blockquote> <h2>v1.9.5</h2> <p>Changelog: <a href="https://docs.authlib.org/en/stable/upgrades/changelog.html#changelog-1-9-5">https://docs.authlib.org/en/stable/upgrades/changelog.html#changelog-1-9-5</a></p> <p><strong>Full Changelog</strong>: <a href="https://github.com/authlib/authlib/compare/v1.9.4...v1.9.5">https://github.com/authlib/authlib/compare/v1.9.4...v1.9.5</a></p> <h2>v1.9.4</h2> <p>Changelog: <a href="https://docs.authlib.org/en/stable/upgrades/changelog.html#changelog-1-9-4">https://docs.authlib.org/en/stable/upgrades/changelog.html#changelog-1-9-4</a></p> <p><strong>Full Changelog</strong>: <a href="https://github.com/authlib/authlib/compare/v1.9.3...v1.9.4">https://github.com/authlib/authlib/compare/v1.9.3...v1.9.4</a></p> <h2>v1.9.3</h2> <p>Changelog: <a href="https://docs.authlib.org/en/stable/upgrades/changelog.html#changelog-1-9-3">https://docs.authlib.org/en/stable/upgrades/changelog.html#changelog-1-9-3</a></p> <p><strong>Full Changelog</strong>: <a href="https://github.com/authlib/authlib/compare/v1.9.2...v1.9.3">https://github.com/authlib/authlib/compare/v1.9.2...v1.9.3</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/authlib/authlib/commit/42607cbc2135252a641a845e4ed7f94e3a922c47"><code>42607cb</code></a> chore: release 1.9.5</li> <li><a href="https://github.com/authlib/authlib/commit/ce5bb0d0413765a638a623b1332a32feca142dcc"><code>ce5bb0d</code></a> fix(jose): refuse SSH keys with a tab and SSH certificates as HMAC secrets</li> <li><a href="https://github.com/authlib/authlib/commit/9dffddfaea643835b92caefe05f1548f57bd1433"><code>9dffddf</code></a> chore: release 1.9.4</li> <li><a href="https://github.com/authlib/authlib/commit/67db2aa36a9c5372efc3a31e441d315504dc1915"><code>67db2aa</code></a> fix(oauth): let IDJAGGrant resolve users by issuer and subject</li> <li><a href="https://github.com/authlib/authlib/commit/e90d1b19bf216e1359058b4cdb86ab557fb0a9f3"><code>e90d1b1</code></a> chore: release 1.9.3</li> <li><a href="https://github.com/authlib/authlib/commit/ec4c7a16c5dadbc6c51a868456aba527785f8637"><code>ec4c7a1</code></a> Merge commit from fork</li> <li>See full diff in <a href="https://github.com/authlib/authlib/compare/v1.9.2...v1.9.5">compare view</a></li> </ul> </details> <br /> Updates `joserfc` from 1.7.7 to 1.8.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/authlib/joserfc/releases">joserfc's releases</a>.</em></p> <blockquote> <h2>1.8.0</h2> <h3> 🐞 Bug Fixes</h3> <ul> <li>Use python>=3.11, improve type hints - by <a href="https://github.com/lepture"><code>@lepture</code></a> <a href="https://github.com/authlib/joserfc/commit/7c6de8c"><!-- raw HTML omitted -->(7c6de)<!-- raw HTML omitted --></a></li> <li>Replace typing as t syntax - by <a href="https://github.com/lepture"><code>@lepture</code></a> <a href="https://github.com/authlib/joserfc/commit/7422af8"><!-- raw HTML omitted -->(7422a)<!-- raw HTML omitted --></a></li> <li>Treat claims option "value" as the expected claim value - by <a href="https://github.com/choksi2212"><code>@choksi2212</code></a> <a href="https://github.com/authlib/joserfc/commit/232d647"><!-- raw HTML omitted -->(232d6)<!-- raw HTML omitted --></a></li> <li><strong>jwe</strong>: Refresh ECDH ephemeral keys per encryption - by <a href="https://github.com/lepture"><code>@lepture</code></a> <a href="https://github.com/authlib/joserfc/commit/cc6ec3f"><!-- raw HTML omitted -->(cc6ec)<!-- raw HTML omitted --></a></li> <li><strong>jwe</strong>: Reject explicitly empty AAD - by <a href="https://github.com/lepture"><code>@lepture</code></a> <a href="https://github.com/authlib/joserfc/commit/96ef53a"><!-- raw HTML omitted -->(96ef5)<!-- raw HTML omitted --></a></li> <li><strong>jwk</strong>: Reject certificates and prefixed public keys as oct - by <a href="https://github.com/lepture"><code>@lepture</code></a> <a href="https://github.com/authlib/joserfc/commit/bf66415"><!-- raw HTML omitted -->(bf664)<!-- raw HTML omitted --></a></li> <li><strong>jws</strong>: Protect critical JSON headers and b64 mode - by <a href="https://github.com/lepture"><code>@lepture</code></a> <a href="https://github.com/authlib/joserfc/commit/04cb5d8"><!-- raw HTML omitted -->(04cb5)<!-- raw HTML omitted --></a></li> <li><strong>jwt</strong>: Reject tokens whose exp equals the current time - by <a href="https://github.com/carlok"><code>@carlok</code></a> and <strong>Claude Sonnet 5.5</strong> <a href="https://github.com/authlib/joserfc/commit/e2e3a29"><!-- raw HTML omitted -->(e2e3a)<!-- raw HTML omitted --></a></li> <li><strong>jwt</strong>: Reject NaN and Infinity in exp, nbf and iat - by <a href="https://github.com/carlok"><code>@carlok</code></a> and <strong>Claude Sonnet 5.5</strong> <a href="https://github.com/authlib/joserfc/commit/b8a2394"><!-- raw HTML omitted -->(b8a23)<!-- raw HTML omitted --></a></li> <li><strong>jwt</strong>: Reject True/False in exp/nbf/iat - by <a href="https://github.com/lepture"><code>@lepture</code></a> <a href="https://github.com/authlib/joserfc/commit/953e509"><!-- raw HTML omitted -->(953e5)<!-- raw HTML omitted --></a></li> <li><strong>mypy</strong>: Use NotRequired in TypedDict - by <a href="https://github.com/lepture"><code>@lepture</code></a> <a href="https://github.com/authlib/joserfc/commit/351c1b3"><!-- raw HTML omitted -->(351c1)<!-- raw HTML omitted --></a></li> </ul> <h5> <a href="https://github.com/authlib/joserfc/compare/1.7.7...1.8.0">View changes on GitHub</a></h5> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/authlib/joserfc/blob/main/docs/changelog.rst">joserfc's changelog</a>.</em></p> <blockquote> <h2>1.8.0</h2> <p><strong>Released on November 3, 2026</strong></p> <ul> <li><strong>JWT</strong>: Reject non-finite and boolean NumericDate claims, and reject JWT payloads that are not JSON objects.</li> <li><strong>JWK</strong>: Reject X.509 certificates and prefixed asymmetric public keys as oct keys.</li> <li><strong>JWS</strong>: Require critical headers and RFC 7797 <code>b64</code> parameters to be protected, and require a consistent <code>b64</code> value across General JSON signatures.</li> <li><strong>JWE</strong>: Generate fresh ECDH ephemeral keys for each encryption and reject an explicitly empty AAD member.</li> <li>Drop Python 3.10 support; Python 3.11 or newer is required.</li> <li>Preserve key subclasses in factory return types with <code>typing.Self</code>.</li> <li>Improve claim validation type narrowing with <code>typing.TypeGuard</code> and refine password, native key, and equality annotations.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/authlib/joserfc/commit/f345ff71cd6c36452a4e11e47b805ad450a95dd8"><code>f345ff7</code></a> chore: release 1.8.0</li> <li><a href="https://github.com/authlib/joserfc/commit/f1a3e436439c43905c96ddfb1abad54c38b40f2c"><code>f1a3e43</code></a> chore: update deps</li> <li><a href="https://github.com/authlib/joserfc/commit/96ef53afe0f1af4904fa9c20d7a0f757518751ae"><code>96ef53a</code></a> fix(jwe): reject explicitly empty AAD</li> <li><a href="https://github.com/authlib/joserfc/commit/cc6ec3fdf5ebe144f7d9f7d7cdfed8c82f51b4d4"><code>cc6ec3f</code></a> fix(jwe): refresh ECDH ephemeral keys per encryption</li> <li><a href="https://github.com/authlib/joserfc/commit/04cb5d8bf7feff8d96fe804fe89cd531e8a3af25"><code>04cb5d8</code></a> fix(jws): protect critical JSON headers and b64 mode</li> <li><a href="https://github.com/authlib/joserfc/commit/bf664155d1d057779c0db93ac2e677dba75c86e5"><code>bf66415</code></a> fix(jwk): reject certificates and prefixed public keys as oct</li> <li><a href="https://github.com/authlib/joserfc/commit/953e509ebea1ef98636d2dcd2eec720ac64721c8"><code>953e509</code></a> fix(jwt): reject True/False in exp/nbf/iat</li> <li><a href="https://github.com/authlib/joserfc/commit/6ec88f2bbbc89a46c7e62821f964df1792364040"><code>6ec88f2</code></a> Merge pull request <a href="https://redirect.github.com/authlib/joserfc/issues/109">#109</a> from carlok/fix/exp-boundary</li> <li><a href="https://github.com/authlib/joserfc/commit/b8a23948eca85ebbc713a1f804bcd1508defa060"><code>b8a2394</code></a> fix(jwt): reject NaN and Infinity in exp, nbf and iat</li> <li><a href="https://github.com/authlib/joserfc/commit/e2e3a29e58ae67127193286317bc23513720b5bd"><code>e2e3a29</code></a> fix(jwt): reject tokens whose exp equals the current time</li> <li>Additional commits viewable in <a href="https://github.com/authlib/joserfc/compare/1.7.7...1.8.0">compare view</a></li> </ul> </details> <br /> Updates `seleniumbase` from 4.56.5 to 4.57.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/seleniumbase/SeleniumBase/releases">seleniumbase's releases</a>.</em></p> <blockquote> <h2>4.57.1 - Linux <code>aarch64</code> driver support (and more)</h2> <h2>Linux <code>aarch64</code> driver support (and more)</h2> <ul> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/c737901b527516e569ba4ce66c919b5f69e2865f">Add support for "aarch64" drivers on Linux</a> --> This resolves <a href="https://redirect.github.com/seleniumbase/SeleniumBase/issues/4546">seleniumbase/SeleniumBase#4546</a></li> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/8504f66f0095188cc53f580cd890367ea1b09e42">Update the default geckodriver version</a></li> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/ebebbc92b288cd77b84131b2cb38a34d065fd483">Refresh Python dependencies</a></li> </ul> <h2>What's Changed</h2> <ul> <li>Linux <code>aarch64</code> driver support (and more) by <a href="https://github.com/mdmintz"><code>@mdmintz</code></a> in <a href="https://redirect.github.com/seleniumbase/SeleniumBase/pull/4547">seleniumbase/SeleniumBase#4547</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/seleniumbase/SeleniumBase/compare/v4.57.0...v4.57.1">https://github.com/seleniumbase/SeleniumBase/compare/v4.57.0...v4.57.1</a></p> <h2>4.57.0 - CDP and MCP updates (and dependencies)</h2> <h2>CDP and MCP updates (and dependencies)</h2> <ul> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/aa7cdcd84470d2ae7c6670ff2da34696ce15d0da">Add timeout arg to CDP Mode's get_attribute() method</a> --> This resolves <a href="https://redirect.github.com/seleniumbase/SeleniumBase/issues/4542">seleniumbase/SeleniumBase#4542</a></li> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/737093e6130102351efb3cdb0b963b6f2e323540">Auto-detect when evaluate() needs to await a Promise</a> --> This resolves <a href="https://redirect.github.com/seleniumbase/SeleniumBase/issues/4543">seleniumbase/SeleniumBase#4543</a></li> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/5a2b40fc85fcb46ae36a2bc2a305879568ec8ba5">Update the default Chromium config</a> --> More stealth</li> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/d4072a4b3848a166983cd0fc5762d3af3e31a9df">Refresh Python dependencies</a> --> <code>pip</code> --> <code>websockets</code> --> <code>filelock</code> --> <code>trio</code> --> <code>selenium</code> --> <code>uv</code> (optional dependency)</li> </ul> <h2>What's Changed</h2> <ul> <li>CDP and MCP updates (and dependencies) by <a href="https://github.com/mdmintz"><code>@mdmintz</code></a> in <a href="https://redirect.github.com/seleniumbase/SeleniumBase/pull/4545">seleniumbase/SeleniumBase#4545</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/seleniumbase/SeleniumBase/compare/v4.56.5...v4.57.0">https://github.com/seleniumbase/SeleniumBase/compare/v4.56.5...v4.57.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/d98668b152f79a09c3f348af5173e67cccd8232d"><code>d98668b</code></a> Merge pull request <a href="https://redirect.github.com/seleniumbase/SeleniumBase/issues/4547">#4547</a> from seleniumbase/linux-aarch64-driver-support</li> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/2c46b3bd8cb957c4577f79a279ed24d33e4d2906"><code>2c46b3b</code></a> Version 4.57.1</li> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/c30c9b4b6a53eda06e445fa2b8021012251d89d0"><code>c30c9b4</code></a> Update MCP versioning</li> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/ff6b226c597db9b8af4e6e8a686cf324f6552b63"><code>ff6b226</code></a> Update the ReadMe</li> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/ebebbc92b288cd77b84131b2cb38a34d065fd483"><code>ebebbc9</code></a> Refresh Python dependencies</li> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/d71ca0ca298e621f3898b032a3e827d569c8193d"><code>d71ca0c</code></a> Update the docs</li> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/8504f66f0095188cc53f580cd890367ea1b09e42"><code>8504f66</code></a> Update the default geckodriver version</li> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/c737901b527516e569ba4ce66c919b5f69e2865f"><code>c737901</code></a> Add support for "aarch64" drivers on Linux</li> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/5b87e78f577c1c57f033a3f98543e04f59fef4d6"><code>5b87e78</code></a> Update examples and the ReadMe</li> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/b0e0a33aaf0e166dd2791bafcad29a688d197998"><code>b0e0a33</code></a> Update the ReadMe</li> <li>Additional commits viewable in <a href="https://github.com/seleniumbase/SeleniumBase/compare/v4.56.5...v4.57.1">compare view</a></li> </ul> </details> <br /> Updates `prek` from 0.5.9 to 0.5.10 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/j178/prek/releases">prek's releases</a>.</em></p> <blockquote> <h2>0.5.10</h2> <h2>Release Notes</h2> <p>Released on 2026-11-04.</p> <h3>Enhancements</h3> <ul> <li>Add a builtin <code>replace-pattern</code> hook (<a href="https://redirect.github.com/j178/prek/pull/2981">#2981</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Avoid downloading Node prereleases by default (<a href="https://redirect.github.com/j178/prek/pull/2995">#2995</a>)</li> <li>Keep file checks out of rayon's recursive frames (<a href="https://redirect.github.com/j178/prek/pull/2999">#2999</a>)</li> <li>Skip Node releases without a compatible archive (<a href="https://redirect.github.com/j178/prek/pull/2996">#2996</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Add equivalent prek.toml examples throughout the documentation (<a href="https://redirect.github.com/j178/prek/pull/2979">#2979</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/connorbrinton"><code>@connorbrinton</code></a></li> <li><a href="https://github.com/j178"><code>@j178</code></a></li> </ul> <h2>Install prek 0.5.10</h2> <h3>Install prebuilt binaries via shell script</h3> <pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.5.10/prek-installer.sh | sh </code></pre> <h3>Install prebuilt binaries via powershell script</h3> <pre lang="sh"><code>powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.5.10/prek-installer.ps1 | iex" </code></pre> <h3>Install prebuilt binaries via Homebrew</h3> <pre lang="sh"><code>brew install prek </code></pre> <h2>Download prek 0.5.10</h2> <table> <thead> <tr> <th>File</th> <th>Platform</th> <th>Checksum</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/j178/prek/releases/download/v0.5.10/prek-aarch64-apple-darwin.tar.gz">prek-aarch64-apple-darwin.tar.gz</a></td> <td>Apple Silicon macOS</td> <td><a href="https://github.com/j178/prek/releases/download/v0.5.10/prek-aarch64-apple-darwin.tar.gz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/j178/prek/releases/download/v0.5.10/prek-x86_64-apple-darwin.tar.gz">prek-x86_64-apple-darwin.tar.gz</a></td> <td>Intel macOS</td> <td><a href="https://github.com/j178/prek/releases/download/v0.5.10/prek-x86_64-apple-darwin.tar.gz.sha256">checksum</a></td> </tr> </tbody> </table> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/j178/prek/blob/main/CHANGELOG.md">prek's changelog</a>.</em></p> <blockquote> <h2>0.5.10</h2> <p>Released on 2026-11-04.</p> <h3>Enhancements</h3> <ul> <li>Add a builtin <code>replace-pattern</code> hook (<a href="https://redirect.github.com/j178/prek/pull/2981">#2981</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Avoid downloading Node prereleases by default (<a href="https://redirect.github.com/j178/prek/pull/2995">#2995</a>)</li> <li>Keep file checks out of rayon's recursive frames (<a href="https://redirect.github.com/j178/prek/pull/2999">#2999</a>)</li> <li>Skip Node releases without a compatible archive (<a href="https://redirect.github.com/j178/prek/pull/2996">#2996</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Add equivalent prek.toml examples throughout the documentation (<a href="https://redirect.github.com/j178/prek/pull/2979">#2979</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/connorbrinton"><code>@connorbrinton</code></a></li> <li><a href="https://github.com/j178"><code>@j178</code></a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/j178/prek/commit/516f5bdce9eab921021edb1c22305ad569605d50"><code>516f5bd</code></a> Bump version to 0.5.10 (<a href="https://redirect.github.com/j178/prek/issues/3001">#3001</a>)</li> <li><a href="https://github.com/j178/prek/commit/6201a32db79e732b1beff563715751e7077f4510"><code>6201a32</code></a> Upgrade serde-saphyr to 2.1.0 (<a href="https://redirect.github.com/j178/prek/issues/2877">#2877</a>)</li> <li><a href="https://github.com/j178/prek/commit/d08703e86427a7c1e593e526f4cbd18a92f4b085"><code>d08703e</code></a> Infer the release version from Cargo metadata (<a href="https://redirect.github.com/j178/prek/issues/3000">#3000</a>)</li> <li><a href="https://github.com/j178/prek/commit/f03096afd4fd8f00847a6618e8e31e6397b336f1"><code>f03096a</code></a> Keep file checks out of rayon's recursive frames (<a href="https://redirect.github.com/j178/prek/issues/2999">#2999</a>)</li> <li><a href="https://github.com/j178/prek/commit/c88a1ccc522e24546d348b55aa83332022a6fae9"><code>c88a1cc</code></a> Skip Node releases without a compatible archive (<a href="https://redirect.github.com/j178/prek/issues/2996">#2996</a>)</li> <li><a href="https://github.com/j178/prek/commit/10e7648e55e1c34e7b10118d4e5aa2acc1933c8d"><code>10e7648</code></a> Avoid downloading Node prereleases by default (<a href="https://redirect.github.com/j178/prek/issues/2995">#2995</a>)</li> <li><a href="https://github.com/j178/prek/commit/f1bfe9d6ea38503c9880d097c1c937d2141fc187"><code>f1bfe9d</code></a> Update prek hooks (<a href="https://redirect.github.com/j178/prek/issues/2993">#2993</a>)</li> <li><a href="https://github.com/j178/prek/commit/71e02db63b6d42e21f83744c3580bf8685b6fc9b"><code>71e02db</code></a> Make release publishing resumable (<a href="https://redirect.github.com/j178/prek/issues/2992">#2992</a>)</li> <li><a href="https://github.com/j178/prek/commit/84c3c67ad0c076848ddfbac4823bf164a696f7ce"><code>84c3c67</code></a> Update CI tools (<a href="https://redirect.github.com/j178/prek/issues/2983">#2983</a>)</li> <li><a href="https://github.com/j178/prek/commit/e4a4b4d7d247e89b26da118329ac11bb3da58ef5"><code>e4a4b4d</code></a> Group CI tools and compatible Rust dependencies (<a href="https://redirect.github.com/j178/prek/issues/2991">#2991</a>)</li> <li>Additional commits viewable in <a href="https://github.com/j178/prek/compare/v0.5.9...v0.5.10">compare view</a></li> </ul> </details> <br /> Updates `ruff` from 0.17.3 to 0.17.4 <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.17.4</h2> <h2>Release Notes</h2> <p>Released on 2026-11-05.</p> <h3>Preview features</h3> <ul> <li>[<code>flake8-logging-format</code>] Avoid behavior changes and syntax errors in fixes (<code>G004</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/27419">#27419</a>)</li> <li>[<code>security</code>] Implement <code>tarfile-ignore-zeros-true</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/28680">#28680</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Accept a bare raise before a semicolon (<a href="https://redirect.github.com/astral-sh/ruff/pull/29761">#29761</a>)</li> <li>Allow match identifiers after a semicolon (<a href="https://redirect.github.com/astral-sh/ruff/pull/29760">#29760</a>)</li> <li>Fix panic on BOM-prefixed files in diagnostic renderer (<a href="https://redirect.github.com/astral-sh/ruff/pull/30017">#30017</a>)</li> <li>[<code>flake8-simplify</code>] Report collapsible <code>elif</code> clauses after a multi-statement <code>if</code> branch (<code>SIM102</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/29814">#29814</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>Show more nonprinting characters in diagnostic fix diffs (<a href="https://redirect.github.com/astral-sh/ruff/pull/30062">#30062</a>)</li> </ul> <h3>Performance</h3> <ul> <li>Coalesce source slices when formatting attributes (<a href="https://redirect.github.com/astral-sh/ruff/pull/29841">#29841</a>)</li> <li>Collect return statements with a statement-only visitor (<a href="https://redirect.github.com/astral-sh/ruff/pull/29911">#29911</a>)</li> <li>[<code>pyflakes</code>] Defer value comparisons for repeated dictionary keys (<code>F601</code>, <code>F602</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/29739">#29739</a>)</li> <li>Format node fields directly when comment handling is unnecessary (<a href="https://redirect.github.com/astral-sh/ruff/pull/29853">#29853</a>)</li> <li>Reduce formatter source-slice overhead (<a href="https://redirect.github.com/astral-sh/ruff/pull/29855">#29855</a>)</li> <li>Reuse a callee's qualified name across lint rules (<a href="https://redirect.github.com/astral-sh/ruff/pull/29916">#29916</a>)</li> <li>Skip invalid string character checks when the source contains none (<a href="https://redirect.github.com/astral-sh/ruff/pull/29883">#29883</a>)</li> <li>Use a Bloom filter for formatter comment lookups (<a href="https://redirect.github.com/astral-sh/ruff/pull/29852">#29852</a>)</li> <li>Use a concrete buffer for ordinary writes (<a href="https://redirect.github.com/astral-sh/ruff/pull/29819">#29819</a>)</li> </ul> <h3>CLI</h3> <ul> <li>Give <code>NO_COLOR</code> precedence in Ruff and ty diagnostics (<a href="https://redirect.github.com/astral-sh/ruff/pull/29898">#29898</a>)</li> <li>Honor <code>CLICOLOR=0</code> in Ruff and ty diagnostics (<a href="https://redirect.github.com/astral-sh/ruff/pull/29910">#29910</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Correct the documented <code>version</code> and <code>src</code> defaults for <code>ruff-action</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/29880">#29880</a>)</li> <li>[<code>flake8-bugbear</code>] Make <code>B014</code> example error out-of-the-box (<a href="https://redirect.github.com/astral-sh/ruff/pull/29941">#29941</a>)</li> <li>[<code>flake8-no-pep420</code>] Document preview behavior (<code>INP001</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/29764">#29764</a>)</li> <li>[<code>isort</code>] Expand <code>I001</code> documentation (<a href="https://redirect.github.com/astral-sh/ruff/pull/29843">#29843</a>)</li> </ul> <h3>Other changes</h3> <ul> <li>[syntax-errors] Extend <code>__debug__</code> write check to attribute targets (<a href="https://redirect.github.com/astral-sh/ruff/pull/27908">#27908</a>)</li> </ul> <h3>Contributors</h3> <!-- 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.17.4</h2> <p>Released on 2026-11-05.</p> <h3>Preview features</h3> <ul> <li>[<code>flake8-logging-format</code>] Avoid behavior changes and syntax errors in fixes (<code>G004</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/27419">#27419</a>)</li> <li>[<code>security</code>] Implement <code>tarfile-ignore-zeros-true</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/28680">#28680</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Accept a bare raise before a semicolon (<a href="https://redirect.github.com/astral-sh/ruff/pull/29761">#29761</a>)</li> <li>Allow match identifiers after a semicolon (<a href="https://redirect.github.com/astral-sh/ruff/pull/29760">#29760</a>)</li> <li>Fix panic on BOM-prefixed files in diagnostic renderer (<a href="https://redirect.github.com/astral-sh/ruff/pull/30017">#30017</a>)</li> <li>[<code>flake8-simplify</code>] Report collapsible <code>elif</code> clauses after a multi-statement <code>if</code> branch (<code>SIM102</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/29814">#29814</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>Show more nonprinting characters in diagnostic fix diffs (<a href="https://redirect.github.com/astral-sh/ruff/pull/30062">#30062</a>)</li> </ul> <h3>Performance</h3> <ul> <li>Coalesce source slices when formatting attributes (<a href="https://redirect.github.com/astral-sh/ruff/pull/29841">#29841</a>)</li> <li>Collect return statements with a statement-only visitor (<a href="https://redirect.github.com/astral-sh/ruff/pull/29911">#29911</a>)</li> <li>[<code>pyflakes</code>] Defer value comparisons for repeated dictionary keys (<code>F601</code>, <code>F602</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/29739">#29739</a>)</li> <li>Format node fields directly when comment handling is unnecessary (<a href="https://redirect.github.com/astral-sh/ruff/pull/29853">#29853</a>)</li> <li>Reduce formatter source-slice overhead (<a href="https://redirect.github.com/astral-sh/ruff/pull/29855">#29855</a>)</li> <li>Reuse a callee's qualified name across lint rules (<a href="https://redirect.github.com/astral-sh/ruff/pull/29916">#29916</a>)</li> <li>Skip invalid string character checks when the source contains none (<a href="https://redirect.github.com/astral-sh/ruff/pull/29883">#29883</a>)</li> <li>Use a Bloom filter for formatter comment lookups (<a href="https://redirect.github.com/astral-sh/ruff/pull/29852">#29852</a>)</li> <li>Use a concrete buffer for ordinary writes (<a href="https://redirect.github.com/astral-sh/ruff/pull/29819">#29819</a>)</li> </ul> <h3>CLI</h3> <ul> <li>Give <code>NO_COLOR</code> precedence in Ruff and ty diagnostics (<a href="https://redirect.github.com/astral-sh/ruff/pull/29898">#29898</a>)</li> <li>Honor <code>CLICOLOR=0</code> in Ruff and ty diagnostics (<a href="https://redirect.github.com/astral-sh/ruff/pull/29910">#29910</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Correct the documented <code>version</code> and <code>src</code> defaults for <code>ruff-action</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/29880">#29880</a>)</li> <li>[<code>flake8-bugbear</code>] Make <code>B014</code> example error out-of-the-box (<a href="https://redirect.github.com/astral-sh/ruff/pull/29941">#29941</a>)</li> <li>[<code>flake8-no-pep420</code>] Document preview behavior (<code>INP001</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/29764">#29764</a>)</li> <li>[<code>isort</code>] Expand <code>I001</code> documentation (<a href="https://redirect.github.com/astral-sh/ruff/pull/29843">#29843</a>)</li> </ul> <h3>Other changes</h3> <ul> <li>[syntax-errors] Extend <code>__debug__</code> write check to attribute targets (<a href="https://redirect.github.com/astral-sh/ruff/pull/27908">#27908</a>)</li> </ul> <h3>Contributors</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/ruff/commit/05cdc36a45a29e078c2af9358969d0f576408bef"><code>05cdc36</code></a> Bump version to 0.17.4 (<a href="https://redirect.github.com/astral-sh/ruff/issues/30073">#30073</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/c6b17c2b0bd1a0ffe6cd562c6dfaeece2a65f742"><code>c6b17c2</code></a> [ty] Freshen method typevars before owner specialization (<a href="https://redirect.github.com/astral-sh/ruff/issues/29543">#29543</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/4b0b407bfccff1d6aa46e2f26112f334bfab3140"><code>4b0b407</code></a> [ty] Preserve unions inferred during fixpoint iteration (<a href="https://redirect.github.com/astral-sh/ruff/issues/29927">#29927</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/1dd3e9ec7eb8da6b39318ef1084bc070a53ae272"><code>1dd3e9e</code></a> Show more nonprinting characters in diagnostic fix diffs (<a href="https://redirect.github.com/astral-sh/ruff/issues/30062">#30062</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/32be8e7258782da94b18752249971be4708d485c"><code>32be8e7</code></a> [ty] Skip fixpoint iteration for simple generic calls (<a href="https://redirect.github.com/astral-sh/ruff/issues/30054">#30054</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/926ccc883c5cf3d54b1dea610603acd2aae93c19"><code>926ccc8</code></a> [ty] Handle output errors when generating shell completions (<a href="https://redirect.github.com/astral-sh/ruff/issues/29997">#29997</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/c86652abceafe81457858c75c9233eadf1d39912"><code>c86652a</code></a> [ty] Skip active Conda and Pixi environments during discovery if the environm...</li> <li><a href="https://github.com/astral-sh/ruff/commit/c9150f008303c86ad49675f73b75b923f0013bdf"><code>c9150f0</code></a> Add project walltime benchmarks for Ruff (<a href="https://redirect.github.com/astral-sh/ruff/issues/30061">#30061</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/64989ec2a42c65dabb471e20976f4f014c966f27"><code>64989ec</code></a> [ty] Report invalid module globs once per override pattern (<a href="https://redirect.github.com/astral-sh/ruff/issues/30031">#30031</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/367a5639d2bbd4a641e5fb4a1aaa6a41beab9711"><code>367a563</code></a> [ty] Fix conditional type and tuple annotations (<a href="https://redirect.github.com/astral-sh/ruff/issues/29987">#29987</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/0.17.3...0.17.4">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 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> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> <!-- coderabbit-ai-generated:v1 --> ## Summary by CodeRabbit * **Chores** * Updated internal project configuration. No user-facing changes are included in this update. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
180 lines
3.6 KiB
TOML
180 lines
3.6 KiB
TOML
[project]
|
|
name = "shelfmark"
|
|
version = "0.1.0"
|
|
description = "Shelfmark - Book Downloader"
|
|
requires-python = ">=3.14"
|
|
dependencies = [
|
|
"flask",
|
|
"flask-cors",
|
|
"flask-socketio",
|
|
"python-socketio",
|
|
"requests[socks]",
|
|
"defusedxml",
|
|
"beautifulsoup4",
|
|
"tqdm",
|
|
"dnspython",
|
|
"gunicorn",
|
|
"gevent",
|
|
"gevent-websocket",
|
|
"psutil",
|
|
"emoji",
|
|
"rarfile",
|
|
"qbittorrent-api>=2026.10.1",
|
|
"transmission-rpc",
|
|
"authlib>=1.9.5,<1.10",
|
|
# Authlib validates ID tokens with joserfc and raises its errors, so the OIDC routes
|
|
# catch joserfc's InvalidClaimError. authlib.jose is deprecated and goes in Authlib 2.0.
|
|
"joserfc>=1.8.0",
|
|
"apprise>=2.1.0",
|
|
# HTTP/2 client for RFC 8484 DoH: quad9 rejects HTTP/1.1 outright (505), which
|
|
# requests cannot speak. See shelfmark/download/doh_wireformat.py.
|
|
"httpx[http2]>=0.28.1",
|
|
"publicsuffixlist>=1.1.2.20261101",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
browser = [
|
|
"pyvirtualdisplay",
|
|
"pyautogui",
|
|
"seleniumbase==4.57.1",
|
|
"python-xlib",
|
|
]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"basedpyright>=1.40.2",
|
|
"prek",
|
|
"pytest",
|
|
"pytest-cov",
|
|
"pytest-xdist>=3.8.0",
|
|
"ruff==0.17.4",
|
|
"vulture>=2.14",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
python_files = ["test_*.py", "*_test.py"]
|
|
python_classes = ["Test*"]
|
|
python_functions = ["test_*"]
|
|
addopts = [
|
|
"-v",
|
|
"--tb=short",
|
|
"-n",
|
|
"auto",
|
|
]
|
|
markers = [
|
|
"integration: marks tests that require running services (deselect with '-m \"not integration\"')",
|
|
"slow: marks tests as slow (deselect with '-m \"not slow\"')",
|
|
"e2e: marks end-to-end tests that require the full application stack",
|
|
]
|
|
|
|
[tool.ruff]
|
|
line-length = 100
|
|
extend-exclude = [".local"]
|
|
|
|
[tool.ruff.lint]
|
|
select = [
|
|
"F", "I", "UP", "B", "C4", "SIM", "PTH", "RET", "PIE", "FURB", "PERF", "TRY",
|
|
"A", "DTZ", "N",
|
|
"BLE001",
|
|
"ANN001", "ANN002", "ANN003", "ANN201", "ANN202", "ANN204",
|
|
"E402",
|
|
"ERA001",
|
|
"E731",
|
|
"S101",
|
|
"S110",
|
|
"S105", "S108",
|
|
"S311", "S324",
|
|
"S607", "S608",
|
|
"G003", "G004",
|
|
"PGH003",
|
|
"PLC0414",
|
|
"PLR1714",
|
|
"PLW1510",
|
|
"PLW2901",
|
|
"PLW0108",
|
|
"PT028",
|
|
"PYI034",
|
|
"Q000",
|
|
"RUF005", "RUF012", "RUF013", "RUF059", "RUF100",
|
|
"TC001", "TC002", "TC003",
|
|
]
|
|
ignore = ["D", "EM", "FBT", "PLR2004", "UP035", "TRY003", "E501", "TD002", "S104", "S603"]
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"scripts/**/*.py" = [
|
|
"BLE001",
|
|
"S",
|
|
"TRY",
|
|
]
|
|
"tests/**/*.py" = [
|
|
"ANN",
|
|
"BLE001",
|
|
"B010",
|
|
"B017",
|
|
"B028",
|
|
"DTZ",
|
|
"E402",
|
|
"E731",
|
|
"ERA001",
|
|
"FURB",
|
|
"G003",
|
|
"G004",
|
|
"PERF",
|
|
"PIE",
|
|
"PLC0414",
|
|
"PLW0108",
|
|
"PLW1510",
|
|
"PLW2901",
|
|
"PTH",
|
|
"PT028",
|
|
"PYI034",
|
|
"Q000",
|
|
"RET",
|
|
"RUF012",
|
|
"S",
|
|
"SIM",
|
|
"TC001",
|
|
"TC002",
|
|
"TC003",
|
|
"TRY",
|
|
"UP028",
|
|
]
|
|
|
|
[tool.basedpyright]
|
|
include = ["shelfmark"]
|
|
exclude = [".local", "tests", "**/__pycache__", "**/node_modules"]
|
|
pythonVersion = "3.14"
|
|
typeCheckingMode = "standard"
|
|
|
|
[tool.vulture]
|
|
paths = ["shelfmark"]
|
|
exclude = [".local", "tests"]
|
|
ignore_decorators = [
|
|
"@app.route",
|
|
"@app.before_request",
|
|
"@app.after_request",
|
|
"@app.errorhandler",
|
|
"@socketio.on",
|
|
"@register_provider",
|
|
"@register_provider_kwargs",
|
|
"@register_settings",
|
|
"@register_source",
|
|
"@register_handler",
|
|
"@register_client",
|
|
"@register_output",
|
|
]
|
|
min_confidence = 90
|
|
sort_by_size = true
|
|
|
|
[tool.coverage.run]
|
|
source = ["shelfmark"]
|
|
branch = true
|
|
|
|
[tool.coverage.report]
|
|
show_missing = true
|
|
skip_empty = true
|
|
|
|
[tool.uv]
|
|
package = false
|