mirror of
https://github.com/calibrain/shelfmark.git
synced 2026-10-03 18:55:50 +01:00
Bumps the python-deps group with 3 updates: [gevent](https://github.com/gevent/gevent), [seleniumbase](https://github.com/seleniumbase/SeleniumBase) and [prek](https://github.com/j178/prek). Updates `gevent` from 26.7.0 to 26.8.0 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/gevent/gevent/commit/4f684105f537eeceb9988adbfe81420a1f28d9a0"><code>4f68410</code></a> Preparing release 26.8.0</li> <li><a href="https://github.com/gevent/gevent/commit/10489c56d3b03caae5be00bc46996a0180ab3d8c"><code>10489c5</code></a> Merge pull request <a href="https://redirect.github.com/gevent/gevent/issues/2199">#2199</a> from florentinl/florentin.labelle/fix/hubless-thread...</li> <li><a href="https://github.com/gevent/gevent/commit/d4f5f098c5d6655e9700336ed6f15e924a7fd142"><code>d4f5f09</code></a> Document the args[0] cross-thread wakeup mechanism</li> <li><a href="https://github.com/gevent/gevent/commit/9b049915e8e308e4286f922fd51baf9d92187a88"><code>9b04991</code></a> Run test_cross_thread_callback_can_run_before_scheduling_returns on all backends</li> <li><a href="https://github.com/gevent/gevent/commit/ce7996d7048d3555be2869cc6172d47e332efb58"><code>ce7996d</code></a> Address review comments: document cross-thread race, drop unneeded cpdef</li> <li><a href="https://github.com/gevent/gevent/commit/5288a6eec90ca63f9658b44d67f14fbdfe07259d"><code>5288a6e</code></a> Add missing <a href="https://github.com/ignores"><code>@ignores</code></a>_leakcheck to new cross-thread test</li> <li><a href="https://github.com/gevent/gevent/commit/c72eda095d99e82ca0c767afe56baecbc4c131a2"><code>c72eda0</code></a> Fix cross-thread notifier scheduling race</li> <li><a href="https://github.com/gevent/gevent/commit/908b93730ffef5cee0594e4482b3a43b476c43a4"><code>908b937</code></a> Merge pull request <a href="https://redirect.github.com/gevent/gevent/issues/2195">#2195</a> from ddorian/fix-popen-exit-reentrant-close</li> <li><a href="https://github.com/gevent/gevent/commit/b58795f8a659e767b0317cd199d68f273b742167"><code>b58795f</code></a> Merge pull request <a href="https://redirect.github.com/gevent/gevent/issues/2191">#2191</a> from ddorian/fix-1865-global-shutdown-lock</li> <li><a href="https://github.com/gevent/gevent/commit/ede2e71a859198b96a22f4c683fa210e750406e6"><code>ede2e71</code></a> Always use 'versionchanged:: NEXT' to let the release machinery fill in the c...</li> <li>Additional commits viewable in <a href="https://github.com/gevent/gevent/compare/26.7.0...26.8.0">compare view</a></li> </ul> </details> <br /> Updates `seleniumbase` from 4.51.11 to 4.51.12 <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.51.12 - CDP Mode: Patch 128</h2> <h2>CDP Mode: Patch 128</h2> <ul> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/2322c11a532a43a00f7224bb02aba30f677457f5">Perform no-op on duplicate quit() calls to avoid coroutine warnings</a> --> This resolves <a href="https://redirect.github.com/seleniumbase/SeleniumBase/issues/4458">seleniumbase/SeleniumBase#4458</a></li> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/117c9994dce50e134746580f3f73f62ed22449b2">Refresh Python dependencies</a> --> <code>setuptools</code> and <code>platformdirs</code></li> </ul> <h2>What's Changed</h2> <ul> <li>CDP Mode: Patch 128 by <a href="https://github.com/mdmintz"><code>@mdmintz</code></a> in <a href="https://redirect.github.com/seleniumbase/SeleniumBase/pull/4459">seleniumbase/SeleniumBase#4459</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/seleniumbase/SeleniumBase/compare/v4.51.11...v4.51.12">https://github.com/seleniumbase/SeleniumBase/compare/v4.51.11...v4.51.12</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/2b54219498fdda1a6c689be543f7777ed6c125a4"><code>2b54219</code></a> Merge pull request <a href="https://redirect.github.com/seleniumbase/SeleniumBase/issues/4459">#4459</a> from seleniumbase/cdp-mode-patch-128</li> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/6774cef0999b82c3b22dcd5a5a896a6299e8a69b"><code>6774cef</code></a> Version 4.51.12</li> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/117c9994dce50e134746580f3f73f62ed22449b2"><code>117c999</code></a> Refresh Python dependencies</li> <li><a href="https://github.com/seleniumbase/SeleniumBase/commit/2322c11a532a43a00f7224bb02aba30f677457f5"><code>2322c11</code></a> Perform no-op on duplicate quit() calls to avoid coroutine warnings</li> <li>See full diff in <a href="https://github.com/seleniumbase/SeleniumBase/compare/v4.51.11...v4.51.12">compare view</a></li> </ul> </details> <br /> Updates `prek` from 0.4.12 to 0.4.13 <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.4.13</h2> <h2>Release Notes</h2> <p>Released on 2026-08-10.</p> <h3>Highlights</h3> <h4>Manage hook tools with mise</h4> <p>The new <code>language: mise</code> support lets hooks install tools using <a href="https://mise.jdx.dev/"><code>mise</code></a> in an isolated environment:</p> <pre lang="yaml"><code>repos: - repo: local hooks: - id: golangci-lint name: golangci-lint language: mise additional_dependencies: ["aqua:golangci/golangci-lint@2"] entry: golangci-lint run --fast-only ./... pass_filenames: false </code></pre> <h4>Run commands in hook environments</h4> <p>The new <code>prek exec</code> subcommand can run an explicit command in a configured hook's prepared environment. For example, the hook above makes its managed binary available to this command:</p> <pre lang="console"><code>$ prek exec golangci-lint -- golangci-lint --version </code></pre> <h3>Enhancements</h3> <ul> <li>Add <code>mise</code> language support (<a href="https://redirect.github.com/j178/prek/pull/2540">#2540</a>)</li> <li>Add <code>deny-filename-pattern</code> and <code>require-filename-pattern</code> hooks (<a href="https://redirect.github.com/j178/prek/pull/2488">#2488</a>)</li> <li>Add <code>prek exec</code> for running commands in a hook environment (<a href="https://redirect.github.com/j178/prek/pull/2478">#2478</a>)</li> <li>Add <code>yaml-language-server:</code> comment to YAML sample config (<a href="https://redirect.github.com/j178/prek/pull/2486">#2486</a>)</li> <li>Make <code>prek cache size</code> output terminal-aware (<a href="https://redirect.github.com/j178/prek/pull/2508">#2508</a>)</li> <li>Match file regexes against path bytes (<a href="https://redirect.github.com/j178/prek/pull/2541">#2541</a>)</li> <li>Show hook aliases in run output (<a href="https://redirect.github.com/j178/prek/pull/2497">#2497</a>)</li> <li>Show hook descriptions in run output (<a href="https://redirect.github.com/j178/prek/pull/2490">#2490</a>)</li> </ul> <h3>Performance</h3> <ul> <li>Avoid env cache scans for skipped hooks (<a href="https://redirect.github.com/j178/prek/pull/2502">#2502</a>)</li> <li>Cache Node version queries (<a href="https://redirect.github.com/j178/prek/pull/2500">#2500</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/j178/prek/blob/master/CHANGELOG.md">prek's changelog</a>.</em></p> <blockquote> <h2>0.4.13</h2> <p>Released on 2026-08-10.</p> <h3>Highlights</h3> <h4>Manage hook tools with mise</h4> <p>The new <code>language: mise</code> support lets hooks install tools using <a href="https://mise.jdx.dev/"><code>mise</code></a> in an isolated environment:</p> <pre lang="yaml"><code>repos: - repo: local hooks: - id: golangci-lint name: golangci-lint language: mise additional_dependencies: ["aqua:golangci/golangci-lint@2"] entry: golangci-lint run --fast-only ./... pass_filenames: false </code></pre> <h4>Run commands in hook environments</h4> <p>The new <code>prek exec</code> subcommand can run an explicit command in a configured hook's prepared environment. For example, the hook above makes its managed binary available to this command:</p> <pre lang="console"><code>$ prek exec golangci-lint -- golangci-lint --version </code></pre> <h3>Enhancements</h3> <ul> <li>Add <code>mise</code> language support (<a href="https://redirect.github.com/j178/prek/pull/2540">#2540</a>)</li> <li>Add <code>deny-filename-pattern</code> and <code>require-filename-pattern</code> hooks (<a href="https://redirect.github.com/j178/prek/pull/2488">#2488</a>)</li> <li>Add <code>prek exec</code> for running commands in a hook environment (<a href="https://redirect.github.com/j178/prek/pull/2478">#2478</a>)</li> <li>Add <code>yaml-language-server:</code> comment to YAML sample config (<a href="https://redirect.github.com/j178/prek/pull/2486">#2486</a>)</li> <li>Make <code>prek cache size</code> output terminal-aware (<a href="https://redirect.github.com/j178/prek/pull/2508">#2508</a>)</li> <li>Match file regexes against path bytes (<a href="https://redirect.github.com/j178/prek/pull/2541">#2541</a>)</li> <li>Show hook aliases in run output (<a href="https://redirect.github.com/j178/prek/pull/2497">#2497</a>)</li> <li>Show hook descriptions in run output (<a href="https://redirect.github.com/j178/prek/pull/2490">#2490</a>)</li> </ul> <h3>Performance</h3> <ul> <li>Avoid env cache scans for skipped hooks (<a href="https://redirect.github.com/j178/prek/pull/2502">#2502</a>)</li> <li>Cache Node version queries (<a href="https://redirect.github.com/j178/prek/pull/2500">#2500</a>)</li> </ul> <h3>Bug fixes</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/j178/prek/commit/6204a68bc591773d8a796e1b6c9898cd35aa520d"><code>6204a68</code></a> Bump version to 0.4.13 (<a href="https://redirect.github.com/j178/prek/issues/2543">#2543</a>)</li> <li><a href="https://github.com/j178/prek/commit/f1c73c5f1780b1d3931d372016c2f9b244be1126"><code>f1c73c5</code></a> Add mise language support (<a href="https://redirect.github.com/j178/prek/issues/2540">#2540</a>)</li> <li><a href="https://github.com/j178/prek/commit/3f08ed41fb440af8cc9430cda729f6f41a497c2d"><code>3f08ed4</code></a> Match file regexes against path bytes (<a href="https://redirect.github.com/j178/prek/issues/2541">#2541</a>)</li> <li><a href="https://github.com/j178/prek/commit/6bc5f06f1f090ecf034109ce5b8cc5c773b096d2"><code>6bc5f06</code></a> Update Rust crate serde-saphyr to v1 (<a href="https://redirect.github.com/j178/prek/issues/2539">#2539</a>)</li> <li><a href="https://github.com/j178/prek/commit/b8c5c69ea3452a77ebc2711ed3b2b8ad011f4791"><code>b8c5c69</code></a> Update Rust crate fancy-regex to 0.19.0 (<a href="https://redirect.github.com/j178/prek/issues/2537">#2537</a>)</li> <li><a href="https://github.com/j178/prek/commit/2557af921bf5ed6a919385dc18e0177c05530c71"><code>2557af9</code></a> Update prek hooks (<a href="https://redirect.github.com/j178/prek/issues/2528">#2528</a>)</li> <li><a href="https://github.com/j178/prek/commit/a9587311bc8aa8bf13de7d5d612b93e00f248500"><code>a958731</code></a> Update Rust crate http to v1.5.0 (<a href="https://redirect.github.com/j178/prek/issues/2538">#2538</a>)</li> <li><a href="https://github.com/j178/prek/commit/fc8b9a45288e005291e1945792543da7a44a2f3a"><code>fc8b9a4</code></a> Update Rust crate clap to v4.6.5 (<a href="https://redirect.github.com/j178/prek/issues/2531">#2531</a>)</li> <li><a href="https://github.com/j178/prek/commit/3bacaa18ad0b0ea67b15e7ea35d4175ad213bd86"><code>3bacaa1</code></a> Update dependency uv to v0.12.1 (<a href="https://redirect.github.com/j178/prek/issues/2536">#2536</a>)</li> <li><a href="https://github.com/j178/prek/commit/222fc00edd3fb3b3b4443ea54bacc1e868e6e6a7"><code>222fc00</code></a> Update Rust crate toml to v1.1.4 (<a href="https://redirect.github.com/j178/prek/issues/2535">#2535</a>)</li> <li>Additional commits viewable in <a href="https://github.com/j178/prek/compare/v0.4.12...v0.4.13">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> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
173 lines
3.2 KiB
TOML
173 lines
3.2 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.8.0",
|
|
"transmission-rpc",
|
|
"authlib>=1.7.2,<1.8",
|
|
"apprise>=1.12.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
browser = [
|
|
"pyvirtualdisplay",
|
|
"pyautogui",
|
|
"seleniumbase==4.51.12",
|
|
"python-xlib",
|
|
]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"basedpyright>=1.39.9",
|
|
"prek",
|
|
"pytest",
|
|
"pytest-cov",
|
|
"pytest-xdist>=3.8.0",
|
|
"ruff==0.16.2",
|
|
"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
|