dependabot[bot]
246bfe8b2b
Bump ty from 0.0.28 to 0.0.33 ( #503 )
...
Bumps [ty](https://github.com/astral-sh/ty ) from 0.0.28 to 0.0.33.
<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.33</h2>
<h2>Release Notes</h2>
<p>Released on 2026-04-28.</p>
<h3>Notable changes</h3>
<ul>
<li>
<p>ty now prefers the declared type of an annotated assignment in more
situations (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24802 ">#24802</a>).
Consider this example:</p>
<pre lang="py"><code>from some_library import untyped_function
<p>threshold: int | None = 0
result: str = untyped_function()
</code></pre></p>
<p>ty previously favored the <em>inferred</em> type of the right hand
side expression when <code>threshold</code> and <code>result</code> were
used. This is useful for <code>threshold</code>, as it allows something
like <code>threshold += 1</code> to work without an error: we know that
<code>threshold</code> could later become <code>None</code>, but
<em>right now</em>, we see that it is an <code>int</code>. However, for
<code>result</code>, the inferred type is <code>Unknown</code>. This is
<em>not</em> a useful type and it can lead to false negatives. Starting
with this release, ty will therefore prefer
the declared type <em>if the inferred and declared types are mutually
assignable</em>. In the above example, <code>threshold</code> will still
be inferred as <code>int</code> (or rather <code>Literal[1]</code>), but
<code>result</code> will now be inferred as <code>str</code>. If you
previously added <code>cast</code>s to work around this behavior, you
should be able to remove them after upgrading.</p>
</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Fix reporting of annotation-only locals as unused (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24811 ">#24811</a>)</li>
<li>Fix project and workspace selection (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24824 ">#24824</a>)</li>
<li>Fix go-to definition for generic classes (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24714 ">#24714</a>)</li>
<li>Fix receiver coloring for aliased decorators (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24884 ">#24884</a>)</li>
</ul>
<h3>LSP server</h3>
<ul>
<li>Add support for go-to definition in literal enum member inlay hints
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/24792 ">#24792</a>)</li>
<li>Add support for "baking" keyword argument inlay hints into
the source code (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24667 ">#24667</a>)</li>
<li>Don't allow inlay hint edits when introducing a non global scope
symbol (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24797 ">#24797</a>)</li>
<li>Omit semantic highlighting for unresolved symbols (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24718 ">#24718</a>)</li>
</ul>
<h3>Core type checking</h3>
<ul>
<li>Support narrowing with aliased conditional expressions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24302 ">#24302</a>)</li>
<li>Model short-circuiting control flow in Boolean expressions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24458 ">#24458</a>)</li>
<li>Handle <code>finally</code> blocks where all
<code>try</code>/<code>except</code> blocks are terminal (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24882 ">#24882</a>)</li>
<li>Detect invalid <code>ClassVar</code> vs instance-attribute overrides
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/24767 ">#24767</a>)</li>
<li>Emit diagnostic for invalid uses of <code>Unpack[...]</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24868 ">#24868</a>)</li>
<li>Infer lambda parameter types with <code>Callable</code> type context
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/24317 ">#24317</a>)</li>
<li>Support <code>**</code> unpacking of <code>TypedDict</code> in
dict-literal assignments (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24703 ">#24703</a>)</li>
<li>Support <code>Unpack[TypedDict]</code> in <code>**kwargs</code>
signatures (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24653 ">#24653</a>)</li>
<li>Treat <code>[*xs]</code> as an irrefutable pattern when matching on
<code>Sequence</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24787 ">#24787</a>)</li>
<li>Improve generics solving for unions in invariant positions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24698 ">#24698</a>)</li>
<li>Improve generics solving for unions when matching against protocols
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/24837 ">#24837</a>)</li>
</ul>
<h3>Diagnostics</h3>
<!-- 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.33</h2>
<p>Released on 2026-04-28.</p>
<h3>Notable changes</h3>
<ul>
<li>
<p>ty now prefers the declared type of an annotated assignment in more
situations (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24802 ">#24802</a>).
Consider this example:</p>
<pre lang="py"><code>from some_library import untyped_function
<p>threshold: int | None = 0
result: str = untyped_function()
</code></pre></p>
<p>ty previously favored the <em>inferred</em> type of the right hand
side expression when <code>threshold</code> and <code>result</code> were
used. This is useful for <code>threshold</code>, as it allows something
like <code>threshold += 1</code> to work without an error: we know that
<code>threshold</code> could later become <code>None</code>, but
<em>right now</em>, we see that it is an <code>int</code>. However, for
<code>result</code>, the inferred type is <code>Unknown</code>. This is
<em>not</em> a useful type and it can lead to false negatives. Starting
with this release, ty will therefore prefer
the declared type <em>if the inferred and declared types are mutually
assignable</em>. In the above example, <code>threshold</code> will still
be inferred as <code>int</code> (or rather <code>Literal[1]</code>), but
<code>result</code> will now be inferred as <code>str</code>. If you
previously added <code>cast</code>s to work around this behavior, you
should be able to remove them after upgrading.</p>
</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Fix reporting of annotation-only locals as unused (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24811 ">#24811</a>)</li>
<li>Fix project and workspace selection (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24824 ">#24824</a>)</li>
<li>Fix go-to definition for generic classes (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24714 ">#24714</a>)</li>
<li>Fix receiver coloring for aliased decorators (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24884 ">#24884</a>)</li>
</ul>
<h3>LSP server</h3>
<ul>
<li>Add support for go-to definition in literal enum member inlay hints
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/24792 ">#24792</a>)</li>
<li>Add support for "baking" keyword argument inlay hints into
the source code (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24667 ">#24667</a>)</li>
<li>Don't allow inlay hint edits when introducing a non global scope
symbol (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24797 ">#24797</a>)</li>
<li>Omit semantic highlighting for unresolved symbols (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24718 ">#24718</a>)</li>
</ul>
<h3>Core type checking</h3>
<ul>
<li>Support narrowing with aliased conditional expressions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24302 ">#24302</a>)</li>
<li>Model short-circuiting control flow in Boolean expressions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24458 ">#24458</a>)</li>
<li>Handle <code>finally</code> blocks where all
<code>try</code>/<code>except</code> blocks are terminal (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24882 ">#24882</a>)</li>
<li>Detect invalid <code>ClassVar</code> vs instance-attribute overrides
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/24767 ">#24767</a>)</li>
<li>Emit diagnostic for invalid uses of <code>Unpack[...]</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24868 ">#24868</a>)</li>
<li>Infer lambda parameter types with <code>Callable</code> type context
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/24317 ">#24317</a>)</li>
<li>Support <code>**</code> unpacking of <code>TypedDict</code> in
dict-literal assignments (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24703 ">#24703</a>)</li>
<li>Support <code>Unpack[TypedDict]</code> in <code>**kwargs</code>
signatures (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24653 ">#24653</a>)</li>
<li>Treat <code>[*xs]</code> as an irrefutable pattern when matching on
<code>Sequence</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24787 ">#24787</a>)</li>
<li>Improve generics solving for unions in invariant positions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24698 ">#24698</a>)</li>
<li>Improve generics solving for unions when matching against protocols
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/24837 ">#24837</a>)</li>
</ul>
<h3>Diagnostics</h3>
<ul>
<li>Add error context to <code>invalid-return-type</code> diagnostics,
<code>invalid-yield</code> diagnostics, attribute assignment diagnostics
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/24770 ">#24770</a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/24771 ">#24771</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c512d84254 "><code>c512d84</code></a>
Bump version to 0.0.33 (<a
href="https://redirect.github.com/astral-sh/ty/issues/3368 ">#3368</a>)</li>
<li><a
href="4cd7b334b9 "><code>4cd7b33</code></a>
Upgrade Depot runners from macOS 14 to 15 (<a
href="https://redirect.github.com/astral-sh/ty/issues/3363 ">#3363</a>)</li>
<li><a
href="c78b832451 "><code>c78b832</code></a>
Update rui314/setup-mold digest to 9c9c13b (<a
href="https://redirect.github.com/astral-sh/ty/issues/3342 ">#3342</a>)</li>
<li><a
href="dea338134a "><code>dea3381</code></a>
Update actions/cache action to v5.0.5 (<a
href="https://redirect.github.com/astral-sh/ty/issues/3343 ">#3343</a>)</li>
<li><a
href="d451af477b "><code>d451af4</code></a>
update typing-features and faqs (<a
href="https://redirect.github.com/astral-sh/ty/issues/3335 ">#3335</a>)</li>
<li><a
href="052d70bc1a "><code>052d70b</code></a>
Update prek dependencies (<a
href="https://redirect.github.com/astral-sh/ty/issues/3344 ">#3344</a>)</li>
<li><a
href="66b5e87816 "><code>66b5e87</code></a>
Update astral-sh/setup-uv action to v8.1.0 (<a
href="https://redirect.github.com/astral-sh/ty/issues/3345 ">#3345</a>)</li>
<li><a
href="7ec6712a6f "><code>7ec6712</code></a>
Add a 'Diagnostics improvements' section to the changelogs (<a
href="https://redirect.github.com/astral-sh/ty/issues/3309 ">#3309</a>)</li>
<li><a
href="978dfdb38d "><code>978dfdb</code></a>
Add version metadata publishing to the release process (<a
href="https://redirect.github.com/astral-sh/ty/issues/3292 ">#3292</a>)</li>
<li><a
href="4d1e1fc57c "><code>4d1e1fc</code></a>
Bump version to 0.0.32 (<a
href="https://redirect.github.com/astral-sh/ty/issues/3302 ">#3302</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ty/compare/0.0.28...0.0.33 ">compare
view</a></li>
</ul>
</details>
<br />
> **Note**
> Automatic rebases have been disabled on this pull request as it has
been open for over 30 days.
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-01 17:40:28 +02:00
dependabot[bot]
cca3b6a4f3
Bump uvicorn from 0.43.0 to 0.46.0 ( #500 )
...
Bumps [uvicorn](https://github.com/Kludex/uvicorn ) from 0.43.0 to
0.46.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.46.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Support <code>ws_max_size</code> in <code>wsproto</code>
implementation by <a
href="https://github.com/Kludex "><code>@Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2915 ">Kludex/uvicorn#2915</a></li>
<li>Support <code>ws_ping_interval</code> and
<code>ws_ping_timeout</code> in <code>wsproto</code> implementation by
<a href="https://github.com/Kludex "><code>@Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2916 ">Kludex/uvicorn#2916</a></li>
<li>Use <code>bytearray</code> for incoming WebSocket message buffer in
websockets-sansio by <a
href="https://github.com/Kludex "><code>@Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2917 ">Kludex/uvicorn#2917</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/uvicorn/compare/0.45.0...0.46.0 ">https://github.com/Kludex/uvicorn/compare/0.45.0...0.46.0 </a></p>
<h2>Version 0.45.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Preserve forwarded client ports in proxy headers middleware by <a
href="https://github.com/Kludex "><code>@Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2903 ">Kludex/uvicorn#2903</a></li>
<li>Accept <code>os.PathLike</code> for <code>log_config</code> by <a
href="https://github.com/Kludex "><code>@Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2905 ">Kludex/uvicorn#2905</a></li>
<li>Accept <code>log_level</code> strings case-insensitively by <a
href="https://github.com/Kludex "><code>@Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2907 ">Kludex/uvicorn#2907</a></li>
<li>Raise helpful <code>ImportError</code> when PyYAML is missing for
YAML log config by <a
href="https://github.com/Kludex "><code>@Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2906 ">Kludex/uvicorn#2906</a></li>
<li>Revert empty context for ASGI runs by <a
href="https://github.com/Kludex "><code>@Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2911 ">Kludex/uvicorn#2911</a></li>
<li>Add <code>--reset-contextvars</code> flag to isolate ASGI request
context by <a href="https://github.com/Kludex "><code>@Kludex</code></a>
in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2912 ">Kludex/uvicorn#2912</a></li>
<li>Revert "Emit <code>http.disconnect</code> on server shutdown
for streaming responses" (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2829 ">#2829</a>)
by <a href="https://github.com/Kludex "><code>@Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2913 ">Kludex/uvicorn#2913</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/Krishnachaitanyakc "><code>@Krishnachaitanyakc</code></a>
made their first contribution in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2870 ">Kludex/uvicorn#2870</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/uvicorn/compare/0.44.0...0.45.0 ">https://github.com/Kludex/uvicorn/compare/0.44.0...0.45.0 </a></p>
<h2>Version 0.44.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Implement websocket keepalive pings for websockets-sansio by <a
href="https://github.com/Kludex "><code>@Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2888 ">Kludex/uvicorn#2888</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/uvicorn/compare/0.43.0...0.44.0 ">https://github.com/Kludex/uvicorn/compare/0.43.0...0.44.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.46.0 (April 23, 2026)</h2>
<h3>Added</h3>
<ul>
<li>Support <code>ws_max_size</code> in <code>wsproto</code>
implementation (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2915 ">#2915</a>)</li>
<li>Support <code>ws_ping_interval</code> and
<code>ws_ping_timeout</code> in <code>wsproto</code> implementation (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2916 ">#2916</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Use <code>bytearray</code> for incoming WebSocket message buffer in
<code>websockets-sansio</code> (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2917 ">#2917</a>)</li>
</ul>
<h2>0.45.0 (April 21, 2026)</h2>
<h3>Added</h3>
<ul>
<li>Add <code>--reset-contextvars</code> flag to isolate ASGI request
context (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2912 ">#2912</a>)</li>
<li>Accept <code>os.PathLike</code> for <code>log_config</code> (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2905 ">#2905</a>)</li>
<li>Accept <code>log_level</code> strings case-insensitively (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2907 ">#2907</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Revert "Emit <code>http.disconnect</code> on server shutdown
for streaming responses" (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2913 ">#2913</a>)</li>
<li>Revert "Explicitly start ASGI run with empty context" (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2911 ">#2911</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Preserve forwarded client ports in proxy headers middleware (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2903 ">#2903</a>)</li>
<li>Raise helpful <code>ImportError</code> when PyYAML is missing for
YAML log config (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2906 ">#2906</a>)</li>
</ul>
<h2>0.44.0 (April 6, 2026)</h2>
<h3>Added</h3>
<ul>
<li>Implement websocket keepalive pings for websockets-sansio (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2888 ">#2888</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="b224045f59 "><code>b224045</code></a>
Version 0.46.0 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2918 ">#2918</a>)</li>
<li><a
href="7375b5bf66 "><code>7375b5b</code></a>
Use <code>bytearray</code> for incoming WebSocket message buffer in
websockets-sansio (#...</li>
<li><a
href="d438fb16fe "><code>d438fb1</code></a>
Support <code>ws_ping_interval</code> and <code>ws_ping_timeout</code>
in <code>wsproto</code> implementation ...</li>
<li><a
href="3e6b964466 "><code>3e6b964</code></a>
Support <code>ws_max_size</code> in <code>wsproto</code> implementation
(<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2915 ">#2915</a>)</li>
<li><a
href="2c423bd82b "><code>2c423bd</code></a>
Version 0.45.0 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2914 ">#2914</a>)</li>
<li><a
href="7f027f8e25 "><code>7f027f8</code></a>
Revert "Emit <code>http.disconnect</code> on server shutdown for
streaming responses" (#...</li>
<li><a
href="73a80c3cc8 "><code>73a80c3</code></a>
Add <code>--reset-contextvars</code> flag to isolate ASGI request
context (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2912 ">#2912</a>)</li>
<li><a
href="45c0b568d3 "><code>45c0b56</code></a>
Revert empty context for ASGI runs (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2911 ">#2911</a>)</li>
<li><a
href="850d92656d "><code>850d926</code></a>
Raise helpful <code>ImportError</code> when PyYAML is missing for YAML
log config (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2906 ">#2906</a>)</li>
<li><a
href="fdcacb4b83 "><code>fdcacb4</code></a>
Accept <code>log_level</code> strings case-insensitively (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2907 ">#2907</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Kludex/uvicorn/compare/0.43.0...0.46.0 ">compare
view</a></li>
</ul>
</details>
<br />
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-01 17:40:19 +02:00
Marcel Hellwig
c46239db86
replace libtorrent with torf ( #506 )
...
torf is a python library which deals with torrents, magnets and more. It
is a python only library and has no C backend.
The main reason for replacing it is that libtorrent doesn't have
bindings for pyhton 3.14, which is now the default on arch (I use arch
btw.)
---
Since I don't have a torrent downloader, someone should verify that this
still works (:
Maybe one should add tests for it as well :D
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Chores**
* Replaced the torrent parsing library and updated project dependency
accordingly.
* Updated container build to remove the now-unused OS package.
* **Bug Fixes**
* Improved reliability of torrent info extraction during magnet and
fallback handling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-01 16:24:34 +02:00
Maximilian Dorninger
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 -->
2026-02-26 21:23:24 +01:00
Maximilian Dorninger
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
```
2026-02-04 13:55:05 +01:00
Sergey Khruschak
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
2026-02-03 17:09:36 +01:00
Maximilian Dorninger
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.
2026-01-06 17:07:19 +01:00
Marcel Hellwig
0b4b84a4aa
add ruff as dev-dependency
...
since it is mentioned in the development doc, it makes sense to install
it as such
2026-01-05 19:30:34 +01:00
Marcel Hellwig
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
2026-01-05 19:29:52 +01:00
maxid
86130f0a6e
update dependencies
2025-12-30 00:32:39 +01:00
maxid
b510b1a6e4
enhance Prowlarr indexer: use tmdb, imdb, tvdb id, and season number for searches
2025-12-27 22:22:19 +01:00
maxDorninger
558d18163c
add libtorrent as dependency
2025-07-27 13:41:15 +02:00
maxDorninger
b3c762040d
add support for transmission
2025-07-15 19:56:46 +02:00
maxDorninger
fa7e03a640
add pydantic[toml] as dependency
2025-07-11 00:56:25 +02:00
Maximilian Dorninger
8e5e069263
Merge branch 'master' into add-usenet-support
2025-07-10 01:44:12 +02:00
maxDorninger
28349641c0
format files
2025-07-09 23:56:34 +02:00
Joe Thomas
5e3b40bb43
updated some setup steps
2025-07-03 15:45:00 +02:00
maxDorninger
ec2493afdb
add logic to convert images to avif and webp
2025-06-08 21:32:59 +02:00
maxDorninger
5c646db42a
add tests
2025-06-07 16:45:15 +02:00
maxDorninger
69d6fa7c15
add automatic alembic migrations to docker images
2025-06-01 22:45:16 +02:00
maxDorninger
3ec45c5f0a
format code
2025-05-31 14:40:33 +02:00
maxDorninger
71cbed8a6f
working on making things work with docker
2025-05-29 23:57:26 +02:00
maxDorninger
88c72e3303
switch to uv and remove old logo.svg
2025-05-29 22:33:13 +02:00