mirror of
https://github.com/calibrain/shelfmark.git
synced 2026-10-01 22:06:39 +01:00
Updates the requirements on [httpx[http2]](https://github.com/encode/httpx) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/encode/httpx/releases">httpx[http2]'s releases</a>.</em></p> <blockquote> <h2>Version 0.28.1</h2> <h2>0.28.1 (6th December, 2024)</h2> <ul> <li>Fix SSL case where <code>verify=False</code> together with client side certificates.</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/encode/httpx/blob/master/CHANGELOG.md">httpx[http2]'s changelog</a>.</em></p> <blockquote> <h2>0.28.1 (6th December, 2024)</h2> <ul> <li>Fix SSL case where <code>verify=False</code> together with client side certificates.</li> </ul> <h2>0.28.0 (28th November, 2024)</h2> <p>Be aware that the default <em>JSON request bodies now use a more compact representation</em>. This is generally considered a prefered style, tho may require updates to test suites.</p> <p>The 0.28 release includes a limited set of deprecations...</p> <p><strong>Deprecations</strong>:</p> <p>We are working towards a simplified SSL configuration API.</p> <p><em>For users of the standard <code>verify=True</code> or <code>verify=False</code> cases, or <code>verify=<ssl_context></code> case this should require no changes. The following cases have been deprecated...</em></p> <ul> <li>The <code>verify</code> argument as a string argument is now deprecated and will raise warnings.</li> <li>The <code>cert</code> argument is now deprecated and will raise warnings.</li> </ul> <p>Our revised <a href="https://github.com/encode/httpx/blob/master/docs/advanced/ssl.md">SSL documentation</a> covers how to implement the same behaviour with a more constrained API.</p> <p><strong>The following changes are also included</strong>:</p> <ul> <li>The deprecated <code>proxies</code> argument has now been removed.</li> <li>The deprecated <code>app</code> argument has now been removed.</li> <li>JSON request bodies use a compact representation. (<a href="https://redirect.github.com/encode/httpx/issues/3363">#3363</a>)</li> <li>Review URL percent escape sets, based on WHATWG spec. (<a href="https://redirect.github.com/encode/httpx/issues/3371">#3371</a>, <a href="https://redirect.github.com/encode/httpx/issues/3373">#3373</a>)</li> <li>Ensure <code>certifi</code> and <code>httpcore</code> are only imported if required. (<a href="https://redirect.github.com/encode/httpx/issues/3377">#3377</a>)</li> <li>Treat <code>socks5h</code> as a valid proxy scheme. (<a href="https://redirect.github.com/encode/httpx/issues/3178">#3178</a>)</li> <li>Cleanup <code>Request()</code> method signature in line with <code>client.request()</code> and <code>httpx.request()</code>. (<a href="https://redirect.github.com/encode/httpx/issues/3378">#3378</a>)</li> <li>Bugfix: When passing <code>params={}</code>, always strictly update rather than merge with an existing querystring. (<a href="https://redirect.github.com/encode/httpx/issues/3364">#3364</a>)</li> </ul> <h2>0.27.2 (27th August, 2024)</h2> <h3>Fixed</h3> <ul> <li>Reintroduced supposedly-private <code>URLTypes</code> shortcut. (<a href="https://redirect.github.com/encode/httpx/issues/2673">#2673</a>)</li> </ul> <h2>0.27.1 (27th August, 2024)</h2> <h3>Added</h3> <ul> <li>Support for <code>zstd</code> content decoding using the python <code>zstandard</code> package is added. Installable using <code>httpx[zstd]</code>. (<a href="https://redirect.github.com/encode/httpx/issues/3139">#3139</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>Improved error messaging for <code>InvalidURL</code> exceptions. (<a href="https://redirect.github.com/encode/httpx/issues/3250">#3250</a>)</li> <li>Fix <code>app</code> type signature in <code>ASGITransport</code>. (<a href="https://redirect.github.com/encode/httpx/issues/3109">#3109</a>)</li> </ul> <h2>0.27.0 (21st February, 2024)</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/encode/httpx/commit/26d48e0634e6ee9cdc0533996db289ce4b430177"><code>26d48e0</code></a> Version 0.28.1 (<a href="https://redirect.github.com/encode/httpx/issues/3445">#3445</a>)</li> <li><a href="https://github.com/encode/httpx/commit/89599a9541af14bcf906fc4ed58ccbdf403802ba"><code>89599a9</code></a> Fix <code>verify=False</code>, <code>cert=...</code> case. (<a href="https://redirect.github.com/encode/httpx/issues/3442">#3442</a>)</li> <li><a href="https://github.com/encode/httpx/commit/8ecb86f0d74ffc52d4663214fae9526bee89358d"><code>8ecb86f</code></a> Add test for request params behavior changes (<a href="https://redirect.github.com/encode/httpx/issues/3364">#3364</a>) (<a href="https://redirect.github.com/encode/httpx/issues/3440">#3440</a>)</li> <li><a href="https://github.com/encode/httpx/commit/0cb7e5a2e736628e2f506d259fcf0d48cd2bde82"><code>0cb7e5a</code></a> Bump the python-packages group with 11 updates (<a href="https://redirect.github.com/encode/httpx/issues/3434">#3434</a>)</li> <li><a href="https://github.com/encode/httpx/commit/15e21e9ea3cad4f06e22a7e704aabefdf43d2e29"><code>15e21e9</code></a> Updating deprecated docstring Client() class (<a href="https://redirect.github.com/encode/httpx/issues/3426">#3426</a>)</li> <li><a href="https://github.com/encode/httpx/commit/80960fa31918d7663c3f4c3ad61661cf0e80628f"><code>80960fa</code></a> Version 0.28.0. (<a href="https://redirect.github.com/encode/httpx/issues/3419">#3419</a>)</li> <li><a href="https://github.com/encode/httpx/commit/a33c87852b8a0dddc65e5f739af1e0a6fca4b91f"><code>a33c878</code></a> Fix <code>extensions</code> type annotation. (<a href="https://redirect.github.com/encode/httpx/issues/3380">#3380</a>)</li> <li><a href="https://github.com/encode/httpx/commit/ce7e14da27abba6574be9b3ea7cd5990556a9343"><code>ce7e14d</code></a> Error on verify as str. (<a href="https://redirect.github.com/encode/httpx/issues/3418">#3418</a>)</li> <li><a href="https://github.com/encode/httpx/commit/47f4a96ffaaaa07dca1614409549b5d7a6e7af49"><code>47f4a96</code></a> Handle empty zstd responses (<a href="https://redirect.github.com/encode/httpx/issues/3412">#3412</a>)</li> <li><a href="https://github.com/encode/httpx/commit/189fc4bcbe5f314128775dec66a616ac9a31ad48"><code>189fc4b</code></a> Update CHANGELOG.md, fix typo(s) (<a href="https://redirect.github.com/encode/httpx/issues/3406">#3406</a>)</li> <li>Additional commits viewable in <a href="https://github.com/encode/httpx/compare/0.27.0...0.28.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 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>
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.0",
|
|
"transmission-rpc",
|
|
"authlib>=1.7.2,<1.8",
|
|
"apprise>=1.12.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",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
browser = [
|
|
"pyvirtualdisplay",
|
|
"pyautogui",
|
|
"seleniumbase==4.51.12",
|
|
"python-xlib",
|
|
]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"basedpyright>=1.39.10",
|
|
"prek",
|
|
"pytest",
|
|
"pytest-cov",
|
|
"pytest-xdist>=3.8.0",
|
|
"ruff==0.16.3",
|
|
"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
|