670 Commits

Author SHA1 Message Date
Alishahryar1 9a2c5fbeb9 Update README 2026-05-31 17:18:02 -07:00
Ali Khokhar 135c251115 Update README.md (#664) 2026-05-31 16:51:13 -07:00
Alishahryar1 0eee1da072 Try mid stream retries 2026-05-31 16:28:44 -07:00
dependabot[bot] 52ebb7417b build(deps): bump the minor-and-patch group with 5 updates (#629)
Bumps the minor-and-patch group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [uvicorn](https://github.com/Kludex/uvicorn) | `0.47.0` | `0.48.0` |
| [nvidia-riva-client](https://github.com/nvidia-riva/python-clients) |
`2.25.1` | `2.26.0` |
| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) |
`1.3.0` | `1.4.0` |
| [ty](https://github.com/astral-sh/ty) | `0.0.38` | `0.0.40` |
| [ruff](https://github.com/astral-sh/ruff) | `0.15.14` | `0.15.15` |

Updates `uvicorn` from 0.47.0 to 0.48.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.48.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Default <code>ssl_ciphers</code> to <code>None</code> and use
OpenSSL defaults by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2940">Kludex/uvicorn#2940</a></li>
<li>Ignore duplicate forwarding headers in
<code>ProxyHeadersMiddleware</code> by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/uvicorn/pull/2944">Kludex/uvicorn#2944</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0">https://github.com/Kludex/uvicorn/compare/0.47.0...0.48.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.48.0 (May 24, 2026)</h2>
<h3>Changed</h3>
<ul>
<li>Default <code>ssl_ciphers</code> to <code>None</code> and use
OpenSSL defaults (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2940">#2940</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Ignore duplicate forwarding headers in
<code>ProxyHeadersMiddleware</code> (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2944">#2944</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Kludex/uvicorn/commit/73e84e58d7f6b8b3dfd8a9e3e42d716862250f33"><code>73e84e5</code></a>
Version 0.48.0 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2951">#2951</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/45ea11690b4a62fa6df339d2b6ee3b8545a418e0"><code>45ea116</code></a>
Ignore duplicate forwarding headers in
<code>ProxyHeadersMiddleware</code> (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2944">#2944</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/dd4394c3cbfd9f27a696a7b08047149690058158"><code>dd4394c</code></a>
chore(deps): bump idna from 3.11 to 3.15 (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2941">#2941</a>)</li>
<li><a
href="https://github.com/Kludex/uvicorn/commit/abe07818a191cd036dc3824d802d052207e01c7e"><code>abe0781</code></a>
Default <code>ssl_ciphers</code> to <code>None</code> and use OpenSSL
defaults (<a
href="https://redirect.github.com/Kludex/uvicorn/issues/2940">#2940</a>)</li>
<li>See full diff in <a
href="https://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `nvidia-riva-client` from 2.25.1 to 2.26.0
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/nvidia-riva/python-clients/commits">compare
view</a></li>
</ul>
</details>
<br />

Updates `pytest-asyncio` from 1.3.0 to 1.4.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pytest-asyncio/releases">pytest-asyncio's
releases</a>.</em></p>
<blockquote>
<h2>pytest-asyncio v1.4.0</h2>
<h1><a
href="https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0">1.4.0</a>
- 2026-05-26</h1>
<h2>Deprecated</h2>
<ul>
<li>Overriding the <em>event_loop_policy</em> fixture is deprecated. Use
the <code>pytest_asyncio_loop_factories</code> hook instead. (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419">#1419</a>)</li>
</ul>
<h2>Added</h2>
<ul>
<li>
<p>Added the <code>pytest_asyncio_loop_factories</code> hook to
parametrize asyncio tests with custom event loop factories.</p>
<p>The hook returns a mapping of factory names to loop factories, and
<code>pytest.mark.asyncio(loop_factories=[...])</code> selects a subset
of configured factories per test. When a single factory is configured,
test names are unchanged.</p>
<p>Synchronous <code>@pytest_asyncio.fixture</code> functions now see
the correct event loop when custom loop factories are configured, even
when test code disrupts the current event loop (e.g., via
<code>asyncio.run()</code> or
<code>asyncio.set_event_loop(None)</code>). (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164">#1164</a>)</p>
</li>
</ul>
<h2>Changed</h2>
<ul>
<li>Improved the readability of the warning message that is displayed
when <code>asyncio_default_fixture_loop_scope</code> is unset (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298">#1298</a>)</li>
<li>Only import <code>asyncio.AbstractEventLoopPolicy</code> for type
checking to avoid raising
a DeprecationWarning. (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394">#1394</a>)</li>
<li>Updated minimum supported pytest version to v8.4.0. (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1397">#1397</a>)</li>
</ul>
<h2>Fixed</h2>
<ul>
<li>Fixed a <code>ResourceWarning: unclosed event loop</code> warning
that could occur when a synchronous test called
<code>asyncio.run()</code> or otherwise unset the current event loop
after pytest-asyncio had run an async test or fixture. (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/724">#724</a>)</li>
</ul>
<h2>Notes for Downstream Packagers</h2>
<ul>
<li>Added dependency on <code>sphinx-tabs &gt;= 3.5</code> to organize
documentation examples into tabs. (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1395">#1395</a>)</li>
</ul>
<h2>pytest-asyncio v1.4.0a2</h2>
<h1><a
href="https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0a2">1.4.0a2</a>
- 2026-05-02</h1>
<h2>Deprecated</h2>
<ul>
<li>Overriding the <em>event_loop_policy</em> fixture is deprecated. Use
the <code>pytest_asyncio_loop_factories</code> hook instead. (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419">#1419</a>)</li>
</ul>
<h2>Added</h2>
<ul>
<li>
<p>Added the <code>pytest_asyncio_loop_factories</code> hook to
parametrize asyncio tests with custom event loop factories.</p>
<p>The hook returns a mapping of factory names to loop factories, and
<code>pytest.mark.asyncio(loop_factories=[...])</code> selects a subset
of configured factories per test. When a single factory is configured,
test names are unchanged on pytest 8.4+.</p>
<p>Synchronous <code>@pytest_asyncio.fixture</code> functions now see
the correct event loop when custom loop factories are configured, even
when test code disrupts the current event loop (e.g., via
<code>asyncio.run()</code> or
<code>asyncio.set_event_loop(None)</code>). (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164">#1164</a>)</p>
</li>
</ul>
<h2>Changed</h2>
<ul>
<li>Improved the readability of the warning message that is displayed
when <code>asyncio_default_fixture_loop_scope</code> is unset (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298">#1298</a>)</li>
<li>Only import <code>asyncio.AbstractEventLoopPolicy</code> for type
checking to avoid raising
a DeprecationWarning. (<a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394">#1394</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/6e14cd2af9292dca1fa2b027a06bbc40b0e0e425"><code>6e14cd2</code></a>
chore: Prepare release of v1.4.0.</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/4b900fb5d0c30949c574e55dd904ee179f858a5e"><code>4b900fb</code></a>
Build(deps): Bump codecov/codecov-action from 6.0.0 to 6.0.1</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/ab9f63245094865c42c940a34af724b0dec1debf"><code>ab9f632</code></a>
Build(deps): Bump zipp from 3.23.1 to 4.1.0</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/a56fc77ecd59f781d8471b0f6a82bf58e08c95fa"><code>a56fc77</code></a>
Build(deps): Bump hypothesis from 6.152.6 to 6.152.8</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/e8bae9bc1f197731fc1a210c0da557af7b698e6d"><code>e8bae9b</code></a>
Build(deps): Bump requests from 2.34.0 to 2.34.2</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/fc433402c570fd36a7a227ef4bc3abd4579299de"><code>fc43340</code></a>
Build(deps): Bump idna from 3.14 to 3.15</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/762eaf5033b798b965c92afdbb2cebefa8fc3a8b"><code>762eaf5</code></a>
Build(deps): Bump jaraco-functools from 4.4.0 to 4.5.0</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/b62e2228c80070977baf6b77ba89d5c148af920f"><code>b62e222</code></a>
Build(deps): Bump click from 8.3.3 to 8.4.0</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/919044700627889d25ca63b6e7a3bc785f3137eb"><code>9190447</code></a>
Build(deps): Bump pydantic from 2.13.3 to 2.13.4</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/82a393c5e31b6ebbbd8ec2a8dafc5f35b9cf1236"><code>82a393c</code></a>
ci: Remove unnecessary debug output.</li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/pytest-asyncio/compare/v1.3.0...v1.4.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `ty` from 0.0.38 to 0.0.40
<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.40</h2>
<h2>Release Notes</h2>
<p>Released on 2026-05-27.</p>
<h3>Bug fixes</h3>
<ul>
<li>Accept complete enum-literal alias unions as enums (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25341">#25341</a>)</li>
<li>Fix diagnostics in ignored folders after adding new files (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25236">#25236</a>)</li>
<li>Show <code>LiteralString</code> when hovering over an inline of a
literal string in an IDE (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25373">#25373</a>)</li>
</ul>
<h3>LSP server</h3>
<ul>
<li>Follow aliases when attempting to map a definition in a stub file to
its &quot;real&quot; runtime definition (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25328">#25328</a>)</li>
<li>Treat Python notebook text documents as Python sources (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25393">#25393</a>)</li>
<li>Fix autocompletion for elements inside incomplete list
comprehensions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25326">#25326</a>)</li>
</ul>
<h3>Diagnostics</h3>
<ul>
<li>Add a subdiagnostic help message to
<code>invalid-generic-class</code> diagnostics regarding incompatible
variance (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25385">#25385</a>)</li>
</ul>
<h3>Core type checking</h3>
<ul>
<li>Ignore and reject annotations on non-name targets (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25324">#25324</a>)</li>
<li>Infer class attributes assigned by metaclass initialization (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25342">#25342</a>)</li>
<li>Reject inconsistent generic bases in &quot;dynamic&quot; classes
created using <code>type(...)</code>, <code>types.new_type(...)</code>,
etc. (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25413">#25413</a>)</li>
<li>Resolve enum names for all unions arms in <code>Literal</code> enum
subsets (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25379">#25379</a>)</li>
<li>Support <code>typing.TypeForm</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25334">#25334</a>)</li>
<li>Fix many issues in the generics solver by using constraint sets more
widely to solve type variables (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24540">#24540</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/anuraaga"><code>@​anuraaga</code></a></li>
<li><a
href="https://github.com/dcreager"><code>@​dcreager</code></a></li>
<li><a
href="https://github.com/charliermarsh"><code>@​charliermarsh</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a
href="https://github.com/Dev-X25874"><code>@​Dev-X25874</code></a></li>
</ul>
<h2>Install ty 0.0.40</h2>
<h3>Install prebuilt binaries via shell script</h3>
<pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf
https://releases.astral.sh/github/ty/releases/download/0.0.40/ty-installer.sh
| sh
</code></pre>
<h3>Install prebuilt binaries via powershell script</h3>
<pre lang="sh"><code>powershell -ExecutionPolicy Bypass -c &quot;irm
https://releases.astral.sh/github/ty/releases/download/0.0.40/ty-installer.ps1
| iex&quot;
&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</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.40</h2>
<p>Released on 2026-05-27.</p>
<h3>Bug fixes</h3>
<ul>
<li>Accept complete enum-literal alias unions as enums (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25341">#25341</a>)</li>
<li>Fix diagnostics in ignored folders after adding new files (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25236">#25236</a>)</li>
<li>Show <code>LiteralString</code> when hovering over an inline of a
literal string in an IDE (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25373">#25373</a>)</li>
</ul>
<h3>LSP server</h3>
<ul>
<li>Follow aliases when attempting to map a definition in a stub file to
its &quot;real&quot; runtime definition (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25328">#25328</a>)</li>
<li>Treat Python notebook text documents as Python sources (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25393">#25393</a>)</li>
<li>Fix autocompletion for elements inside incomplete list
comprehensions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25326">#25326</a>)</li>
</ul>
<h3>Diagnostics</h3>
<ul>
<li>Add a subdiagnostic help message to
<code>invalid-generic-class</code> diagnostics regarding incompatible
variance (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25385">#25385</a>)</li>
</ul>
<h3>Core type checking</h3>
<ul>
<li>Ignore and reject annotations on non-name targets (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25324">#25324</a>)</li>
<li>Infer class attributes assigned by metaclass initialization (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25342">#25342</a>)</li>
<li>Reject inconsistent generic bases in &quot;dynamic&quot; classes
created using <code>type(...)</code>, <code>types.new_type(...)</code>,
etc. (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25413">#25413</a>)</li>
<li>Resolve enum names for all unions arms in <code>Literal</code> enum
subsets (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25379">#25379</a>)</li>
<li>Support <code>typing.TypeForm</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25334">#25334</a>)</li>
<li>Fix many issues in the generics solver by using constraint sets more
widely to solve type variables (<a
href="https://redirect.github.com/astral-sh/ruff/pull/24540">#24540</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/anuraaga"><code>@​anuraaga</code></a></li>
<li><a
href="https://github.com/dcreager"><code>@​dcreager</code></a></li>
<li><a
href="https://github.com/charliermarsh"><code>@​charliermarsh</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a
href="https://github.com/Dev-X25874"><code>@​Dev-X25874</code></a></li>
</ul>
<h2>0.0.39</h2>
<p>Released on 2026-05-22.</p>
<p>This release removes the Python 3.9 branches from our vendored
standard library stubs. ty now only has &quot;full&quot; support for
Python 3.10 and later, but will still report version-specific syntax
errors and other diagnostics when <code>--python-version 3.9</code>
is provided via the CLI.</p>
<h3>Bug fixes</h3>
<ul>
<li>Avoid panicking on <code>__new__</code> assignments to classes (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25282">#25282</a>)</li>
<li>Preserve declaration order when synthesizing class fields (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25249">#25249</a>)</li>
<li>Respect <code>dict</code>-compatible fallbacks in TypedDict unions
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/25242">#25242</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/ty/commit/7b95bc219d1dcebc3ce39d222c66c14a3825c9a0"><code>7b95bc2</code></a>
Bump version to 0.0.40 (<a
href="https://redirect.github.com/astral-sh/ty/issues/3554">#3554</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/54c7498ec94de87135edb8b54c311b54d30ec534"><code>54c7498</code></a>
Update prek dependencies (<a
href="https://redirect.github.com/astral-sh/ty/issues/3546">#3546</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/0d8540acdbf1340af95a2f364b9fd7d3b6bba3a8"><code>0d8540a</code></a>
docs: set Eglot <code>:language-id</code> so ty works with
<code>python-base-mode</code> (<a
href="https://redirect.github.com/astral-sh/ty/issues/3532">#3532</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/8f1cee048254accb008fc391428b9c3139cebb2f"><code>8f1cee0</code></a>
scripts/update_schemastore: add text=True to git revision check_output
calls ...</li>
<li><a
href="https://github.com/astral-sh/ty/commit/32b654a899f1c2cffd9909a89fec19ec53af2d9d"><code>32b654a</code></a>
docs: add Flycheck note to Emacs editor integration (<a
href="https://redirect.github.com/astral-sh/ty/issues/3528">#3528</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/4e1b4e72018457d0cea0efa818ecccd63b3f3f01"><code>4e1b4e7</code></a>
docs: fix broken link and minor wording in suppression.md (<a
href="https://redirect.github.com/astral-sh/ty/issues/3527">#3527</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/0205125174c135d6fc4014244dee374678b61c72"><code>0205125</code></a>
Bump version to 0.0.39 (<a
href="https://redirect.github.com/astral-sh/ty/issues/3516">#3516</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/ae8058d40e641b545bbad046c487e964206a2286"><code>ae8058d</code></a>
Update maturin to v1.13.3 (<a
href="https://redirect.github.com/astral-sh/ty/issues/3494">#3494</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/33b60f8ad0f2da648b867831548a4b8c7985647d"><code>33b60f8</code></a>
Update prek dependencies (<a
href="https://redirect.github.com/astral-sh/ty/issues/3495">#3495</a>)</li>
<li>See full diff in <a
href="https://github.com/astral-sh/ty/compare/0.0.38...0.0.40">compare
view</a></li>
</ul>
</details>
<br />

Updates `ruff` from 0.15.14 to 0.15.15
<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.15</h2>
<h2>Release Notes</h2>
<p>Released on 2026-05-28.</p>
<h3>Preview features</h3>
<ul>
<li>Fix Markdown closing fence handling (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25310">#25310</a>)</li>
<li>[<code>pyflakes</code>] Report duplicate imports in
<code>typing.TYPE_CHECKING</code> block (<code>F811</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22560">#22560</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>pyflakes</code>] Treat function-scope bare annotations as
locals per PEP 526 (<code>F821</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21540">#21540</a>)</li>
</ul>
<h3>Performance</h3>
<ul>
<li>Avoid redundant <code>TokenValue</code> drops in the lexer (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25300">#25300</a>)</li>
<li>Reduce memory usage by dropping token-excess capacity and improve
performance by approximating the initial tokens <code>Vec</code> size
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/25354">#25354</a>)</li>
<li>Use <code>ThinVec</code> in AST to shrink <code>Stmt</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25361">#25361</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Fix <code>line-length</code> example for <code>--config</code>
option (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25389">#25389</a>)</li>
<li>[<code>flake8-comprehensions</code>] Document
<code>RecursionError</code> edge case in <code>__len__</code>
(<code>C416</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25286">#25286</a>)</li>
<li>[<code>mccabe</code>] Improve example (<code>C901</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25287">#25287</a>)</li>
<li>[<code>pyupgrade</code>] Clarify fix safety docs
(<code>UP007</code>, <code>UP045</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25288">#25288</a>)</li>
<li>[<code>refurb</code>] Document <code>FURB192</code> exception change
for empty sequences (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25317">#25317</a>)</li>
<li>[<code>ruff</code>] Document false negative for user-defined types
(<code>RUF013</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25289">#25289</a>)</li>
</ul>
<h3>Formatter</h3>
<ul>
<li>Fix formatting of lambdas nested within f-strings (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25398">#25398</a>)</li>
</ul>
<h3>Server</h3>
<ul>
<li>Return code action for <code>codeAction/resolve</code> requests that
contain no or no valid URL (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25365">#25365</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Expand semantic syntax errors for invalid walruses (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25415">#25415</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/chirizxc"><code>@​chirizxc</code></a></li>
<li><a href="https://github.com/ntBre"><code>@​ntBre</code></a></li>
<li><a
href="https://github.com/adityasingh2400"><code>@​adityasingh2400</code></a></li>
<li><a
href="https://github.com/charliermarsh"><code>@​charliermarsh</code></a></li>
<li><a
href="https://github.com/fallintoplace"><code>@​fallintoplace</code></a></li>
<li><a
href="https://github.com/martin-schlossarek"><code>@​martin-schlossarek</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></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/ruff/blob/main/CHANGELOG.md">ruff's
changelog</a>.</em></p>
<blockquote>
<h2>0.15.15</h2>
<p>Released on 2026-05-28.</p>
<h3>Preview features</h3>
<ul>
<li>Fix Markdown closing fence handling (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25310">#25310</a>)</li>
<li>[<code>pyflakes</code>] Report duplicate imports in
<code>typing.TYPE_CHECKING</code> block (<code>F811</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/22560">#22560</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>pyflakes</code>] Treat function-scope bare annotations as
locals per PEP 526 (<code>F821</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/21540">#21540</a>)</li>
</ul>
<h3>Performance</h3>
<ul>
<li>Avoid redundant <code>TokenValue</code> drops in the lexer (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25300">#25300</a>)</li>
<li>Reduce memory usage by dropping token-excess capacity and improve
performance by approximating the initial tokens <code>Vec</code> size
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/25354">#25354</a>)</li>
<li>Use <code>ThinVec</code> in AST to shrink <code>Stmt</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25361">#25361</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Fix <code>line-length</code> example for <code>--config</code>
option (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25389">#25389</a>)</li>
<li>[<code>flake8-comprehensions</code>] Document
<code>RecursionError</code> edge case in <code>__len__</code>
(<code>C416</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25286">#25286</a>)</li>
<li>[<code>mccabe</code>] Improve example (<code>C901</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25287">#25287</a>)</li>
<li>[<code>pyupgrade</code>] Clarify fix safety docs
(<code>UP007</code>, <code>UP045</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25288">#25288</a>)</li>
<li>[<code>refurb</code>] Document <code>FURB192</code> exception change
for empty sequences (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25317">#25317</a>)</li>
<li>[<code>ruff</code>] Document false negative for user-defined types
(<code>RUF013</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25289">#25289</a>)</li>
</ul>
<h3>Formatter</h3>
<ul>
<li>Fix formatting of lambdas nested within f-strings (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25398">#25398</a>)</li>
</ul>
<h3>Server</h3>
<ul>
<li>Return code action for <code>codeAction/resolve</code> requests that
contain no or no valid URL (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25365">#25365</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Expand semantic syntax errors for invalid walruses (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25415">#25415</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/chirizxc"><code>@​chirizxc</code></a></li>
<li><a href="https://github.com/ntBre"><code>@​ntBre</code></a></li>
<li><a
href="https://github.com/adityasingh2400"><code>@​adityasingh2400</code></a></li>
<li><a
href="https://github.com/charliermarsh"><code>@​charliermarsh</code></a></li>
<li><a
href="https://github.com/fallintoplace"><code>@​fallintoplace</code></a></li>
<li><a
href="https://github.com/martin-schlossarek"><code>@​martin-schlossarek</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a
href="https://github.com/Ruchir28"><code>@​Ruchir28</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/ruff/commit/db5aa0a5f1b92cb91d910bf0866a967554dd94f5"><code>db5aa0a</code></a>
Bump 0.15.15 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25431">#25431</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/366fe21ba369ccdd01eb99c1043c9a969c99230b"><code>366fe21</code></a>
[ty] Improve diagnostics for syntax errors in forward annotations (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25158">#25158</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/e2e1e647d182b8567845039c9a65fb0608a4dcfc"><code>e2e1e64</code></a>
[ty] Remove excess capacity from more Salsa cached collections (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25411">#25411</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/1bd77e1646f2213d86b8da215f08279187867d72"><code>1bd77e1</code></a>
[ty] Use diagnostic message as tie breaker when sorting (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25424">#25424</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/7e1bc1e75f15795f12c846294b13df4535f2abbf"><code>7e1bc1e</code></a>
Add agent skills for working on ty (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25422">#25422</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/574e10752f8cfa9e0cdbe3b01e96c4380950469b"><code>574e107</code></a>
Expand semantic syntax errors for invalid walruses (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25415">#25415</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/4a7ca062fccd80443a43aa61e5dc7e5858e88dc1"><code>4a7ca06</code></a>
[ty] Display docs for matching parameter when hovering over the name of
an ar...</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/54327092dbfe455040690d63bb1e5e4b5f551239"><code>5432709</code></a>
Refine a few agents instructions (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25423">#25423</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/3cb09eba689ebb49e799131092121928cc789c18"><code>3cb09eb</code></a>
[ty] Support <code>typing.TypeForm</code> (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25334">#25334</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/c8cd59f189f2b6f55d542b29bddb953622add6fc"><code>c8cd59f</code></a>
[ty] Infer class attributes assigned by metaclass initialization (<a
href="https://redirect.github.com/astral-sh/ruff/issues/25342">#25342</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.15.14...0.15.15">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>
2026-05-31 15:33:30 -07:00
Alishahryar1 b67019351a Update README 2026-05-31 15:27:53 -07:00
Alishahryar1 044a152fb4 Add Gemini thought signature smoke 2026-05-31 15:26:13 -07:00
Ali Khokhar 8416792b61 Update README.md (#663) 2026-05-31 15:25:48 -07:00
Alishahryar1 fedcc0a32b Fix Gemini thought signature replay 2026-05-31 15:13:37 -07:00
Alishahryar1 885c26d977 Surface upstream provider errors
Include copyable upstream status and error bodies in provider SSE failures for OpenAI-compatible and native Anthropic transports, while preserving retry behavior and safe logging defaults.
2026-05-31 14:48:51 -07:00
Alishahryar1 d501e5223a Fix live provider smoke defaults
Update live smoke model defaults for NIM, OpenRouter, and Gemini; normalize tool-call indexes; downgrade DeepSeek forced tool_choice; and add coverage for the provider smoke fixes.
2026-05-31 13:02:15 -07:00
Alishahryar1 e4d6dc1f94 fix: avoid dual gemini thinking controls 2026-05-29 17:05:43 -07:00
Alishahryar1 4631ff9c49 fix: update uv with install manager 2026-05-29 16:35:10 -07:00
Alishahryar1 cebdc02a32 fix: accept system role messages 2026-05-29 16:16:48 -07:00
Alishahryar1 8ae7795961 fix(gemini): nest google extra body for sdk 2026-05-24 11:10:29 -07:00
Alishahryar1 3e70a1c47e Reorder providers in README choose a provider section 2026-05-23 19:18:34 -07:00
Alishahryar1 26c5b35698 Reorder providers in README and other places 2026-05-23 19:16:22 -07:00
Alishahryar1 a4d7d76040 Add Codestral Provider 2026-05-23 19:09:22 -07:00
Alishahryar1 fbb1d6586d feat(providers): native Anthropic Messages for Kimi, Fireworks, Z.ai
Route these providers through POST /messages with vendor headers and bases (including Kimi model list on OpenAI /v1/models). Remove Z.ai from OpenAI-chat server-tool rejection; extend tests and README.
2026-05-23 17:03:59 -07:00
Alishahryar1 ab842fd920 Add Cereberas Provider 2026-05-23 16:35:27 -07:00
Alishahryar1 b2f66db0bb Add Groq Provider 2026-05-23 16:31:48 -07:00
Alishahryar1 1324c36da5 Add Gemini Provider 2026-05-23 16:26:38 -07:00
Alishahryar1 6cee99e7a5 Revert "Update Readme"
This reverts commit 9f6f2f1a7c.
2026-05-23 16:20:49 -07:00
Alishahryar1 9f6f2f1a7c Update Readme 2026-05-23 16:18:33 -07:00
Alishahryar1 870576937f Add Mistral Provider 2026-05-23 16:16:59 -07:00
Alishahryar1 b8c1f72865 fix installer dependency checks 2026-05-23 15:35:24 -07:00
Alishahryar1 428746e0e0 docs: add first-class install scripts 2026-05-22 16:05:07 -07:00
Alishahryar1 7144ea3da7 docs: simplify quick start install 2026-05-22 15:50:48 -07:00
dependabot[bot] 573ee3c163 build(deps): bump the minor-and-patch group across 1 directory with 4 updates (#524) 2026-05-22 14:37:33 -07:00
Ali Khokhar ebe2b8dfa8 Update required-version for tool.uv to 0.11.0 (#527) 2026-05-22 14:04:39 -07:00
Alishahryar1 dc089df317 Pin stable Python 3.14.0 and require uv 0.9+ for correct downloads.
Old uv versions resolved 3.14.0 to pre-releases; enforce a minimum uv version
and document reinstall steps so contributors get the final 3.14.0 build.
2026-05-22 12:12:14 -07:00
Alishahryar1 51d5f29ae1 fix(opencode_go): authenticate with OPENCODE_API_KEY
OpenCode Zen and Go share OPENCODE_API_KEY and opencode_api_key; Remove OPENCODE_GO_API_KEY and settings field.
2026-05-20 21:37:55 -07:00
Alishahryar1 f1f97b16c5 Added OpenCode Go to README 2026-05-20 21:30:14 -07:00
Ali Khokhar 8bedfeafd6 Update README.md (#506) 2026-05-20 21:27:27 -07:00
Alishahryar1 af0954362f Update README 2026-05-20 21:24:55 -07:00
George Levis f5e49ea78d Add OpenCode Go subscription gateway provider (#505)
## Summary

Adds support for the **OpenCode Go** subscription gateway at
`opencode.ai/zen/go/v1`, as requested in #504.

OpenCode Go exposes the same OpenAI-compatible Chat Completions API as
OpenCode Zen, so the implementation reuses `OpenCodeProvider` with a
configurable `provider_name` parameter — avoiding code duplication.

### Changes
- **Provider**: `OpenCodeProvider` now accepts `provider_name` (defaults
to `"OPENCODE"` for backward compatibility)
- **Catalog**: New `opencode_go` descriptor with correct base URL,
credential, and capabilities
- **Registry**: `_create_opencode_go` factory that passes
`provider_name="OPENCODE_GO"`
- **Settings**: `opencode_go_api_key` and `opencode_go_proxy` fields
- **Admin UI**: OpenCode Go API key, proxy, and smoke model config
fields
- **API services**: `opencode_go` added to OpenAI Chat Completions
upstream IDs
- **Smoke config**: Default smoke model `opencode_go/gpt-5.3-codex`
- **Tests**: New test for base URL, provider name, and API key; existing
tests updated

## Test plan
- [x] `test_opencode_go_provider_config_uses_correct_base_url_and_name`
— passes
- [x] `test_create_provider_instantiates_each_builtin` — covers
opencode_go
- [x]
`test_provider_and_platform_registries_include_advertised_builtins` —
covers opencode_go
- [x] `uv run ruff format`, `ruff check`, `ty check`, `pytest` — pass
locally on Python 3.14

Closes #504.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Alishahryar1 <alishahryar2@gmail.com>
2026-05-20 21:22:20 -07:00
Alishahryar1 d5715a607e Update README again 2026-05-20 21:14:21 -07:00
Alishahryar1 d1982b853c Updated README 2026-05-20 21:11:52 -07:00
Alishahryar1 fe98abf675 feat(admin): add Fireworks API key and proxy to admin manifest
Registers FIREWORKS_API_KEY / FIREWORKS_PROXY in api/admin_config FIELDS so the UI can set credentials and provider status stays accurate.

Adds admin apply test and contract guards linking PROVIDER_CATALOG to FIELD_BY_KEY; updates .env.example.
2026-05-20 20:57:11 -07:00
Alishahryar1 54a9dc4e34 Update README voice section 2026-05-18 13:51:56 -07:00
Safal Karki 23e409cb43 Add fireworks AI support (#476) 2026-05-18 05:32:25 -07:00
Alishahryar1 c0c1f3d554 Reapply "set auto compaction window for fcc-claude to 190K"
This reverts commit 7068533cdb.
2026-05-17 19:58:44 -07:00
Alishahryar1 7068533cdb Revert "set auto compaction window for fcc-claude to 190K"
This reverts commit 9b5dc9c40b.
2026-05-17 19:57:19 -07:00
Alishahryar1 9b5dc9c40b set auto compaction window for fcc-claude to 190K 2026-05-17 19:56:54 -07:00
Alishahryar1 868b3ac9b3 Update README 2026-05-17 16:51:00 -07:00
Alishahryar1 936040cb93 Remove agg ci job 2026-05-17 15:19:01 -07:00
Alishahryar1 64e9887dcf Make ci parallel 2026-05-17 15:16:43 -07:00
Alishahryar1 89d86d11ef Removed PLAN.md 2026-05-17 14:38:28 -07:00
Alishahryar1 543da3d66b Remove check local button from admin page 2026-05-17 13:04:07 -07:00
Alishahryar1 bd2aaed8ab fix ui spacing in admin page 2026-05-17 13:02:37 -07:00
Alishahryar1 494c6c9d9a open admin page on server startup 2026-05-17 12:59:48 -07:00