mirror of
https://github.com/calibrain/shelfmark.git
synced 2026-09-24 22:05:20 +01:00
Bumps the python-deps group with 2 updates: [authlib](https://github.com/authlib/authlib) and [apprise](https://github.com/caronc/apprise). Updates `authlib` from 1.7.2 to 1.8.0 <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.8.0</h2> <h2>What's Changed</h2> <ul> <li>Prefer <code>id_token_signed_response_alg</code> client metadata to guess algs by <a href="https://github.com/azmeuk"><code>@azmeuk</code></a> in <a href="https://redirect.github.com/authlib/authlib/pull/888">authlib/authlib#888</a></li> <li>fix: Catch InvalidKeyIdError in RFC 9068 JWTBearerTokenValidator by <a href="https://github.com/liudonggalaxy"><code>@liudonggalaxy</code></a> in <a href="https://redirect.github.com/authlib/authlib/pull/891">authlib/authlib#891</a></li> <li>fix: make leeway configurable in JWTBearerTokenValidator by <a href="https://github.com/mondi04"><code>@mondi04</code></a> in <a href="https://redirect.github.com/authlib/authlib/pull/903">authlib/authlib#903</a></li> <li>feat: add default jti claim to sign_jwt_bearer_assertion by <a href="https://github.com/liudonggalaxy"><code>@liudonggalaxy</code></a> in <a href="https://redirect.github.com/authlib/authlib/pull/897">authlib/authlib#897</a></li> <li>fix(oauth): cast sub claim to string in JWTBearerTokenGenerator by <a href="https://github.com/levinKaus"><code>@levinKaus</code></a> in <a href="https://redirect.github.com/authlib/authlib/pull/911">authlib/authlib#911</a></li> <li>Declare lower bounds for dependencies by <a href="https://github.com/azmeuk"><code>@azmeuk</code></a> in <a href="https://redirect.github.com/authlib/authlib/pull/912">authlib/authlib#912</a></li> <li>feat(client): use httpx2 instead of httpx by <a href="https://github.com/levinKaus"><code>@levinKaus</code></a> in <a href="https://redirect.github.com/authlib/authlib/pull/909">authlib/authlib#909</a></li> <li>Fix RFC7523 malformed claims handling by <a href="https://github.com/azmeuk"><code>@azmeuk</code></a> in <a href="https://redirect.github.com/authlib/authlib/pull/916">authlib/authlib#916</a></li> <li>Fix httpx oauth1 binary form data by <a href="https://github.com/shc261392"><code>@shc261392</code></a> in <a href="https://redirect.github.com/authlib/authlib/pull/779">authlib/authlib#779</a></li> <li>fix(starlette_client): remove default= keyword from config.get calls by <a href="https://github.com/aliaksei-protchanka"><code>@aliaksei-protchanka</code></a> in <a href="https://redirect.github.com/authlib/authlib/pull/770">authlib/authlib#770</a></li> <li>Added client_id parameter to AssertionClient by <a href="https://github.com/vilmar-hillow"><code>@vilmar-hillow</code></a> in <a href="https://redirect.github.com/authlib/authlib/pull/476">authlib/authlib#476</a></li> <li>fix(oauth): save device credential with authenticated client id by <a href="https://github.com/arpitjain099"><code>@arpitjain099</code></a> in <a href="https://redirect.github.com/authlib/authlib/pull/908">authlib/authlib#908</a></li> <li>fix(oauth1): correct protocol name in InsecureTransportError description by <a href="https://github.com/RavSinghChandan"><code>@RavSinghChandan</code></a> in <a href="https://redirect.github.com/authlib/authlib/pull/919">authlib/authlib#919</a></li> <li>fix(client): client can be flexible with jwt's header by <a href="https://github.com/lepture"><code>@lepture</code></a> in <a href="https://redirect.github.com/authlib/authlib/pull/922">authlib/authlib#922</a></li> <li>fix(oidc): omit claims when the value is None by <a href="https://github.com/lepture"><code>@lepture</code></a> in <a href="https://redirect.github.com/authlib/authlib/pull/923">authlib/authlib#923</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/mondi04"><code>@mondi04</code></a> made their first contribution in <a href="https://redirect.github.com/authlib/authlib/pull/903">authlib/authlib#903</a></li> <li><a href="https://github.com/levinKaus"><code>@levinKaus</code></a> made their first contribution in <a href="https://redirect.github.com/authlib/authlib/pull/911">authlib/authlib#911</a></li> <li><a href="https://github.com/aliaksei-protchanka"><code>@aliaksei-protchanka</code></a> made their first contribution in <a href="https://redirect.github.com/authlib/authlib/pull/770">authlib/authlib#770</a></li> <li><a href="https://github.com/vilmar-hillow"><code>@vilmar-hillow</code></a> made their first contribution in <a href="https://redirect.github.com/authlib/authlib/pull/476">authlib/authlib#476</a></li> <li><a href="https://github.com/arpitjain099"><code>@arpitjain099</code></a> made their first contribution in <a href="https://redirect.github.com/authlib/authlib/pull/908">authlib/authlib#908</a></li> <li><a href="https://github.com/RavSinghChandan"><code>@RavSinghChandan</code></a> made their first contribution in <a href="https://redirect.github.com/authlib/authlib/pull/919">authlib/authlib#919</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/authlib/authlib/compare/v1.7.2...v1.8.0">https://github.com/authlib/authlib/compare/v1.7.2...v1.8.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/authlib/authlib/commit/1a86748b31a2b1940b09cf627d1b70e03d85c077"><code>1a86748</code></a> chore: release 1.8.0</li> <li><a href="https://github.com/authlib/authlib/commit/e4fb941d4959a11e875b34880c41f46ba7cd8c67"><code>e4fb941</code></a> Merge pull request <a href="https://redirect.github.com/authlib/authlib/issues/923">#923</a> from authlib/fix-921</li> <li><a href="https://github.com/authlib/authlib/commit/9f2cd2e4c8c2d88cd8c7831d2c612ad38a4b0958"><code>9f2cd2e</code></a> Merge pull request <a href="https://redirect.github.com/authlib/authlib/issues/922">#922</a> from authlib/fix-902</li> <li><a href="https://github.com/authlib/authlib/commit/5d53239e8a0ca7ea1c241e84bfd5fd453203a94a"><code>5d53239</code></a> fix(oidc): omit claims when the value is None</li> <li><a href="https://github.com/authlib/authlib/commit/772bc72fe8440e6c5dd0a6615fb42d7466f85546"><code>772bc72</code></a> Merge pull request <a href="https://redirect.github.com/authlib/authlib/issues/919">#919</a> from RavSinghChandan/fix-oauth1-insecure-transport-de...</li> <li><a href="https://github.com/authlib/authlib/commit/11794b00375127bbc4397e7ebd46e047c3935b64"><code>11794b0</code></a> Merge pull request <a href="https://redirect.github.com/authlib/authlib/issues/908">#908</a> from arpitjain099/chore/device-cred-authenticated-cli...</li> <li><a href="https://github.com/authlib/authlib/commit/13f2eb0589cec6df53c4e1146b11dc0cdd3012c7"><code>13f2eb0</code></a> fix(client): Added client_id parameter to AssertionClient (<a href="https://redirect.github.com/authlib/authlib/issues/476">#476</a>)</li> <li><a href="https://github.com/authlib/authlib/commit/dde5b7a8015904aba63dad76d7286aa431249783"><code>dde5b7a</code></a> fix(client): rollback</li> <li><a href="https://github.com/authlib/authlib/commit/e4aec8c5c1e333951f49ba6aa3fe7487c6fce670"><code>e4aec8c</code></a> fix(client): remove default= keyword from starlette client config.get calls (...</li> <li><a href="https://github.com/authlib/authlib/commit/62f41cc2f55c15e658f7a0d2bdcb23feeeb93410"><code>62f41cc</code></a> fix(client): httpx oauth1 binary form data (<a href="https://redirect.github.com/authlib/authlib/issues/779">#779</a>)</li> <li>Additional commits viewable in <a href="https://github.com/authlib/authlib/compare/v1.7.2...v1.8.0">compare view</a></li> </ul> </details> <br /> Updates `apprise` from 1.13.0 to 1.13.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/caronc/apprise/releases">apprise's releases</a>.</em></p> <blockquote> <h2>Release v1.13.1</h2> <h2>What's Changed</h2> <p>Just a small update to fix a small stability issue with Attachments under some circumstances and the few PR's made by others in one more small bundle.</p> <p><strong>Note:</strong> ⚠️ <strong>This will be the last version of Apprise v1.x</strong> (this time i mean it 😉 ) . Future releases will be under Apprise v2.x. Again, I strongly want to urge Developers: <em>please</em> make sure you pin your <code>projects.toml</code> or <code>requirements.txt</code> to <code>apprise >=1.0.0, <2.0.0</code>. v2.x will be awesome, but it WILL introduce breaking changes your software may need to adapt to. I will still continue supporting the v1.x branch should security issues arise for at year or two, but eventually v2.x would be the way to go.</p> <h3>📣 New Notification Services:</h3> <ul> <li>Add Signalgrid notification service plugin by <a href="https://github.com/signalgridco"><code>@signalgridco</code></a> in <a href="https://redirect.github.com/caronc/apprise/pull/1710">caronc/apprise#1710</a></li> <li>Add Lauther notification support by <a href="https://github.com/csanadymiklos"><code>@csanadymiklos</code></a> in <a href="https://redirect.github.com/caronc/apprise/pull/1715">caronc/apprise#1715</a></li> </ul> <h3>🐞 Bugfixes</h3> <ul> <li>Fixes Gento Linux issue with memory based attachment handling in <a href="https://redirect.github.com/caronc/apprise/pull/1709">caronc/apprise#1709</a> <ul> <li>☝️ This is the core reason for this minor update</li> </ul> </li> <li>Allow periods in Pingram API keys (JWT format) by <a href="https://github.com/lipusal"><code>@lipusal</code></a> in <a href="https://redirect.github.com/caronc/apprise/pull/1714">caronc/apprise#1714</a></li> <li>fixes intermittent test failures for matrix in <a href="https://redirect.github.com/caronc/apprise/pull/1717">caronc/apprise#1717</a></li> </ul> <h3>💡 Features</h3> <p>n/a</p> <h3>❤️ Life-Cycle Support</h3> <ul> <li>Allow Py 3.13+, please by <a href="https://github.com/milos-korenciak"><code>@milos-korenciak</code></a> in <a href="https://redirect.github.com/caronc/apprise/pull/1711">caronc/apprise#1711</a></li> <li>fix(matrix): typofix in label by <a href="https://github.com/arthurlutz"><code>@arthurlutz</code></a> in <a href="https://redirect.github.com/caronc/apprise/pull/1707">caronc/apprise#1707</a></li> <li>docs: fix typo recomended -> recommended by <a href="https://github.com/vaibhav8a"><code>@vaibhav8a</code></a> in <a href="https://redirect.github.com/caronc/apprise/pull/1716">caronc/apprise#1716</a></li> </ul> <h2>Installation</h2> <p>Apprise is available <a href="https://pypi.org/project/apprise/">on PyPI</a> through <em>pip</em>:</p> <pre lang="bash"><code># Install Apprise v1.13.1 from PyPI pip install apprise==1.13.1 </code></pre> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/arthurlutz"><code>@arthurlutz</code></a> made their first contribution in <a href="https://redirect.github.com/caronc/apprise/pull/1707">caronc/apprise#1707</a></li> <li><a href="https://github.com/milos-korenciak"><code>@milos-korenciak</code></a> made their first contribution in <a href="https://redirect.github.com/caronc/apprise/pull/1711">caronc/apprise#1711</a></li> <li><a href="https://github.com/vaibhav8a"><code>@vaibhav8a</code></a> made their first contribution in <a href="https://redirect.github.com/caronc/apprise/pull/1716">caronc/apprise#1716</a></li> <li><a href="https://github.com/signalgridco"><code>@signalgridco</code></a> made their first contribution in <a href="https://redirect.github.com/caronc/apprise/pull/1710">caronc/apprise#1710</a></li> <li><a href="https://github.com/csanadymiklos"><code>@csanadymiklos</code></a> made their first contribution in <a href="https://redirect.github.com/caronc/apprise/pull/1715">caronc/apprise#1715</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/caronc/apprise/compare/v1.13.0...v1.13.1">https://github.com/caronc/apprise/compare/v1.13.0...v1.13.1</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/caronc/apprise/commit/cf4da87eab713370a62d7a4f9ca64dcd3bffdf61"><code>cf4da87</code></a> bumped version to v1.13.1</li> <li><a href="https://github.com/caronc/apprise/commit/0386b1cc093b3c55cfcebf4bdce17fc4309e0bd7"><code>0386b1c</code></a> Add Lauther notification support (<a href="https://redirect.github.com/caronc/apprise/issues/1715">#1715</a>)</li> <li><a href="https://github.com/caronc/apprise/commit/3299eb37aa60ed729f935f039b79a9f9786e7424"><code>3299eb3</code></a> Add Signalgrid notification support (<a href="https://redirect.github.com/caronc/apprise/issues/1710">#1710</a>)</li> <li><a href="https://github.com/caronc/apprise/commit/e05331ba9b5d2ace834b23e49728065ffebcb377"><code>e05331b</code></a> relaxed some noisy logging</li> <li><a href="https://github.com/caronc/apprise/commit/8f73f6a0cdb83e6187624715a12e8f36dd8a1bbc"><code>8f73f6a</code></a> Fixes intermittent test failures for matrix on py39 (<a href="https://redirect.github.com/caronc/apprise/issues/1717">#1717</a>)</li> <li><a href="https://github.com/caronc/apprise/commit/0af1bb2097dad2557f55a523d09269341fa3fdfb"><code>0af1bb2</code></a> docs: fix typo recomended -> recommended (<a href="https://redirect.github.com/caronc/apprise/issues/1716">#1716</a>)</li> <li><a href="https://github.com/caronc/apprise/commit/8df288a1824711bc6b1bdb59c1b5b356e4da3fd5"><code>8df288a</code></a> Allow periods in Pingram API keys (JWT format) (<a href="https://redirect.github.com/caronc/apprise/issues/1714">#1714</a>)</li> <li><a href="https://github.com/caronc/apprise/commit/aa7221b7cabe757e000a1e6e019fc8f91ec517a0"><code>aa7221b</code></a> Allow Py 3.13+ (<a href="https://redirect.github.com/caronc/apprise/issues/1711">#1711</a>)</li> <li><a href="https://github.com/caronc/apprise/commit/e93c9360c5ae2ed729a282bc454f6ceeb4abd9e1"><code>e93c936</code></a> Fixes Gento Linux issue with memory based attachment handling (<a href="https://redirect.github.com/caronc/apprise/issues/1709">#1709</a>)</li> <li><a href="https://github.com/caronc/apprise/commit/4e6f4b117fa356f7ba0a076080c4927fcf78bc47"><code>4e6f4b1</code></a> typofix in matrix:// label (<a href="https://redirect.github.com/caronc/apprise/issues/1707">#1707</a>)</li> <li>See full diff in <a href="https://github.com/caronc/apprise/compare/v1.13.0...v1.13.1">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot 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>
176 lines
3.3 KiB
TOML
176 lines
3.3 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.1",
|
|
"transmission-rpc",
|
|
"authlib>=1.8.0,<1.9",
|
|
"apprise>=1.13.1",
|
|
# 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",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
browser = [
|
|
"pyvirtualdisplay",
|
|
"pyautogui",
|
|
"seleniumbase==4.53.5",
|
|
"python-xlib",
|
|
]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"basedpyright>=1.39.10",
|
|
"prek",
|
|
"pytest",
|
|
"pytest-cov",
|
|
"pytest-xdist>=3.8.0",
|
|
"ruff==0.16.5",
|
|
"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
|