mirror of
https://github.com/calibrain/shelfmark.git
synced 2026-09-24 19:40:26 +01:00
8d98e122ec1958ae89b8f42bbbf56a1751f8da37
6
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
8d98e122ec |
Linter followup (#868)
Expanded Ruff rules and completed fixes |
||
|
|
8e78fea947 | Add BasedPyright + Makefile commands (#858) | ||
|
|
ba4090aee2 |
Bump ruff from 0.15.9 to 0.15.10 (#848)
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.15.9 to 0.15.10. <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.15.10</h2> <h2>Release Notes</h2> <p>Released on 2026-04-09.</p> <h3>Preview features</h3> <ul> <li>[<code>flake8-logging</code>] Allow closures in except handlers (<code>LOG004</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/24464">#24464</a>)</li> <li>[<code>flake8-self</code>] Make <code>SLF</code> diagnostics robust to non-self-named variables (<a href="https://redirect.github.com/astral-sh/ruff/pull/24281">#24281</a>)</li> <li>[<code>flake8-simplify</code>] Make the fix for <code>collapsible-if</code> safe in <code>preview</code> (<code>SIM102</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/24371">#24371</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Avoid emitting multi-line f-string elements before Python 3.12 (<a href="https://redirect.github.com/astral-sh/ruff/pull/24377">#24377</a>)</li> <li>Avoid syntax error from <code>E502</code> fixes in f-strings and t-strings (<a href="https://redirect.github.com/astral-sh/ruff/pull/24410">#24410</a>)</li> <li>Strip form feeds from indent passed to <code>dedent_to</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/24381">#24381</a>)</li> <li>[<code>pyupgrade</code>] Fix panic caused by handling of octals (<code>UP012</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/24390">#24390</a>)</li> <li>Reject multi-line f-string elements before Python 3.12 (<a href="https://redirect.github.com/astral-sh/ruff/pull/24355">#24355</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>ruff</code>] Treat f-string interpolation as potential side effect (<code>RUF019</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/24426">#24426</a>)</li> </ul> <h3>Server</h3> <ul> <li>Add support for custom file extensions (<a href="https://redirect.github.com/astral-sh/ruff/pull/24463">#24463</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Document adding fixes in CONTRIBUTING.md (<a href="https://redirect.github.com/astral-sh/ruff/pull/24393">#24393</a>)</li> <li>Fix JSON typo in settings example (<a href="https://redirect.github.com/astral-sh/ruff/pull/24517">#24517</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/charliermarsh"><code>@charliermarsh</code></a></li> <li><a href="https://github.com/dylwil3"><code>@dylwil3</code></a></li> <li><a href="https://github.com/silverstein"><code>@silverstein</code></a></li> <li><a href="https://github.com/anishgirianish"><code>@anishgirianish</code></a></li> <li><a href="https://github.com/shizukushq"><code>@shizukushq</code></a></li> <li><a href="https://github.com/zanieb"><code>@zanieb</code></a></li> <li><a href="https://github.com/AlexWaygood"><code>@AlexWaygood</code></a></li> </ul> <h2>Install ruff 0.15.10</h2> <h3>Install prebuilt binaries via shell script</h3> <pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.15.10/ruff-installer.sh | sh </code></pre> <!-- 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.15.10</h2> <p>Released on 2026-04-09.</p> <h3>Preview features</h3> <ul> <li>[<code>flake8-logging</code>] Allow closures in except handlers (<code>LOG004</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/24464">#24464</a>)</li> <li>[<code>flake8-self</code>] Make <code>SLF</code> diagnostics robust to non-self-named variables (<a href="https://redirect.github.com/astral-sh/ruff/pull/24281">#24281</a>)</li> <li>[<code>flake8-simplify</code>] Make the fix for <code>collapsible-if</code> safe in <code>preview</code> (<code>SIM102</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/24371">#24371</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Avoid emitting multi-line f-string elements before Python 3.12 (<a href="https://redirect.github.com/astral-sh/ruff/pull/24377">#24377</a>)</li> <li>Avoid syntax error from <code>E502</code> fixes in f-strings and t-strings (<a href="https://redirect.github.com/astral-sh/ruff/pull/24410">#24410</a>)</li> <li>Strip form feeds from indent passed to <code>dedent_to</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/24381">#24381</a>)</li> <li>[<code>pyupgrade</code>] Fix panic caused by handling of octals (<code>UP012</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/24390">#24390</a>)</li> <li>Reject multi-line f-string elements before Python 3.12 (<a href="https://redirect.github.com/astral-sh/ruff/pull/24355">#24355</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>ruff</code>] Treat f-string interpolation as potential side effect (<code>RUF019</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/24426">#24426</a>)</li> </ul> <h3>Server</h3> <ul> <li>Add support for custom file extensions (<a href="https://redirect.github.com/astral-sh/ruff/pull/24463">#24463</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Document adding fixes in CONTRIBUTING.md (<a href="https://redirect.github.com/astral-sh/ruff/pull/24393">#24393</a>)</li> <li>Fix JSON typo in settings example (<a href="https://redirect.github.com/astral-sh/ruff/pull/24517">#24517</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/charliermarsh"><code>@charliermarsh</code></a></li> <li><a href="https://github.com/dylwil3"><code>@dylwil3</code></a></li> <li><a href="https://github.com/silverstein"><code>@silverstein</code></a></li> <li><a href="https://github.com/anishgirianish"><code>@anishgirianish</code></a></li> <li><a href="https://github.com/shizukushq"><code>@shizukushq</code></a></li> <li><a href="https://github.com/zanieb"><code>@zanieb</code></a></li> <li><a href="https://github.com/AlexWaygood"><code>@AlexWaygood</code></a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/ruff/commit/252f76102a618bff6537b6c53c316ca3837f4abf"><code>252f761</code></a> Bump 0.15.10 (<a href="https://redirect.github.com/astral-sh/ruff/issues/24519">#24519</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/37a1ec8bb8e30955787b0cdf6e97f7f2254dba7f"><code>37a1ec8</code></a> [ty] Fix assignability of intersections with bounded typevars (<a href="https://redirect.github.com/astral-sh/ruff/issues/24502">#24502</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/f518cc9ca0c830773dd49c3964eb5e49d52c8aed"><code>f518cc9</code></a> [ty] Allow partially stringified <code>type[…]</code> annotations (<a href="https://redirect.github.com/astral-sh/ruff/issues/24518">#24518</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/16c4090d0a711b9c0523b932014f3daf140f35bc"><code>16c4090</code></a> docs: fix JSON typo in settings example (<a href="https://redirect.github.com/astral-sh/ruff/issues/24517">#24517</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/99d97bd72f1934ac2af93e52468c10ef1c7a1a4e"><code>99d97bd</code></a> [ty] Tighten up a few edge cases in <code>Concatenate</code> type-expression parsing (<a href="https://redirect.github.com/astral-sh/ruff/issues/2">#2</a>...</li> <li><a href="https://github.com/astral-sh/ruff/commit/2714e345bdd64a5baae3844c0d25db7b0b9fe330"><code>2714e34</code></a> [ty] Enable <code>pull-diagnostics</code> by default in E2E tests (<a href="https://redirect.github.com/astral-sh/ruff/issues/24516">#24516</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/d8bc700722ab1b7272a4d724839da7c569b349d4"><code>d8bc700</code></a> LSP: Add support for custom extensions (<a href="https://redirect.github.com/astral-sh/ruff/issues/24463">#24463</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/a45f96d65dbd4f958b07accd718f8d2af48cb956"><code>a45f96d</code></a> [ty] stop special-casing str constructor (<a href="https://redirect.github.com/astral-sh/ruff/issues/24514">#24514</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/87a0f01cfd016e0297ef05ab638cde006bf8d947"><code>87a0f01</code></a> [ruff] Treat f-string interpolation as potential side effect in RUF019 (<a href="https://redirect.github.com/astral-sh/ruff/issues/24426">#24426</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/e9ba8489b8d1f1fd5fd66887a74d5f2f58f733d4"><code>e9ba848</code></a> [ty] Fix excess subscript argument inference for non-generic types (<a href="https://redirect.github.com/astral-sh/ruff/issues/24354">#24354</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/0.15.9...0.15.10">compare view</a></li> </ul> </details> <br /> [](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 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> |
||
|
|
3a3a3ce449 |
Add new python tooling + apply ruff linter cleanup (#845)
- Adds `uv`, `ruff`, `pyright`, `vulture` and `pytest-xdist` - Move project, lockfile, docker build etc to uv - Align python tooling on 3.14 - Huge bulk of ruff linter fixes applied. Still in progress but all the core types are now enforced - Update CI and test helpers |
||
|
|
afeae46821 | Rename to Shelfmark and IRC adjustments (#415) | ||
|
|
a99dc1501d |
Prowlarr and IRC sources, Google Books, book series support + more (#361)
## Headline features ### Prowlarr plugin - search trackers and download usenet/torrent books - Search any usenet/torrent tracker via Prowlarr, returns books within Universal search - Configure download clients in the app settings (Qbittorrent, Deluge, Transmission, NZBget, SABnzbd) - Unified download and file handling within the app, same as AA. ### IRC plugin - Search IRCHighway #ebooks channel for books and download right in the app. - No setup needed - Credit to OpenBooks for the broad idea and inspiration for best practices for ebook-specific search and download. ### Google Books Metadata Provider - Create a Google Cloud API key and use Google Books as a metadata provider - Not the best source (Hardcover is still recommended), but another option and further redundancy for universal search ### Book series support - New "Series" search field in Hardcover provider - "Series order" sort option - lists books in reading order - "View Series" button in book details modal to search the full series - Series info display (e.g., "3 of 12 in The Wheel of Time") ## Others: - Better format filtering, helpful errors when formats rejected (e.g., "Found 3 ebooks but format not supported (.pdf). Enable in Settings > Formats." - Directory processing - Handles multi-file torrent/usenet downloads properly - Expand search toggle - Skip ISBN search to find more editions - Filtered authors - Uses primary authors only (excludes translators/narrators) for better search results - Language multi-select - Filter releases by multiple languages Docker / Build / Testing - pip cache mounts - Faster Docker builds via BuildKit cache - npm cache mounts - Faster frontend builds - APT cleanup - Smaller final image size - Added make restart command for quick restarts without rebuild - New pytest-based test framework with proper configuration (pyproject.toml) - Unit tests for all download clients (qBittorrent, Transmission, Deluge, NZBGet, SABnzbd) - Bencode parsing tests - Cache tests - Integration tests for Prowlarr handler - E2E test framework |