mirror of
https://github.com/maxdorninger/MediaManager.git
synced 2026-04-17 19:53:55 +02:00
master
29 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
f5253990e0 |
switch from APScheduler to Taskiq (#461)
This PR replaces the APScheduler lib with the Taskiq task queuing lib. # why APScheduler doesn't support FastAPI's DI in tasks, this makes them quite cumbersome to read and write since DB, Repositories and Services all need to be instanciated manually. Moreover, Taskiq makes it easier to start background tasks from FastAPI requests. This enables MM to move to a more event-based architecture. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * App now uses an orchestrated async startup/shutdown and runs background scheduling via a database-backed task queue; startup enqueues pre-load/import/update tasks. * **Bug Fixes** * Improved torrent client handling with clearer conflict messages and guidance for manual resolution. * Enhanced logging around season, episode and metadata update operations; minor regex/behaviour formatting preserved. * **Chores** * Updated dependencies to support the new task queue and connection pooling. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
46a9760376 |
Bump ruff from 0.14.10 to 0.15.2 (#467)
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.14.10 to 0.15.2. <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.2</h2> <h2>Release Notes</h2> <p>Released on 2026-02-19.</p> <h3>Preview features</h3> <ul> <li> <p>Expand the default rule set (<a href="https://redirect.github.com/astral-sh/ruff/pull/23385">#23385</a>)</p> <p>In preview, Ruff now enables a significantly expanded default rule set of 412 rules, up from the stable default set of 59 rules. The new rules are mostly a superset of the stable defaults, with the exception of these rules, which are removed from the preview defaults:</p> <ul> <li><a href="https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line"><code>multiple-imports-on-one-line</code></a> (<code>E401</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file"><code>module-import-not-at-top-of-file</code></a> (<code>E402</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file"><code>module-import-not-at-top-of-file</code></a> (<code>E701</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon"><code>multiple-statements-on-one-line-semicolon</code></a> (<code>E702</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/useless-semicolon"><code>useless-semicolon</code></a> (<code>E703</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/none-comparison"><code>none-comparison</code></a> (<code>E711</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/true-false-comparison"><code>true-false-comparison</code></a> (<code>E712</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/not-in-test"><code>not-in-test</code></a> (<code>E713</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/not-is-test"><code>not-is-test</code></a> (<code>E714</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/type-comparison"><code>type-comparison</code></a> (<code>E721</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/lambda-assignment"><code>lambda-assignment</code></a> (<code>E731</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-variable-name"><code>ambiguous-variable-name</code></a> (<code>E741</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-class-name"><code>ambiguous-class-name</code></a> (<code>E742</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-function-name"><code>ambiguous-function-name</code></a> (<code>E743</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star"><code>undefined-local-with-import-star</code></a> (<code>F403</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage"><code>undefined-local-with-import-star-usage</code></a> (<code>F405</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage"><code>undefined-local-with-nested-import-star-usage</code></a> (<code>F406</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error"><code>forward-annotation-syntax-error</code></a> (<code>F722</code>)</li> </ul> <p>If you use preview and prefer the old defaults, you can restore them with configuration like:</p> <pre lang="toml"><code> # ruff.toml <p>[lint] select = ["E4", "E7", "E9", "F"]</p> <h1>pyproject.toml</h1> <p>[tool.ruff.lint] select = ["E4", "E7", "E9", "F"] </code></pre></p> <p>If you do give them a try, feel free to share your feedback in the <a href="https://github.com/astral-sh/ruff/discussions/23203">GitHub discussion</a>!</p> </li> <li> <p>[<code>flake8-pyi</code>] Also check string annotations (<code>PYI041</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/19023">#19023</a>)</p> </li> </ul> <h3>Bug fixes</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.15.2</h2> <p>Released on 2026-02-19.</p> <h3>Preview features</h3> <ul> <li> <p>Expand the default rule set (<a href="https://redirect.github.com/astral-sh/ruff/pull/23385">#23385</a>)</p> <p>In preview, Ruff now enables a significantly expanded default rule set of 412 rules, up from the stable default set of 59 rules. The new rules are mostly a superset of the stable defaults, with the exception of these rules, which are removed from the preview defaults:</p> <ul> <li><a href="https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line"><code>multiple-imports-on-one-line</code></a> (<code>E401</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file"><code>module-import-not-at-top-of-file</code></a> (<code>E402</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file"><code>module-import-not-at-top-of-file</code></a> (<code>E701</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon"><code>multiple-statements-on-one-line-semicolon</code></a> (<code>E702</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/useless-semicolon"><code>useless-semicolon</code></a> (<code>E703</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/none-comparison"><code>none-comparison</code></a> (<code>E711</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/true-false-comparison"><code>true-false-comparison</code></a> (<code>E712</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/not-in-test"><code>not-in-test</code></a> (<code>E713</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/not-is-test"><code>not-is-test</code></a> (<code>E714</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/type-comparison"><code>type-comparison</code></a> (<code>E721</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/lambda-assignment"><code>lambda-assignment</code></a> (<code>E731</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-variable-name"><code>ambiguous-variable-name</code></a> (<code>E741</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-class-name"><code>ambiguous-class-name</code></a> (<code>E742</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/ambiguous-function-name"><code>ambiguous-function-name</code></a> (<code>E743</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star"><code>undefined-local-with-import-star</code></a> (<code>F403</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage"><code>undefined-local-with-import-star-usage</code></a> (<code>F405</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage"><code>undefined-local-with-nested-import-star-usage</code></a> (<code>F406</code>)</li> <li><a href="https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error"><code>forward-annotation-syntax-error</code></a> (<code>F722</code>)</li> </ul> <p>If you use preview and prefer the old defaults, you can restore them with configuration like:</p> <pre lang="toml"><code> # ruff.toml <p>[lint] select = ["E4", "E7", "E9", "F"]</p> <h1>pyproject.toml</h1> <p>[tool.ruff.lint] select = ["E4", "E7", "E9", "F"] </code></pre></p> <p>If you do give them a try, feel free to share your feedback in the <a href="https://github.com/astral-sh/ruff/discussions/23203">GitHub discussion</a>!</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
8270d1d3ff |
Bump sqlalchemy from 2.0.45 to 2.0.47 (#471)
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 2.0.45 to 2.0.47. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sqlalchemy/sqlalchemy/releases">sqlalchemy's releases</a>.</em></p> <blockquote> <h1>2.0.47</h1> <p>Released: February 24, 2026</p> <h2>orm</h2> <ul> <li> <p><strong>[orm] [bug]</strong> Fixed issue when using ORM mappings with Python 3.14's <a href="https://peps.python.org/pep-0649">PEP 649</a> feature that no longer requires "future annotations", where the ORM's introspection of the <code>__init__</code> method of mapped classes would fail if non-present identifiers in annotations were present. The vendored <code>getfullargspec()</code> method has been amended to use <code>Format.FORWARDREF</code> under Python 3.14 to prevent resolution of names that aren't present.</p> <p>References: <a href="https://www.sqlalchemy.org/trac/ticket/13104">#13104</a></p> </li> </ul> <h2>engine</h2> <ul> <li> <p><strong>[engine] [usecase]</strong> The connection object returned by <code>_engine.Engine.raw_connection()</code> now supports the context manager protocol, automatically returning the connection to the pool when exiting the context.</p> <p>References: <a href="https://www.sqlalchemy.org/trac/ticket/13116">#13116</a></p> </li> </ul> <h2>postgresql</h2> <ul> <li> <p><strong>[postgresql] [bug]</strong> Fixed an issue in the PostgreSQL dialect where foreign key constraint reflection would incorrectly swap or fail to capture <code>onupdate</code> and <code>ondelete</code> values when these clauses appeared in a different order than expected in the constraint definition. This issue primarily affected PostgreSQL-compatible databases such as CockroachDB, which may return <code>ON DELETE</code> before <code>ON UPDATE</code> in the constraint definition string. The reflection logic now correctly parses both clauses regardless of their ordering.</p> <p>References: <a href="https://www.sqlalchemy.org/trac/ticket/13105">#13105</a></p> </li> <li> <p><strong>[postgresql] [bug]</strong> Fixed issue in the <code>engine_insertmanyvalues</code> feature where using PostgreSQL's <code>ON CONFLICT</code> clause with <code>_dml.Insert.returning.sort_by_parameter_order</code> enabled would generate invalid SQL when the insert used an implicit sentinel (server-side autoincrement primary key). The generated SQL would incorrectly declare a sentinel counter column in the <code>imp_sen</code> table alias without providing corresponding values in the <code>VALUES</code> clause, leading to a <code>ProgrammingError</code> indicating column count mismatch. The fix allows batch execution mode when <code>embed_values_counter</code> is active, as the embedded counter provides the ordering capability needed even with upsert behaviors, rather than unnecessarily downgrading to row-at-a-time execution.</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/sqlalchemy/sqlalchemy/commits">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> |
||
|
|
6ef200c558 |
Bump ty from 0.0.9 to 0.0.18 (#470)
Bumps [ty](https://github.com/astral-sh/ty) from 0.0.9 to 0.0.18. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/ty/releases">ty's releases</a>.</em></p> <blockquote> <h2>0.0.18</h2> <h2>Release Notes</h2> <p>Released on 2026-02-20.</p> <h3>Bug fixes</h3> <ul> <li>Support classes dynamically created via <code>type(...)</code> with cyclic bases (<a href="https://redirect.github.com/astral-sh/ruff/pull/22792">#22792</a>)</li> <li>Fix incorrect types inferred when unpacking mixed tuples (<a href="https://redirect.github.com/astral-sh/ruff/pull/23437">#23437</a>)</li> <li>Fix stack overflow for self-referential <code>TypeOf</code> in annotations (<a href="https://redirect.github.com/astral-sh/ruff/pull/23407">#23407</a>)</li> <li>Fix several server panics that could occur when computing semantic tokens for the current file (<a href="https://redirect.github.com/astral-sh/ruff/pull/23403">#23403</a>), <a href="https://redirect.github.com/astral-sh/ruff/pull/23398">#23398</a>, <a href="https://redirect.github.com/astral-sh/ruff/pull/23401">#23401</a>)</li> </ul> <h3>LSP server</h3> <ul> <li>Add code folding support (<a href="https://redirect.github.com/astral-sh/ruff/pull/23393">#23393</a>)</li> <li>Add warning message when running <code>ty server</code> interactively (<a href="https://redirect.github.com/astral-sh/ruff/pull/23416">#23416</a>)</li> <li>Exclude test-related symbols from non-first-party packages in auto-import completions (<a href="https://redirect.github.com/astral-sh/ruff/pull/23252">#23252</a>)</li> <li>Fix bug where diagnostics could disappear after opening an external file (<a href="https://redirect.github.com/astral-sh/ruff/pull/23447">#23447</a>)</li> <li>Remove spurious destination for Go-To Definition on variables defined in a loop (<a href="https://redirect.github.com/astral-sh/ruff/pull/23391">#23391</a>)</li> <li>Use the fully qualified name when "baking" an inlay hint into the source code if the scope already contains a variable with the same name as the unqualified name (<a href="https://redirect.github.com/astral-sh/ruff/pull/23265">#23265</a>)</li> <li>Resolve TypeVars in <code>call_signature_details</code> parameter types (<a href="https://redirect.github.com/astral-sh/ruff/pull/23149">#23149</a>)</li> </ul> <h3>CLI</h3> <ul> <li>Add <code>--output-format</code> to <code>ty version</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23387">#23387</a>)</li> </ul> <h3>Configuration</h3> <ul> <li>Add <code>replace-imports-with-any</code> option (<a href="https://redirect.github.com/astral-sh/ruff/pull/23122">#23122</a>)</li> <li>Support shellexpand for configuration paths (<a href="https://redirect.github.com/astral-sh/ruff/pull/23274">#23274</a>)</li> </ul> <h3>Type checking</h3> <ul> <li>Add a new diagnostic to detect invalid class patterns in <code>match</code> statements (<a href="https://redirect.github.com/astral-sh/ruff/pull/22939">#22939</a>)</li> <li>Allow <code>Self</code> in <code>ClassVar</code> type annotations (<a href="https://redirect.github.com/astral-sh/ruff/pull/23362">#23362</a>)</li> <li>Consider synthesized methods and <code>ClassVar</code>-qualified declarations when determining whether an abstract method has been overridden in a subclass (<a href="https://redirect.github.com/astral-sh/ruff/pull/23381">#23381</a>)</li> <li>Add a diagnostic when combining <code>Final</code> and <code>ClassVar</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23365">#23365</a>)</li> <li>Fix return type of <code>assert_never</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23389">#23389</a>)</li> <li>Fix <code>assert_type</code> diagnostic messages (<a href="https://redirect.github.com/astral-sh/ruff/pull/23342">#23342</a>)</li> <li>Ban PEP-613 type alias values from containing type-qualifier special forms (<a href="https://redirect.github.com/astral-sh/ruff/pull/23444">#23444</a>)</li> <li>Infer <code>LiteralString</code> for <code>f"{literal_str_a} {literal_str_b}"</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23346">#23346</a>)</li> <li>Infer precise types for bit-shift operations on integer literals (<a href="https://redirect.github.com/astral-sh/ruff/pull/23301">#23301</a>)</li> <li>Make <code>[abstract-method-in-final-class]</code> diagnostics less verbose for classes with many abstract methods (<a href="https://redirect.github.com/astral-sh/ruff/pull/23379">#23379</a>)</li> <li>Improve diagnostics for abstract <code>@final</code> classes (<a href="https://redirect.github.com/astral-sh/ruff/pull/23376">#23376</a>)</li> <li>Only perform literal promotion for implicitly inferred literals (<a href="https://redirect.github.com/astral-sh/ruff/pull/23107">#23107</a>)</li> <li>Parenthesize callable types when they appear in the return annotation of other callable types (<a href="https://redirect.github.com/astral-sh/ruff/pull/23327">#23327</a>)</li> <li>Consider a call to a generic function returning <code>Never</code> to terminate control flow (<a href="https://redirect.github.com/astral-sh/ruff/pull/23419">#23419</a>)</li> <li>Support calls to intersection types (<a href="https://redirect.github.com/astral-sh/ruff/pull/22469">#22469</a>)</li> <li>Validate annotated assignments to attributes on self (<a href="https://redirect.github.com/astral-sh/ruff/pull/23388">#23388</a>)</li> <li>Treat a bytes-literal type as a subtype of <code>Sequence[<constituent integers in the bytestring>]</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23329">#23329</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/ty/blob/main/CHANGELOG.md">ty's changelog</a>.</em></p> <blockquote> <h2>0.0.18</h2> <p>Released on 2026-02-20.</p> <h3>Bug fixes</h3> <ul> <li>Support classes dynamically created via <code>type(...)</code> with cyclic bases (<a href="https://redirect.github.com/astral-sh/ruff/pull/22792">#22792</a>)</li> <li>Fix incorrect types inferred when unpacking mixed tuples (<a href="https://redirect.github.com/astral-sh/ruff/pull/23437">#23437</a>)</li> <li>Fix stack overflow for self-referential <code>TypeOf</code> in annotations (<a href="https://redirect.github.com/astral-sh/ruff/pull/23407">#23407</a>)</li> <li>Fix several server panics that could occur when computing semantic tokens for the current file (<a href="https://redirect.github.com/astral-sh/ruff/pull/23403">#23403</a>), <a href="https://redirect.github.com/astral-sh/ruff/pull/23398">#23398</a>, <a href="https://redirect.github.com/astral-sh/ruff/pull/23401">#23401</a>)</li> </ul> <h3>LSP server</h3> <ul> <li>Add code folding support (<a href="https://redirect.github.com/astral-sh/ruff/pull/23393">#23393</a>)</li> <li>Add warning message when running <code>ty server</code> interactively (<a href="https://redirect.github.com/astral-sh/ruff/pull/23416">#23416</a>)</li> <li>Exclude test-related symbols from non-first-party packages in auto-import completions (<a href="https://redirect.github.com/astral-sh/ruff/pull/23252">#23252</a>)</li> <li>Fix bug where diagnostics could disappear after opening an external file (<a href="https://redirect.github.com/astral-sh/ruff/pull/23447">#23447</a>)</li> <li>Remove spurious destination for Go-To Definition on variables defined in a loop (<a href="https://redirect.github.com/astral-sh/ruff/pull/23391">#23391</a>)</li> <li>Use the fully qualified name when "baking" an inlay hint into the source code if the scope already contains a variable with the same name as the unqualified name (<a href="https://redirect.github.com/astral-sh/ruff/pull/23265">#23265</a>)</li> <li>Resolve TypeVars in <code>call_signature_details</code> parameter types (<a href="https://redirect.github.com/astral-sh/ruff/pull/23149">#23149</a>)</li> </ul> <h3>CLI</h3> <ul> <li>Add <code>--output-format</code> to <code>ty version</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23387">#23387</a>)</li> </ul> <h3>Configuration</h3> <ul> <li>Add <code>replace-imports-with-any</code> option (<a href="https://redirect.github.com/astral-sh/ruff/pull/23122">#23122</a>)</li> <li>Support shellexpand for configuration paths (<a href="https://redirect.github.com/astral-sh/ruff/pull/23274">#23274</a>)</li> </ul> <h3>Type checking</h3> <ul> <li>Add a new diagnostic to detect invalid class patterns in <code>match</code> statements (<a href="https://redirect.github.com/astral-sh/ruff/pull/22939">#22939</a>)</li> <li>Allow <code>Self</code> in <code>ClassVar</code> type annotations (<a href="https://redirect.github.com/astral-sh/ruff/pull/23362">#23362</a>)</li> <li>Consider synthesized methods and <code>ClassVar</code>-qualified declarations when determining whether an abstract method has been overridden in a subclass (<a href="https://redirect.github.com/astral-sh/ruff/pull/23381">#23381</a>)</li> <li>Add a diagnostic when combining <code>Final</code> and <code>ClassVar</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23365">#23365</a>)</li> <li>Fix return type of <code>assert_never</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23389">#23389</a>)</li> <li>Fix <code>assert_type</code> diagnostic messages (<a href="https://redirect.github.com/astral-sh/ruff/pull/23342">#23342</a>)</li> <li>Ban PEP-613 type alias values from containing type-qualifier special forms (<a href="https://redirect.github.com/astral-sh/ruff/pull/23444">#23444</a>)</li> <li>Infer <code>LiteralString</code> for <code>f"{literal_str_a} {literal_str_b}"</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23346">#23346</a>)</li> <li>Infer precise types for bit-shift operations on integer literals (<a href="https://redirect.github.com/astral-sh/ruff/pull/23301">#23301</a>)</li> <li>Make <code>[abstract-method-in-final-class]</code> diagnostics less verbose for classes with many abstract methods (<a href="https://redirect.github.com/astral-sh/ruff/pull/23379">#23379</a>)</li> <li>Improve diagnostics for abstract <code>@final</code> classes (<a href="https://redirect.github.com/astral-sh/ruff/pull/23376">#23376</a>)</li> <li>Only perform literal promotion for implicitly inferred literals (<a href="https://redirect.github.com/astral-sh/ruff/pull/23107">#23107</a>)</li> <li>Parenthesize callable types when they appear in the return annotation of other callable types (<a href="https://redirect.github.com/astral-sh/ruff/pull/23327">#23327</a>)</li> <li>Consider a call to a generic function returning <code>Never</code> to terminate control flow (<a href="https://redirect.github.com/astral-sh/ruff/pull/23419">#23419</a>)</li> <li>Support calls to intersection types (<a href="https://redirect.github.com/astral-sh/ruff/pull/22469">#22469</a>)</li> <li>Validate annotated assignments to attributes on self (<a href="https://redirect.github.com/astral-sh/ruff/pull/23388">#23388</a>)</li> <li>Treat a bytes-literal type as a subtype of <code>Sequence[<constituent integers in the bytestring>]</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/23329">#23329</a>)</li> <li>Allow a string-literal argument to match against an <code>Iterable</code> parameter in type variable inference. (<a href="https://redirect.github.com/astral-sh/ruff/pull/23326">#23326</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
3e696c463c |
Bump the uv group across 1 directory with 3 updates (#448)
Bumps the uv group with 3 updates in the / directory: [cryptography](https://github.com/pyca/cryptography), [python-multipart](https://github.com/Kludex/python-multipart) and [urllib3](https://github.com/urllib3/urllib3). Updates `cryptography` from 46.0.3 to 46.0.5 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst">cryptography's changelog</a>.</em></p> <blockquote> <p>46.0.5 - 2026-02-10</p> <pre><code> * An attacker could create a malicious public key that reveals portions of your private key when using certain uncommon elliptic curves (binary curves). This version now includes additional security checks to prevent this attack. This issue only affects binary elliptic curves, which are rarely used in real-world applications. Credit to **XlabAI Team of Tencent Xuanwu Lab and Atuin Automated Vulnerability Discovery Engine** for reporting the issue. **CVE-2026-26007** * Support for ``SECT*`` binary elliptic curves is deprecated and will be removed in the next release. <p>.. v46-0-4:</p> <p>46.0.4 - 2026-01-27<br /> </code></pre></p> <ul> <li><code>Dropped support for win_arm64 wheels</code>_.</li> <li>Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.5.5.</li> </ul> <p>.. _v46-0-3:</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
5adb88f9e0 |
Bump pillow from 12.1.0 to 12.1.1 (#443)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 12.1.0 to 12.1.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/python-pillow/Pillow/releases">pillow's releases</a>.</em></p> <blockquote> <h2>12.1.1</h2> <p><a href="https://pillow.readthedocs.io/en/stable/releasenotes/12.1.1.html">https://pillow.readthedocs.io/en/stable/releasenotes/12.1.1.html</a></p> <h2>Dependencies</h2> <ul> <li>Patch libavif for svt-av1 4.0 compatibility <a href="https://redirect.github.com/python-pillow/Pillow/issues/9413">#9413</a> [<a href="https://github.com/hugovk"><code>@hugovk</code></a>]</li> </ul> <h2>Other changes</h2> <ul> <li>Fix OOB Write with invalid tile extents <a href="https://redirect.github.com/python-pillow/Pillow/issues/9427">#9427</a> [<a href="https://github.com/radarhere"><code>@radarhere</code></a>]</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
516d562bd8 |
Bump uvicorn from 0.40.0 to 0.41.0 (#441)
Bumps [uvicorn](https://github.com/Kludex/uvicorn) from 0.40.0 to 0.41.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/Kludex/uvicorn/releases">uvicorn's releases</a>.</em></p> <blockquote> <h2>Version 0.41.0</h2> <h2>Added</h2> <ul> <li>Add <code>--limit-max-requests-jitter</code> to stagger worker restarts (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2707">#2707</a>)</li> <li>Add socket path to <code>scope["server"]</code> (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2561">#2561</a>)</li> </ul> <h2>Changed</h2> <ul> <li>Rename <code>LifespanOn.error_occured</code> to <code>error_occurred</code> (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2776">#2776</a>)</li> </ul> <h2>Fixed</h2> <ul> <li>Ignore permission denied errors in watchfiles reloader (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2817">#2817</a>)</li> <li>Ensure lifespan shutdown runs when <code>should_exit</code> is set during startup (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2812">#2812</a>)</li> <li>Reduce the log level of 'request limit exceeded' messages (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2788">#2788</a>)</li> </ul> <hr /> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/t-kawasumi"><code>@t-kawasumi</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2776">Kludex/uvicorn#2776</a></li> <li><a href="https://github.com/fardyn"><code>@fardyn</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2800">Kludex/uvicorn#2800</a></li> <li><a href="https://github.com/ewie"><code>@ewie</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2807">Kludex/uvicorn#2807</a></li> <li><a href="https://github.com/shevron"><code>@shevron</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2788">Kludex/uvicorn#2788</a></li> <li><a href="https://github.com/jonashaag"><code>@jonashaag</code></a> made their first contribution in <a href="https://redirect.github.com/Kludex/uvicorn/pull/2707">Kludex/uvicorn#2707</a></li> </ul> <hr /> <p><strong>Full Changelog</strong>: <a href="https://github.com/Kludex/uvicorn/compare/0.40.0...0.41.0">https://github.com/Kludex/uvicorn/compare/0.40.0...0.41.0</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md">uvicorn's changelog</a>.</em></p> <blockquote> <h2>0.41.0 (February 16, 2026)</h2> <h3>Added</h3> <ul> <li>Add <code>--limit-max-requests-jitter</code> to stagger worker restarts (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2707">#2707</a>)</li> <li>Add socket path to <code>scope["server"]</code> (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2561">#2561</a>)</li> </ul> <h3>Changed</h3> <ul> <li>Rename <code>LifespanOn.error_occured</code> to <code>error_occurred</code> (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2776">#2776</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>Ignore permission denied errors in watchfiles reloader (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2817">#2817</a>)</li> <li>Ensure lifespan shutdown runs when <code>should_exit</code> is set during startup (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2812">#2812</a>)</li> <li>Reduce the log level of 'request limit exceeded' messages (<a href="https://redirect.github.com/Kludex/uvicorn/issues/2788">#2788</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
c8f2a4316e |
Bump alembic from 1.17.2 to 1.18.4 (#438)
Bumps [alembic](https://github.com/sqlalchemy/alembic) from 1.17.2 to 1.18.4. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sqlalchemy/alembic/releases">alembic's releases</a>.</em></p> <blockquote> <h1>1.18.4</h1> <p>Released: February 10, 2026</p> <h2>bug</h2> <ul> <li> <p><strong>[bug] [operations]</strong> Reverted the behavior of <code>Operations.add_column()</code> that would automatically render the "PRIMARY KEY" keyword inline when a <code>Column</code> with <code>primary_key=True</code> is added. The automatic behavior, added in version 1.18.2, is now opt-in via the new <code>Operations.add_column.inline_primary_key</code> parameter. This change restores the ability to render a PostgreSQL SERIAL column, which is required to be <code>primary_key=True</code>, while not impacting the ability to render a separate primary key constraint. This also provides consistency with the <code>Operations.add_column.inline_references</code> parameter and gives users explicit control over SQL generation.</p> <p>To render PRIMARY KEY inline, use the <code>Operations.add_column.inline_primary_key</code> parameter set to <code>True</code>:</p> <p>op.add_column( "my_table", Column("id", Integer, primary_key=True), inline_primary_key=True )References: <a href="https://redirect.github.com/sqlalchemy/alembic/issues/1232">#1232</a></p> </li> </ul> <h1>1.18.3</h1> <p>Released: January 29, 2026</p> <h2>bug</h2> <ul> <li> <p><strong>[bug] [autogenerate]</strong> Fixed regression in version 1.18.0 due to <a href="https://redirect.github.com/sqlalchemy/alembic/issues/1771">#1771</a> where autogenerate would raise <code>NoReferencedTableError</code> when a foreign key constraint referenced a table that was not part of the initial table load, including tables filtered out by the <code>EnvironmentContext.configure.include_name</code> callable or tables in remote schemas that were not included in the initial reflection run.</p> <p>The change in <a href="https://redirect.github.com/sqlalchemy/alembic/issues/1771">#1771</a> was a performance optimization that eliminated additional reflection queries for tables that were only referenced by foreign keys but not explicitly included in the main reflection run. However, this optimization inadvertently removed the creation of <code>Table</code> objects for these referenced tables, causing autogenerate to fail when processing foreign key constraints that pointed to them.</p> <p>The fix creates placeholder <code>Table</code> objects for foreign key targets</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/sqlalchemy/alembic/commits">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> |
||
|
|
b7ed529f77 |
Merge pull request #428 from maxdorninger/dependabot/uv/starlette-0.52.1
Bump starlette from 0.50.0 to 0.52.1 |
||
|
|
f2bf1a2dae |
Bump cachetools from 6.2.4 to 7.0.1
Bumps [cachetools](https://github.com/tkem/cachetools) from 6.2.4 to 7.0.1. - [Changelog](https://github.com/tkem/cachetools/blob/master/CHANGELOG.rst) - [Commits](https://github.com/tkem/cachetools/compare/v6.2.4...v7.0.1) --- updated-dependencies: - dependency-name: cachetools dependency-version: 7.0.1 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> |
||
|
|
e80a516c23 |
Bump starlette from 0.50.0 to 0.52.1
Bumps [starlette](https://github.com/Kludex/starlette) from 0.50.0 to 0.52.1. - [Release notes](https://github.com/Kludex/starlette/releases) - [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md) - [Commits](https://github.com/Kludex/starlette/compare/0.50.0...0.52.1) --- updated-dependencies: - dependency-name: starlette dependency-version: 0.52.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> |
||
|
|
c45c9e5873 |
add correlation id to logging (#398)
This PR adds Correlation IDs to logs and request responses. ``` 2026-02-04 12:40:32,793 - [afd825081d874d6e835b5c59a6ddb371] DEBUG - media_manager.movies - get_importable_movies(): Found 5 importable movies. 2026-02-04 12:40:32,794 - [afd825081d874d6e835b5c59a6ddb371] INFO - uvicorn.access - send(): 172.19.0.1:64094 - "GET /api/v1/movies/importable HTTP/1.1" 200 2026-02-04 12:40:47,322 - [41d30b7003fd45288c6a4bb1cfba5e7a] INFO - uvicorn.access - send(): 127.0.0.1:52964 - "GET /api/v1/health HTTP/1.1" 200 2026-02-04 12:41:17,408 - [157027ea5dde472a9e620f53739ccd53] INFO - uvicorn.access - send(): 127.0.0.1:39850 - "GET /api/v1/health HTTP/1.1" 200 ``` |
||
|
|
24fcba6bee |
Torrent file name sanitizing (#390)
Hi, I've added file names sanitization when saving the torrent file, as previously the import was failing on torrents with special characters in names. This fixes #367 |
||
|
|
a39e0d204a |
Ruff enable type annotations rule (#362)
This PR enables the ruff rule for return type annotations (ANN), and adds the ty package for type checking. |
||
|
|
0b4b84a4aa |
add ruff as dev-dependency
since it is mentioned in the development doc, it makes sense to install it as such |
||
|
|
593e1828cc |
remove pillow-avif package
it is possible since 11.3 to use avif in the main pillow package, therefore the avif package is no longer needed https://github.com/python-pillow/Pillow/pull/5201#issuecomment-3023668716 |
||
|
|
86130f0a6e | update dependencies | ||
|
|
b510b1a6e4 | enhance Prowlarr indexer: use tmdb, imdb, tvdb id, and season number for searches | ||
|
|
558d18163c | add libtorrent as dependency | ||
|
|
b3c762040d | add support for transmission | ||
|
|
fa7e03a640 | add pydantic[toml] as dependency | ||
|
|
28349641c0 | format files | ||
|
|
ab377ecfdc | update dependencies | ||
|
|
ec2493afdb | add logic to convert images to avif and webp | ||
|
|
5c646db42a | add tests | ||
|
|
69d6fa7c15 | add automatic alembic migrations to docker images | ||
|
|
3ec45c5f0a | format code | ||
|
|
71cbed8a6f | working on making things work with docker | ||
|
|
88c72e3303 | switch to uv and remove old logo.svg |