Files
37205e51bc chore: bump the minor-and-patch group across 3 directories with 7 updates (#39187)
Bumps the minor-and-patch group with 4 updates in the
/libs/model-profiles directory:
[typing-extensions](https://github.com/python/typing_extensions),
[syrupy](https://github.com/syrupy-project/syrupy),
[ruff](https://github.com/astral-sh/ruff) and
[mypy](https://github.com/python/mypy).
Bumps the minor-and-patch group with 4 updates in the
/libs/standard-tests directory:
[typing-extensions](https://github.com/python/typing_extensions),
[syrupy](https://github.com/syrupy-project/syrupy),
[ruff](https://github.com/astral-sh/ruff) and
[mypy](https://github.com/python/mypy).
Bumps the minor-and-patch group with 5 updates in the
/libs/text-splitters directory:

| Package | From | To |
| --- | --- | --- |
| [typing-extensions](https://github.com/python/typing_extensions) |
`4.15.0` | `4.16.0` |
| [ruff](https://github.com/astral-sh/ruff) | `0.15.20` | `0.16.0` |
| [ty](https://github.com/astral-sh/ty) | `0.0.56` | `0.0.64` |
| [transformers](https://github.com/huggingface/transformers) | `5.12.1`
| `5.14.1` |
|
[sentence-transformers](https://github.com/huggingface/sentence-transformers)
| `5.6.0` | `5.6.1` |


Updates `typing-extensions` from 4.15.0 to 4.16.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/python/typing_extensions/releases">typing-extensions's
releases</a>.</em></p>
<blockquote>
<h2>4.16.0</h2>
<p>No changes since 4.16.0rc2.</p>
<p>Changes since 4.15.0:</p>
<ul>
<li>Make <code>typing_extensions.TypeAliasType</code>'s
<code>__module__</code> attribute writable. Backport of CPython PR <a
href="https://redirect.github.com/python/cpython/pull/149172">#149172</a>.</li>
<li>Fix setting of <code>__required_keys__</code> and
<code>__optional_keys__</code> when inheriting keys with the same
name.</li>
<li>Add support for <code>AsyncIterator</code>, <code>io.Reader</code>,
<code>io.Writer</code> and <code>os.PathLike</code> protocols as bases
for other protocols.</li>
<li>Fix incorrect behaviour on Python 3.9 and Python 3.10 that meant
that calling <code>isinstance</code> with
<code>typing_extensions.Concatenate[...]</code> or
<code>typing_extensions.Unpack[...]</code> as the first argument could
have a different result in some situations depending on whether or not a
profiling function had been set using <code>sys.setprofile</code>. This
affected both CPython and PyPy implementations. Patch by Brian
Schubert.</li>
<li>Fix <code>__init_subclass__()</code> behavior in the presence of
multiple inheritance involving an <code>@deprecated</code>-decorated
base class. Backport of CPython PR <a
href="https://redirect.github.com/python/cpython/pull/138210">#138210</a>
by Brian Schubert.</li>
<li>Raise <code>TypeError</code> when attempting to subclass
<code>typing_extensions.ParamSpec</code> on Python 3.9. The
<code>typing</code> implementation has always raised an error, and the
<code>typing_extensions</code> implementation has raised an error on
Python 3.10+ since <code>typing_extensions</code> v4.6.0. Patch by Brian
Schubert.</li>
<li>Add the <code>bound</code>, <code>covariant</code>,
<code>contravariant</code>, and <code>infer_variance</code> parameters
to <code>TypeVarTuple</code>.</li>
<li>Officially support the <code>bound</code>, <code>covariant</code>,
<code>contravariant</code> and <code>infer_variance</code> parameters to
<code>ParamSpec</code>. Improve the validation of these parameters at
runtime.</li>
<li>Rename <code>typing_extensions.Sentinel</code> to
<code>typing_extensions.sentinel</code>, following the name that has
been adopted for <code>builtins.sentinel</code> on Python 3.15.
<code>typing_extensions.Sentinel</code> is retained as a soft-deprecated
alias for backwards compatibility.</li>
<li>Add support for pickling sentinels.</li>
<li>Sentinels now preserve their identity when copied or
deep-copied.</li>
<li>Deprecate passing <code>name</code> as a keyword argument or
<code>repr</code> as a positional argument to the <code>sentinel</code>
constructor.</li>
<li>The default repr of a sentinel <code>X =
sentinel(&quot;X&quot;)</code> is now <code>X</code> rather than
<code>&lt;X&gt;</code>.</li>
<li>Deprecate arbitrary attribute assignments to sentinels.</li>
<li>Deprecate subclassing sentinels.</li>
<li>Add support for Python 3.15.</li>
<li>Avoid a <code>DeprecationWarning</code> when <code>deprecated</code>
is applied to a coroutine function on Python 3.14.0.</li>
</ul>
<h2>4.16.0rc2</h2>
<p>Changes since 4.16.0rc1:</p>
<ul>
<li>Avoid a <code>DeprecationWarning</code> when <code>deprecated</code>
is applied to a coroutine function on Python 3.14.0.</li>
</ul>
<p>Changes since 4.15.0:</p>
<ul>
<li>Make <code>typing_extensions.TypeAliasType</code>'s
<code>__module__</code> attribute writable. Backport of CPython PR <a
href="https://redirect.github.com/python/cpython/pull/149172">#149172</a>.</li>
<li>Fix setting of <code>__required_keys__</code> and
<code>__optional_keys__</code> when inheriting keys with the same
name.</li>
<li>Add support for <code>AsyncIterator</code>, <code>io.Reader</code>,
<code>io.Writer</code> and <code>os.PathLike</code> protocols as bases
for other protocols.</li>
<li>Fix incorrect behaviour on Python 3.9 and Python 3.10 that meant
that calling <code>isinstance</code> with
<code>typing_extensions.Concatenate[...]</code> or
<code>typing_extensions.Unpack[...]</code> as the first argument could
have a different result in some situations depending on whether or not a
profiling function had been set using <code>sys.setprofile</code>. This
affected both CPython and PyPy implementations. Patch by Brian
Schubert.</li>
<li>Fix <code>__init_subclass__()</code> behavior in the presence of
multiple inheritance involving an <code>@deprecated</code>-decorated
base class. Backport of CPython PR <a
href="https://redirect.github.com/python/cpython/pull/138210">#138210</a>
by Brian Schubert.</li>
<li>Raise <code>TypeError</code> when attempting to subclass
<code>typing_extensions.ParamSpec</code> on Python 3.9. The
<code>typing</code> implementation has always raised an error, and the
<code>typing_extensions</code> implementation has raised an error on
Python 3.10+ since <code>typing_extensions</code> v4.6.0. Patch by Brian
Schubert.</li>
<li>Add the <code>bound</code>, <code>covariant</code>,
<code>contravariant</code>, and <code>infer_variance</code> parameters
to <code>TypeVarTuple</code>.</li>
<li>Officially support the <code>bound</code>, <code>covariant</code>,
<code>contravariant</code> and <code>infer_variance</code> parameters to
<code>ParamSpec</code>. Improve the validation of these parameters at
runtime.</li>
<li>Rename <code>typing_extensions.Sentinel</code> to
<code>typing_extensions.sentinel</code>, following the name that has
been adopted for <code>builtins.sentinel</code> on Python 3.15.
<code>typing_extensions.Sentinel</code> is retained as a soft-deprecated
alias for backwards compatibility.</li>
<li>Add support for pickling sentinels.</li>
<li>Sentinels now preserve their identity when copied or
deep-copied.</li>
<li>Deprecate passing <code>name</code> as a keyword argument or
<code>repr</code> as a positional argument to the <code>sentinel</code>
constructor.</li>
<li>The default repr of a sentinel <code>X =
sentinel(&quot;X&quot;)</code> is now <code>X</code> rather than
<code>&lt;X&gt;</code>.</li>
<li>Deprecate arbitrary attribute assignments to sentinels.</li>
<li>Deprecate subclassing sentinels.</li>
<li>Add support for Python 3.15.</li>
</ul>
<h2>4.16.0rc1</h2>
<ul>
<li>Make <code>typing_extensions.TypeAliasType</code>'s
<code>__module__</code> attribute writable. Backport of CPython PR <a
href="https://redirect.github.com/python/cpython/pull/149172">#149172</a>.</li>
<li>Fix setting of <code>__required_keys__</code> and
<code>__optional_keys__</code> when inheriting keys with the same
name.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python/typing_extensions/blob/main/CHANGELOG.md">typing-extensions's
changelog</a>.</em></p>
<blockquote>
<h1>Release 4.16.0 (July 2, 2025)</h1>
<p>No user-facing changes since 4.16.0rc2.</p>
<h1>Release 4.16.0rc2 (June 25, 2026)</h1>
<ul>
<li>Avoid a <code>DeprecationWarning</code> when <code>deprecated</code>
is applied to a coroutine function on
Python 3.14.0.</li>
</ul>
<h1>Release 4.16.0rc1 (June 24, 2026)</h1>
<ul>
<li>Make <code>typing_extensions.TypeAliasType</code>'s
<code>__module__</code> attribute writable.
Backport of CPython PR
<a
href="https://redirect.github.com/python/cpython/pull/149172">#149172</a>.</li>
<li>Fix setting of <code>__required_keys__</code> and
<code>__optional_keys__</code> when inheriting
keys with the same name.</li>
<li>Add support for <code>AsyncIterator</code>, <code>io.Reader</code>,
<code>io.Writer</code> and <code>os.PathLike</code> protocols
as bases for other protocols.</li>
<li>Fix incorrect behaviour on Python 3.9 and Python 3.10 that meant
that
calling <code>isinstance</code> with
<code>typing_extensions.Concatenate[...]</code> or
<code>typing_extensions.Unpack[...]</code> as the first argument could
have a different
result in some situations depending on whether or not a profiling
function had been
set using <code>sys.setprofile</code>. This affected both CPython and
PyPy implementations.
Patch by Brian Schubert.</li>
<li>Fix <code>__init_subclass__()</code> behavior in the presence of
multiple inheritance involving
an <code>@deprecated</code>-decorated base class. Backport of CPython PR
<a
href="https://redirect.github.com/python/cpython/pull/138210">#138210</a>
by Brian Schubert.</li>
<li>Raise <code>TypeError</code> when attempting to subclass
<code>typing_extensions.ParamSpec</code> on
Python 3.9. The <code>typing</code> implementation has always raised an
error, and the
<code>typing_extensions</code> implementation has raised an error on
Python 3.10+ since
<code>typing_extensions</code> v4.6.0. Patch by Brian Schubert.</li>
<li>Add the <code>bound</code>, <code>covariant</code>,
<code>contravariant</code>, and <code>infer_variance</code> parameters
to <code>TypeVarTuple</code>.</li>
<li>Officially support the <code>bound</code>, <code>covariant</code>,
<code>contravariant</code> and <code>infer_variance</code>
parameters to <code>ParamSpec</code>. Improve the validation of these
parameters at runtime.</li>
<li>Rename <code>typing_extensions.Sentinel</code> to
<code>typing_extensions.sentinel</code>, following the
name that has been adopted for <code>builtins.sentinel</code> on Python
3.15.
<code>typing_extensions.Sentinel</code> is retained as a soft-deprecated
alias for backwards
compatibility.</li>
<li>Add support for pickling sentinels.</li>
<li>Sentinels now preserve their identity when copied or
deep-copied.</li>
<li>Deprecate passing <code>name</code> as a keyword argument or
<code>repr</code> as a positional argument
to the <code>sentinel</code> constructor.</li>
<li>The default repr of a sentinel <code>X =
sentinel(&quot;X&quot;)</code> is now <code>X</code> rather than
<code>&lt;X&gt;</code>.</li>
<li>Deprecate arbitrary attribute assignments to sentinels.</li>
<li>Deprecate subclassing sentinels.</li>
<li>Add support for Python 3.15.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python/typing_extensions/commit/f29cd28d8ed7642cafb1d18daf5aa41be6a5c0aa"><code>f29cd28</code></a>
Prepare relase 4.16.0 (<a
href="https://redirect.github.com/python/typing_extensions/issues/774">#774</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/43174610ec0c407ce05ad750077c4e62b9192b2b"><code>4317461</code></a>
Bump version to 4.16.0rc2.dev (<a
href="https://redirect.github.com/python/typing_extensions/issues/772">#772</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/4f71098e5be84798d36416bbca0e776223ee40f9"><code>4f71098</code></a>
Prepare release 4.16.0rc2 (<a
href="https://redirect.github.com/python/typing_extensions/issues/771">#771</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/37ed08a11f3b7c05234f8963ab97e3ebdbdc16a2"><code>37ed08a</code></a>
Remove use of <code>asyncio.coroutines.iscoroutinefunction()</code> (<a
href="https://redirect.github.com/python/typing_extensions/issues/769">#769</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/8dcc5594cbe5a4e348245fea6ce160ce93ed6601"><code>8dcc559</code></a>
Improve <code>TypedDict</code> documentation (<a
href="https://redirect.github.com/python/typing_extensions/issues/770">#770</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/224f8d50551d26f0d603093596c3a47a7302a46f"><code>224f8d5</code></a>
Post-release followups for 3.16.0rc1 (<a
href="https://redirect.github.com/python/typing_extensions/issues/767">#767</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/777de3eb5f4562e2054d1d7ce707f098b1f4fd2f"><code>777de3e</code></a>
Prepare release 4.16.0rc1 (<a
href="https://redirect.github.com/python/typing_extensions/issues/766">#766</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/890be90f1545e7d5fa904dfa3154d5f03c96782c"><code>890be90</code></a>
Type variable tuple variance (<a
href="https://redirect.github.com/python/typing_extensions/issues/741">#741</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/0e0545866d78458b668dc52d2edc411f6e39540d"><code>0e05458</code></a>
Pin SQLAlchemy third-party tests to pytest==9.0.3 (<a
href="https://redirect.github.com/python/typing_extensions/issues/765">#765</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/d2777468c274202ec290103b34313e50cf040229"><code>d277746</code></a>
docs: add version compatibility table (<a
href="https://redirect.github.com/python/typing_extensions/issues/733">#733</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/python/typing_extensions/compare/4.15.0...4.16.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `syrupy` from 5.3.4 to 5.5.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/syrupy-project/syrupy/releases">syrupy's
releases</a>.</em></p>
<blockquote>
<h2>v5.5.3</h2>
<h2>What's Changed</h2>
<p>This release has no functional changes. It just fixes an issue where
the release tag pointed to the previous commit instead of the commit
with the updated pyproject.toml (see <a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1144">syrupy-project/syrupy#1144</a>).</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.5.2...v5.5.3">https://github.com/syrupy-project/syrupy/compare/v5.5.2...v5.5.3</a></p>
<h2>v5.5.2</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: Fix detecting <code>pytest-xdist</code> when loaded via
<code>PYTEST_PLUGINS</code> by <a
href="https://github.com/mgorny"><code>@​mgorny</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1142">syrupy-project/syrupy#1142</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/mgorny"><code>@​mgorny</code></a> made
their first contribution in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1142">syrupy-project/syrupy#1142</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.5.1...v5.5.2">https://github.com/syrupy-project/syrupy/compare/v5.5.1...v5.5.2</a></p>
<h2>v5.5.1</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: Defer registering <code>pytest-xdist</code> hook
<code>pytest_testnodedown</code> to avoid &quot;unknown hook&quot; error
by <a
href="https://github.com/edgarrmondragon"><code>@​edgarrmondragon</code></a>
in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1140">syrupy-project/syrupy#1140</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/edgarrmondragon"><code>@​edgarrmondragon</code></a>
made their first contribution in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1140">syrupy-project/syrupy#1140</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.5.0...v5.5.1">https://github.com/syrupy-project/syrupy/compare/v5.5.0...v5.5.1</a></p>
<h2>v5.5.0</h2>
<h2>What's Changed</h2>
<ul>
<li>feat: detect unused snapshots under pytest-xdist by <a
href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1132">syrupy-project/syrupy#1132</a></li>
</ul>
<blockquote>
<p><strong>NOTE</strong>: Test suites using pytest-xdist that previously
passed due to incomplete snapshot support may now fail if unused
snapshots are detected. You can use <code>--snapshot-warn-unused</code>
to downgrade unused snapshot detection from an error to a warning though
it's not recommended.</p>
</blockquote>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.4.0...v5.5.0">https://github.com/syrupy-project/syrupy/compare/v5.4.0...v5.5.0</a></p>
<h2>v5.4.0</h2>
<h2>What's Changed</h2>
<ul>
<li>feat: add --snapshot-no-cleanup to keep unused snapshots on update
by <a href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1126">syrupy-project/syrupy#1126</a></li>
<li>fix: honor boolean operators in -k snapshot selection by <a
href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1127">syrupy-project/syrupy#1127</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.3.4...v5.4.0">https://github.com/syrupy-project/syrupy/compare/v5.3.4...v5.4.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/syrupy-project/syrupy/blob/main/CHANGELOG.md">syrupy's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/syrupy-project/syrupy/releases/tag/v5.5.3">v5.5.3</a>
(2026-07-11)</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(deps): update astral-sh/setup-uv action to v8.3.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1143">syrupy-project/syrupy#1143</a></li>
<li>chore(deps): update astral-sh/setup-uv action to v8.3.1 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1145">syrupy-project/syrupy#1145</a></li>
<li>chore(deps): update dependency hypothesis to v6.156.2 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1147">syrupy-project/syrupy#1147</a></li>
<li>chore(deps): update dependency mypy to v2.2.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1148">syrupy-project/syrupy#1148</a></li>
<li>chore(deps): update dependency hypothesis to v6.156.3 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1150">syrupy-project/syrupy#1150</a></li>
<li>chore: closes <a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1144">#1144</a>
by <a href="https://github.com/noahnu"><code>@​noahnu</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1146">syrupy-project/syrupy#1146</a></li>
<li>chore(deps): update astral-sh/setup-uv action to v8.3.2 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1149">syrupy-project/syrupy#1149</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.5.2...v5.5.3">https://github.com/syrupy-project/syrupy/compare/v5.5.2...v5.5.3</a></p>
<h2><a
href="https://github.com/syrupy-project/syrupy/releases/tag/v5.5.2">v5.5.2</a>
(2026-07-08)</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: Fix detecting <code>pytest-xdist</code> when loaded via
<code>PYTEST_PLUGINS</code> by <a
href="https://github.com/mgorny"><code>@​mgorny</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1142">syrupy-project/syrupy#1142</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/mgorny"><code>@​mgorny</code></a> made
their first contribution in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1142">syrupy-project/syrupy#1142</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.5.1...v5.5.2">https://github.com/syrupy-project/syrupy/compare/v5.5.1...v5.5.2</a></p>
<h2><a
href="https://github.com/syrupy-project/syrupy/releases/tag/v5.5.1">v5.5.1</a>
(2026-07-06)</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: Defer registering <code>pytest-xdist</code> hook
<code>pytest_testnodedown</code> to avoid &quot;unknown hook&quot; error
by <a
href="https://github.com/edgarrmondragon"><code>@​edgarrmondragon</code></a>
in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1140">syrupy-project/syrupy#1140</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/edgarrmondragon"><code>@​edgarrmondragon</code></a>
made their first contribution in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1140">syrupy-project/syrupy#1140</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.5.0...v5.5.1">https://github.com/syrupy-project/syrupy/compare/v5.5.0...v5.5.1</a></p>
<h2><a
href="https://github.com/syrupy-project/syrupy/releases/tag/v5.5.0">v5.5.0</a>
(2026-07-06)</h2>
<h2>What's Changed</h2>
<ul>
<li>feat: detect unused snapshots under pytest-xdist by <a
href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1132">syrupy-project/syrupy#1132</a></li>
</ul>
<blockquote>
<p><strong>NOTE</strong>: Test suites using pytest-xdist that previously
passed due to incomplete snapshot support may now fail if unused
snapshots are detected. You can use <code>--snapshot-warn-unused</code>
to downgrade unused snapshot detection from an error to a warning though
it's not recommended.</p>
</blockquote>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.4.0...v5.5.0">https://github.com/syrupy-project/syrupy/compare/v5.4.0...v5.5.0</a></p>
<h2><a
href="https://github.com/syrupy-project/syrupy/releases/tag/v5.4.0">v5.4.0</a>
(2026-07-01)</h2>
<h2>What's Changed</h2>
<ul>
<li>feat: add --snapshot-no-cleanup to keep unused snapshots on update
by <a href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1126">syrupy-project/syrupy#1126</a></li>
<li>fix: honor boolean operators in -k snapshot selection by <a
href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1127">syrupy-project/syrupy#1127</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/3cd347306cf44db076d2e4f50f7dfd325d9b5a92"><code>3cd3473</code></a>
chore(release): 5.5.3 [skip ci]</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/fed7e9f69f4dd14b39360e626236c868147588d5"><code>fed7e9f</code></a>
chore(deps): update astral-sh/setup-uv action to v8.3.2 (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1149">#1149</a>)</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/443fc11bf67ce588753cd4518ef056463cfe651b"><code>443fc11</code></a>
chore: closes <a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1144">#1144</a>
(<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1146">#1146</a>)</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/56bf157ce4135bde78ecc49cfa9532ffa41659e8"><code>56bf157</code></a>
chore(deps): update dependency hypothesis to v6.156.3 (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1150">#1150</a>)</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/f9c725a5653677bfcafb53645c9a078f3aa79d87"><code>f9c725a</code></a>
chore(deps): update dependency mypy to v2.2.0 (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1148">#1148</a>)</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/3af2ccf2feeadb3a0d4e3f418d22ad3395725c80"><code>3af2ccf</code></a>
chore(deps): update dependency hypothesis to v6.156.2 (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1147">#1147</a>)</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/feaa22ca4c211dfcdd8d0d048112531fd6cb344c"><code>feaa22c</code></a>
chore(deps): update astral-sh/setup-uv action to v8.3.1 (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1145">#1145</a>)</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/5c59701e411922a464497398f5df25d76f2f9dcd"><code>5c59701</code></a>
chore(deps): update astral-sh/setup-uv action to v8.3.0 (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1143">#1143</a>)</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/1cbf7167ff114e3012b1c139661777c1a0b692ee"><code>1cbf716</code></a>
chore(release): 5.5.2 [skip ci]</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/4f83490d2ebf4ae22aeba6d9946979640151aa34"><code>4f83490</code></a>
fix: Fix detecting <code>pytest-xdist</code> when loaded via
<code>PYTEST_PLUGINS</code> (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1142">#1142</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/syrupy-project/syrupy/compare/v5.3.4...v5.5.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `ruff` from 0.15.20 to 0.16.0
<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.16.0</h2>
<h2>Release Notes</h2>
<p>Released on 2026-07-23.</p>
<p>Check out the <a href="https://astral.sh/blog/ruff-v0.16.0">blog
post</a> for a migration guide and overview of the changes!</p>
<h3>Breaking changes</h3>
<ul>
<li>
<p>Ruff now enables a much larger set of rules by default (413, up from
59). See the blog post for more details and the new <a
href="https://docs.astral.sh/ruff/default-rules/">Default Rules</a> page
for a full listing of the enabled rules. Note that this is primarily an
expansion, but 18 of the more opinionated pycodestyle (<code>E</code>)
and pyflakes (<code>F</code>) rules have been removed from the default
set: <code>E401</code>, <code>E402</code>, <code>E701</code>,
<code>E702</code>, <code>E703</code>, <code>E711</code>,
<code>E712</code>, <code>E713</code>, <code>E714</code>,
<code>E721</code>, <code>E731</code>, <code>E741</code>,
<code>E742</code>, <code>E743</code>, <code>F403</code>,
<code>F405</code>, <code>F406</code>, and <code>F722</code>.</p>
</li>
<li>
<p>Ruff can now format Python code blocks in Markdown files and will do
this by default. See the <a
href="https://docs.astral.sh/ruff/formatter/#markdown-code-formatting">documentation</a>
for more details.</p>
</li>
<li>
<p>Ruff now supports <code>ruff: ignore</code> comments at the ends of
lines, like <code>noqa</code> comments, or on the line preceding a
diagnostic. For example, these both suppress an <a
href="https://docs.astral.sh/ruff/rules/unused-import/"><code>unused-import</code></a>
(<code>F401</code>) diagnostic:</p>
<pre lang="py"><code>import math  # ruff: ignore[F401]
<h1>ruff: ignore[F401]</h1>
<p>import os
</code></pre></p>
</li>
<li>
<p>Fixes are now shown in <code>check</code> and <code>format
--check</code> output:</p>
<pre lang="console"><code>❯ ruff format --check .
unformatted: File would be reformatted
 --&gt; try.md:1:1
  |
1 | ```python
  - import   math
2 + import math
3 | ```
  |
<p>1 file would be reformatted
</code></pre></p>
<p>This example also shows off the Markdown formatting.</p>
</li>
<li>
<p><code>format --check</code> now supports the same output formats as
the linter, including the <code>github</code> and <code>gitlab</code>
outputs for rendering annotations in CI:</p>
<pre lang="console"><code>❯ ruff format --check --output-format github .
::error title=ruff
(unformatted),file=try.md,line=2,col=8,endLine=2,endColumn=10::try.md:2:8:
unformatted: File would be reformatted
</code></pre>
<p>See the CLI help or <a
href="https://docs.astral.sh/ruff/settings/#output-format">documentation</a>
for the full list of supported formats.</p>
</li>
<li>
<p>The <code>filename</code>, <code>location</code>,
<code>end_location</code>, <code>fix.edits[].location</code>, and
<code>fix.edits[].end_location</code> fields in the JSON output format
may now be <code>null</code> rather than defaulting to the empty string
and row 1, column 1, respectively.</p>
</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.16.0</h2>
<p>Released on 2026-07-23.</p>
<p>Check out the <a href="https://astral.sh/blog/ruff-v0.16.0">blog
post</a> for a migration
guide and overview of the changes!</p>
<h3>Breaking changes</h3>
<ul>
<li>
<p>Ruff now enables a much larger set of rules by default (413, up from
59). See the blog post for
more details and the new <a
href="https://docs.astral.sh/ruff/default-rules/">Default Rules</a> page
for a
full listing of the enabled rules. Note that this is primarily an
expansion, but 18 of the more
opinionated pycodestyle (<code>E</code>) and pyflakes (<code>F</code>)
rules have been removed from the default set:
<code>E401</code>, <code>E402</code>, <code>E701</code>,
<code>E702</code>, <code>E703</code>, <code>E711</code>,
<code>E712</code>, <code>E713</code>, <code>E714</code>,
<code>E721</code>, <code>E731</code>, <code>E741</code>,
<code>E742</code>, <code>E743</code>, <code>F403</code>,
<code>F405</code>, <code>F406</code>, and <code>F722</code>.</p>
</li>
<li>
<p>Ruff can now format Python code blocks in Markdown files and will do
this by default. See the
<a
href="https://docs.astral.sh/ruff/formatter/#markdown-code-formatting">documentation</a>
for more details.</p>
</li>
<li>
<p>Ruff now supports <code>ruff: ignore</code> comments at the ends of
lines, like <code>noqa</code> comments, or on the line preceding a
diagnostic. For example, these both suppress an <a
href="https://docs.astral.sh/ruff/rules/unused-import/"><code>unused-import</code></a>
(<code>F401</code>) diagnostic:</p>
<pre lang="py"><code>import math  # ruff: ignore[F401]
<h1>ruff: ignore[F401]</h1>
<p>import os
</code></pre></p>
</li>
<li>
<p>Fixes are now shown in <code>check</code> and <code>format
--check</code> output:</p>
<pre lang="console"><code>❯ ruff format --check .
unformatted: File would be reformatted
 --&gt; try.md:1:1
  |
1 | ```python
  - import   math
2 + import math
3 | ```
  |
<p>1 file would be reformatted
</code></pre></p>
<p>This example also shows off the Markdown formatting.</p>
</li>
<li>
<p><code>format --check</code> now supports the same output formats as
the linter, including the <code>github</code> and
<code>gitlab</code> outputs for rendering annotations in CI:</p>
<pre lang="console"><code></code></pre>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/ruff/commit/a2635fd8f39e1d34ce8074cb486809426148f3e9"><code>a2635fd</code></a>
Bump 0.16.0 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27136">#27136</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/34334491652f8ceca5246d15c5c5afe0d6bc77ae"><code>3433449</code></a>
[ty] Reuse full call diagnostics for implicit setter calls (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27115">#27115</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/22400709220931375e072ad5d7460b9fc781af78"><code>2240070</code></a>
Reflect <code>ruff: ignore</code> and <code>--add-ignore</code>
stabilization in documentation (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27">#27</a>...</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/17ef71142c52230b923dad46ee5554140fc3fd2e"><code>17ef711</code></a>
Stabilize <code>--add-ignore</code> (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27125">#27125</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/ef912bbbe466856aa4aac10ad2a8856eb3d5aef3"><code>ef912bb</code></a>
Add newly stabilized rules to defaults (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27055">#27055</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/b30f04023281b46f12011f13ce6b45c247e0d2e3"><code>b30f040</code></a>
Stabilize new default rules (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27035">#27035</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/bcd70c5f10ea97ed52a785d70e7f33b83b7c697a"><code>bcd70c5</code></a>
Exclude Markdown files from <code>format-dev</code> runs (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27052">#27052</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/87e51e2cbbaed376fc13dead40fd772361fa07c0"><code>87e51e2</code></a>
Fix <code>format --check</code> spans for syntax errors (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27045">#27045</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/afe2723a348364ac7f4b9abd76fc67779490c05e"><code>afe2723</code></a>
[<code>flake8-gettext</code>] Stabilize qualified-name and built-in
binding resolution (...</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/a9702d8928344f77a41dbe535f655a69fb04e2df"><code>a9702d8</code></a>
[<code>flake8-bandit</code>] Stabilize string literal binding resolution
(<code>S310</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/issues/26944">#26944</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.15.20...0.16.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `mypy` from 2.1.0 to 2.3.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python/mypy/blob/master/CHANGELOG.md">mypy's
changelog</a>.</em></p>
<blockquote>
<h1>Mypy Release Notes</h1>
<h2>Next Release</h2>
<h3>Packaging changes</h3>
<ul>
<li>No longer provide mypyc-accelerated wheels for macOS x86_64
[mypyc-wheels <a
href="https://redirect.github.com/python/mypy/issues/119">#119</a>](<a
href="https://redirect.github.com/mypyc/mypy_mypyc-wheels/pull/119">mypyc/mypy_mypyc-wheels#119</a>)</li>
</ul>
<h2>Mypy 2.3</h2>
<p>We've just uploaded mypy 2.3.0 to the Python Package Index (<a
href="https://pypi.org/project/mypy/">PyPI</a>).
Mypy is a static type checker for Python. This release includes new
features, performance
improvements and bug fixes. You can install it as follows:</p>
<pre><code>python3 -m pip install -U mypy
</code></pre>
<p>You can read the full documentation for this release on <a
href="http://mypy.readthedocs.io">Read the Docs</a>.</p>
<h3>The Upcoming Switch to the New Native Parser</h3>
<p>We are planning to enable the new native parser
(<code>--native-parser</code>) by
default soon. We recommend that you test the native parser in your
projects and report
any issues in the <a href="https://github.com/python/mypy/issues">mypy
issue tracker</a>.</p>
<h3>Mypyc Free-threading Memory Safety</h3>
<p>Free-threaded Python builds that don't have the GIL require
additional synchronization
primitives or lock-free algorithms to ensure memory safety when there
are race conditions
(for example, when a thread reads a list item while another thread
writes the same list
item concurrently). This release greatly improves memory safety of free
threading.</p>
<p>List operations are now memory-safe on free threaded Python builds,
even in the presence of
race conditions. This has some performance cost. For list-heavy
workloads, using
<code>librt.vecs.vec</code> instead of list is often significantly
faster, but note that <code>vec</code> is not
(and likely won't be) fully memory safe, and the user is expected to
avoid race conditions.
The newly introduced <code>librt.threading.Lock</code> helps with this.
Using variable-length tuples
can also be more efficient than lists, since tuples are immutable and
don't require
expensive synchronization to ensure memory safety.</p>
<p>Instance attribute access is also (mostly) memory safe now on
free-threaded builds in
the presence of race conditions. We are planning to fix the remaining
unsafe cases in a
future release.</p>
<p>Full list of changes:</p>
<ul>
<li>Make attribute access memory safe on free-threaded builds (Jukka
Lehtosalo, PR <a
href="https://redirect.github.com/python/mypy/pull/21705">21705</a>)</li>
<li>Fix unsafe borrowing of instance attributes with free-threading
(Jukka Lehtosalo, PR <a
href="https://redirect.github.com/python/mypy/pull/21688">21688</a>)</li>
<li>Make list get/set item more memory safe on free-threaded builds
(Jukka Lehtosalo, PR <a
href="https://redirect.github.com/python/mypy/pull/21683">21683</a>)</li>
<li>Don't borrow list items on free-threaded builds (Jukka Lehtosalo, PR
<a
href="https://redirect.github.com/python/mypy/pull/21679">21679</a>)</li>
<li>Make multiple assignment from list memory-safe on free-threaded
builds (Jukka Lehtosalo, PR <a
href="https://redirect.github.com/python/mypy/pull/21684">21684</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python/mypy/commit/8aabf8435357eaffceca7237f371e293b8168e54"><code>8aabf84</code></a>
Drop +dev from version</li>
<li><a
href="https://github.com/python/mypy/commit/4d8ad2ab5e86c99581b73775f2c00b9b8265b589"><code>4d8ad2a</code></a>
Update changelog for 2.3 release (<a
href="https://redirect.github.com/python/mypy/issues/21728">#21728</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/2c2154672040c52e481f423854d104e6cf172585"><code>2c21546</code></a>
[mypyc] Update documentation of race conditions under free threading (<a
href="https://redirect.github.com/python/mypy/issues/21726">#21726</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/a9f62a3cf98a58a7a2607b7c81695802b39f5edc"><code>a9f62a3</code></a>
[mypyc] Make attribute access memory safe on free-threaded builds (<a
href="https://redirect.github.com/python/mypy/issues/21705">#21705</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/0faa413ebf7c924a864ef5dabd70303d898e7766"><code>0faa413</code></a>
Use <code>PYODIDE</code> environment variable for Emscripten
cross-compilation detection...</li>
<li><a
href="https://github.com/python/mypy/commit/3d75cdb09f0928fa8b83e5ef03572ed878ac8d09"><code>3d75cdb</code></a>
[mypyc] Borrow final attributes more aggressively (<a
href="https://redirect.github.com/python/mypy/issues/21702">#21702</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/24c237d85b48f618e655ffff1dc0f19089d9b599"><code>24c237d</code></a>
[mypyc] Improve documentation of Final (<a
href="https://redirect.github.com/python/mypy/issues/21713">#21713</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/b5be217392b9b2771d1764066b9d600bf93ce7a8"><code>b5be217</code></a>
[mypyc] Update free threading Python compatibility docs (<a
href="https://redirect.github.com/python/mypy/issues/21711">#21711</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/cbcb51add3094ec91b29cdd4c624943bf251b63f"><code>cbcb51a</code></a>
Narrow for frozendict membership check (<a
href="https://redirect.github.com/python/mypy/issues/21709">#21709</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/af2bc0f3cc7f2f129f0c11294158d0c292692c3d"><code>af2bc0f</code></a>
Sync typeshed (<a
href="https://redirect.github.com/python/mypy/issues/21707">#21707</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/python/mypy/compare/v2.1.0...v2.3.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `typing-extensions` from 4.15.0 to 4.16.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/python/typing_extensions/releases">typing-extensions's
releases</a>.</em></p>
<blockquote>
<h2>4.16.0</h2>
<p>No changes since 4.16.0rc2.</p>
<p>Changes since 4.15.0:</p>
<ul>
<li>Make <code>typing_extensions.TypeAliasType</code>'s
<code>__module__</code> attribute writable. Backport of CPython PR <a
href="https://redirect.github.com/python/cpython/pull/149172">#149172</a>.</li>
<li>Fix setting of <code>__required_keys__</code> and
<code>__optional_keys__</code> when inheriting keys with the same
name.</li>
<li>Add support for <code>AsyncIterator</code>, <code>io.Reader</code>,
<code>io.Writer</code> and <code>os.PathLike</code> protocols as bases
for other protocols.</li>
<li>Fix incorrect behaviour on Python 3.9 and Python 3.10 that meant
that calling <code>isinstance</code> with
<code>typing_extensions.Concatenate[...]</code> or
<code>typing_extensions.Unpack[...]</code> as the first argument could
have a different result in some situations depending on whether or not a
profiling function had been set using <code>sys.setprofile</code>. This
affected both CPython and PyPy implementations. Patch by Brian
Schubert.</li>
<li>Fix <code>__init_subclass__()</code> behavior in the presence of
multiple inheritance involving an <code>@deprecated</code>-decorated
base class. Backport of CPython PR <a
href="https://redirect.github.com/python/cpython/pull/138210">#138210</a>
by Brian Schubert.</li>
<li>Raise <code>TypeError</code> when attempting to subclass
<code>typing_extensions.ParamSpec</code> on Python 3.9. The
<code>typing</code> implementation has always raised an error, and the
<code>typing_extensions</code> implementation has raised an error on
Python 3.10+ since <code>typing_extensions</code> v4.6.0. Patch by Brian
Schubert.</li>
<li>Add the <code>bound</code>, <code>covariant</code>,
<code>contravariant</code>, and <code>infer_variance</code> parameters
to <code>TypeVarTuple</code>.</li>
<li>Officially support the <code>bound</code>, <code>covariant</code>,
<code>contravariant</code> and <code>infer_variance</code> parameters to
<code>ParamSpec</code>. Improve the validation of these parameters at
runtime.</li>
<li>Rename <code>typing_extensions.Sentinel</code> to
<code>typing_extensions.sentinel</code>, following the name that has
been adopted for <code>builtins.sentinel</code> on Python 3.15.
<code>typing_extensions.Sentinel</code> is retained as a soft-deprecated
alias for backwards compatibility.</li>
<li>Add support for pickling sentinels.</li>
<li>Sentinels now preserve their identity when copied or
deep-copied.</li>
<li>Deprecate passing <code>name</code> as a keyword argument or
<code>repr</code> as a positional argument to the <code>sentinel</code>
constructor.</li>
<li>The default repr of a sentinel <code>X =
sentinel(&quot;X&quot;)</code> is now <code>X</code> rather than
<code>&lt;X&gt;</code>.</li>
<li>Deprecate arbitrary attribute assignments to sentinels.</li>
<li>Deprecate subclassing sentinels.</li>
<li>Add support for Python 3.15.</li>
<li>Avoid a <code>DeprecationWarning</code> when <code>deprecated</code>
is applied to a coroutine function on Python 3.14.0.</li>
</ul>
<h2>4.16.0rc2</h2>
<p>Changes since 4.16.0rc1:</p>
<ul>
<li>Avoid a <code>DeprecationWarning</code> when <code>deprecated</code>
is applied to a coroutine function on Python 3.14.0.</li>
</ul>
<p>Changes since 4.15.0:</p>
<ul>
<li>Make <code>typing_extensions.TypeAliasType</code>'s
<code>__module__</code> attribute writable. Backport of CPython PR <a
href="https://redirect.github.com/python/cpython/pull/149172">#149172</a>.</li>
<li>Fix setting of <code>__required_keys__</code> and
<code>__optional_keys__</code> when inheriting keys with the same
name.</li>
<li>Add support for <code>AsyncIterator</code>, <code>io.Reader</code>,
<code>io.Writer</code> and <code>os.PathLike</code> protocols as bases
for other protocols.</li>
<li>Fix incorrect behaviour on Python 3.9 and Python 3.10 that meant
that calling <code>isinstance</code> with
<code>typing_extensions.Concatenate[...]</code> or
<code>typing_extensions.Unpack[...]</code> as the first argument could
have a different result in some situations depending on whether or not a
profiling function had been set using <code>sys.setprofile</code>. This
affected both CPython and PyPy implementations. Patch by Brian
Schubert.</li>
<li>Fix <code>__init_subclass__()</code> behavior in the presence of
multiple inheritance involving an <code>@deprecated</code>-decorated
base class. Backport of CPython PR <a
href="https://redirect.github.com/python/cpython/pull/138210">#138210</a>
by Brian Schubert.</li>
<li>Raise <code>TypeError</code> when attempting to subclass
<code>typing_extensions.ParamSpec</code> on Python 3.9. The
<code>typing</code> implementation has always raised an error, and the
<code>typing_extensions</code> implementation has raised an error on
Python 3.10+ since <code>typing_extensions</code> v4.6.0. Patch by Brian
Schubert.</li>
<li>Add the <code>bound</code>, <code>covariant</code>,
<code>contravariant</code>, and <code>infer_variance</code> parameters
to <code>TypeVarTuple</code>.</li>
<li>Officially support the <code>bound</code>, <code>covariant</code>,
<code>contravariant</code> and <code>infer_variance</code> parameters to
<code>ParamSpec</code>. Improve the validation of these parameters at
runtime.</li>
<li>Rename <code>typing_extensions.Sentinel</code> to
<code>typing_extensions.sentinel</code>, following the name that has
been adopted for <code>builtins.sentinel</code> on Python 3.15.
<code>typing_extensions.Sentinel</code> is retained as a soft-deprecated
alias for backwards compatibility.</li>
<li>Add support for pickling sentinels.</li>
<li>Sentinels now preserve their identity when copied or
deep-copied.</li>
<li>Deprecate passing <code>name</code> as a keyword argument or
<code>repr</code> as a positional argument to the <code>sentinel</code>
constructor.</li>
<li>The default repr of a sentinel <code>X =
sentinel(&quot;X&quot;)</code> is now <code>X</code> rather than
<code>&lt;X&gt;</code>.</li>
<li>Deprecate arbitrary attribute assignments to sentinels.</li>
<li>Deprecate subclassing sentinels.</li>
<li>Add support for Python 3.15.</li>
</ul>
<h2>4.16.0rc1</h2>
<ul>
<li>Make <code>typing_extensions.TypeAliasType</code>'s
<code>__module__</code> attribute writable. Backport of CPython PR <a
href="https://redirect.github.com/python/cpython/pull/149172">#149172</a>.</li>
<li>Fix setting of <code>__required_keys__</code> and
<code>__optional_keys__</code> when inheriting keys with the same
name.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python/typing_extensions/blob/main/CHANGELOG.md">typing-extensions's
changelog</a>.</em></p>
<blockquote>
<h1>Release 4.16.0 (July 2, 2025)</h1>
<p>No user-facing changes since 4.16.0rc2.</p>
<h1>Release 4.16.0rc2 (June 25, 2026)</h1>
<ul>
<li>Avoid a <code>DeprecationWarning</code> when <code>deprecated</code>
is applied to a coroutine function on
Python 3.14.0.</li>
</ul>
<h1>Release 4.16.0rc1 (June 24, 2026)</h1>
<ul>
<li>Make <code>typing_extensions.TypeAliasType</code>'s
<code>__module__</code> attribute writable.
Backport of CPython PR
<a
href="https://redirect.github.com/python/cpython/pull/149172">#149172</a>.</li>
<li>Fix setting of <code>__required_keys__</code> and
<code>__optional_keys__</code> when inheriting
keys with the same name.</li>
<li>Add support for <code>AsyncIterator</code>, <code>io.Reader</code>,
<code>io.Writer</code> and <code>os.PathLike</code> protocols
as bases for other protocols.</li>
<li>Fix incorrect behaviour on Python 3.9 and Python 3.10 that meant
that
calling <code>isinstance</code> with
<code>typing_extensions.Concatenate[...]</code> or
<code>typing_extensions.Unpack[...]</code> as the first argument could
have a different
result in some situations depending on whether or not a profiling
function had been
set using <code>sys.setprofile</code>. This affected both CPython and
PyPy implementations.
Patch by Brian Schubert.</li>
<li>Fix <code>__init_subclass__()</code> behavior in the presence of
multiple inheritance involving
an <code>@deprecated</code>-decorated base class. Backport of CPython PR
<a
href="https://redirect.github.com/python/cpython/pull/138210">#138210</a>
by Brian Schubert.</li>
<li>Raise <code>TypeError</code> when attempting to subclass
<code>typing_extensions.ParamSpec</code> on
Python 3.9. The <code>typing</code> implementation has always raised an
error, and the
<code>typing_extensions</code> implementation has raised an error on
Python 3.10+ since
<code>typing_extensions</code> v4.6.0. Patch by Brian Schubert.</li>
<li>Add the <code>bound</code>, <code>covariant</code>,
<code>contravariant</code>, and <code>infer_variance</code> parameters
to <code>TypeVarTuple</code>.</li>
<li>Officially support the <code>bound</code>, <code>covariant</code>,
<code>contravariant</code> and <code>infer_variance</code>
parameters to <code>ParamSpec</code>. Improve the validation of these
parameters at runtime.</li>
<li>Rename <code>typing_extensions.Sentinel</code> to
<code>typing_extensions.sentinel</code>, following the
name that has been adopted for <code>builtins.sentinel</code> on Python
3.15.
<code>typing_extensions.Sentinel</code> is retained as a soft-deprecated
alias for backwards
compatibility.</li>
<li>Add support for pickling sentinels.</li>
<li>Sentinels now preserve their identity when copied or
deep-copied.</li>
<li>Deprecate passing <code>name</code> as a keyword argument or
<code>repr</code> as a positional argument
to the <code>sentinel</code> constructor.</li>
<li>The default repr of a sentinel <code>X =
sentinel(&quot;X&quot;)</code> is now <code>X</code> rather than
<code>&lt;X&gt;</code>.</li>
<li>Deprecate arbitrary attribute assignments to sentinels.</li>
<li>Deprecate subclassing sentinels.</li>
<li>Add support for Python 3.15.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python/typing_extensions/commit/f29cd28d8ed7642cafb1d18daf5aa41be6a5c0aa"><code>f29cd28</code></a>
Prepare relase 4.16.0 (<a
href="https://redirect.github.com/python/typing_extensions/issues/774">#774</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/43174610ec0c407ce05ad750077c4e62b9192b2b"><code>4317461</code></a>
Bump version to 4.16.0rc2.dev (<a
href="https://redirect.github.com/python/typing_extensions/issues/772">#772</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/4f71098e5be84798d36416bbca0e776223ee40f9"><code>4f71098</code></a>
Prepare release 4.16.0rc2 (<a
href="https://redirect.github.com/python/typing_extensions/issues/771">#771</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/37ed08a11f3b7c05234f8963ab97e3ebdbdc16a2"><code>37ed08a</code></a>
Remove use of <code>asyncio.coroutines.iscoroutinefunction()</code> (<a
href="https://redirect.github.com/python/typing_extensions/issues/769">#769</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/8dcc5594cbe5a4e348245fea6ce160ce93ed6601"><code>8dcc559</code></a>
Improve <code>TypedDict</code> documentation (<a
href="https://redirect.github.com/python/typing_extensions/issues/770">#770</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/224f8d50551d26f0d603093596c3a47a7302a46f"><code>224f8d5</code></a>
Post-release followups for 3.16.0rc1 (<a
href="https://redirect.github.com/python/typing_extensions/issues/767">#767</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/777de3eb5f4562e2054d1d7ce707f098b1f4fd2f"><code>777de3e</code></a>
Prepare release 4.16.0rc1 (<a
href="https://redirect.github.com/python/typing_extensions/issues/766">#766</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/890be90f1545e7d5fa904dfa3154d5f03c96782c"><code>890be90</code></a>
Type variable tuple variance (<a
href="https://redirect.github.com/python/typing_extensions/issues/741">#741</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/0e0545866d78458b668dc52d2edc411f6e39540d"><code>0e05458</code></a>
Pin SQLAlchemy third-party tests to pytest==9.0.3 (<a
href="https://redirect.github.com/python/typing_extensions/issues/765">#765</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/d2777468c274202ec290103b34313e50cf040229"><code>d277746</code></a>
docs: add version compatibility table (<a
href="https://redirect.github.com/python/typing_extensions/issues/733">#733</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/python/typing_extensions/compare/4.15.0...4.16.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `syrupy` from 5.3.4 to 5.5.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/syrupy-project/syrupy/releases">syrupy's
releases</a>.</em></p>
<blockquote>
<h2>v5.5.3</h2>
<h2>What's Changed</h2>
<p>This release has no functional changes. It just fixes an issue where
the release tag pointed to the previous commit instead of the commit
with the updated pyproject.toml (see <a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1144">syrupy-project/syrupy#1144</a>).</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.5.2...v5.5.3">https://github.com/syrupy-project/syrupy/compare/v5.5.2...v5.5.3</a></p>
<h2>v5.5.2</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: Fix detecting <code>pytest-xdist</code> when loaded via
<code>PYTEST_PLUGINS</code> by <a
href="https://github.com/mgorny"><code>@​mgorny</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1142">syrupy-project/syrupy#1142</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/mgorny"><code>@​mgorny</code></a> made
their first contribution in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1142">syrupy-project/syrupy#1142</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.5.1...v5.5.2">https://github.com/syrupy-project/syrupy/compare/v5.5.1...v5.5.2</a></p>
<h2>v5.5.1</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: Defer registering <code>pytest-xdist</code> hook
<code>pytest_testnodedown</code> to avoid &quot;unknown hook&quot; error
by <a
href="https://github.com/edgarrmondragon"><code>@​edgarrmondragon</code></a>
in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1140">syrupy-project/syrupy#1140</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/edgarrmondragon"><code>@​edgarrmondragon</code></a>
made their first contribution in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1140">syrupy-project/syrupy#1140</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.5.0...v5.5.1">https://github.com/syrupy-project/syrupy/compare/v5.5.0...v5.5.1</a></p>
<h2>v5.5.0</h2>
<h2>What's Changed</h2>
<ul>
<li>feat: detect unused snapshots under pytest-xdist by <a
href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1132">syrupy-project/syrupy#1132</a></li>
</ul>
<blockquote>
<p><strong>NOTE</strong>: Test suites using pytest-xdist that previously
passed due to incomplete snapshot support may now fail if unused
snapshots are detected. You can use <code>--snapshot-warn-unused</code>
to downgrade unused snapshot detection from an error to a warning though
it's not recommended.</p>
</blockquote>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.4.0...v5.5.0">https://github.com/syrupy-project/syrupy/compare/v5.4.0...v5.5.0</a></p>
<h2>v5.4.0</h2>
<h2>What's Changed</h2>
<ul>
<li>feat: add --snapshot-no-cleanup to keep unused snapshots on update
by <a href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1126">syrupy-project/syrupy#1126</a></li>
<li>fix: honor boolean operators in -k snapshot selection by <a
href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1127">syrupy-project/syrupy#1127</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.3.4...v5.4.0">https://github.com/syrupy-project/syrupy/compare/v5.3.4...v5.4.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/syrupy-project/syrupy/blob/main/CHANGELOG.md">syrupy's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/syrupy-project/syrupy/releases/tag/v5.5.3">v5.5.3</a>
(2026-07-11)</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(deps): update astral-sh/setup-uv action to v8.3.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1143">syrupy-project/syrupy#1143</a></li>
<li>chore(deps): update astral-sh/setup-uv action to v8.3.1 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1145">syrupy-project/syrupy#1145</a></li>
<li>chore(deps): update dependency hypothesis to v6.156.2 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1147">syrupy-project/syrupy#1147</a></li>
<li>chore(deps): update dependency mypy to v2.2.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1148">syrupy-project/syrupy#1148</a></li>
<li>chore(deps): update dependency hypothesis to v6.156.3 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1150">syrupy-project/syrupy#1150</a></li>
<li>chore: closes <a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1144">#1144</a>
by <a href="https://github.com/noahnu"><code>@​noahnu</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1146">syrupy-project/syrupy#1146</a></li>
<li>chore(deps): update astral-sh/setup-uv action to v8.3.2 by <a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in
<a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1149">syrupy-project/syrupy#1149</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.5.2...v5.5.3">https://github.com/syrupy-project/syrupy/compare/v5.5.2...v5.5.3</a></p>
<h2><a
href="https://github.com/syrupy-project/syrupy/releases/tag/v5.5.2">v5.5.2</a>
(2026-07-08)</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: Fix detecting <code>pytest-xdist</code> when loaded via
<code>PYTEST_PLUGINS</code> by <a
href="https://github.com/mgorny"><code>@​mgorny</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1142">syrupy-project/syrupy#1142</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/mgorny"><code>@​mgorny</code></a> made
their first contribution in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1142">syrupy-project/syrupy#1142</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.5.1...v5.5.2">https://github.com/syrupy-project/syrupy/compare/v5.5.1...v5.5.2</a></p>
<h2><a
href="https://github.com/syrupy-project/syrupy/releases/tag/v5.5.1">v5.5.1</a>
(2026-07-06)</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: Defer registering <code>pytest-xdist</code> hook
<code>pytest_testnodedown</code> to avoid &quot;unknown hook&quot; error
by <a
href="https://github.com/edgarrmondragon"><code>@​edgarrmondragon</code></a>
in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1140">syrupy-project/syrupy#1140</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/edgarrmondragon"><code>@​edgarrmondragon</code></a>
made their first contribution in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1140">syrupy-project/syrupy#1140</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.5.0...v5.5.1">https://github.com/syrupy-project/syrupy/compare/v5.5.0...v5.5.1</a></p>
<h2><a
href="https://github.com/syrupy-project/syrupy/releases/tag/v5.5.0">v5.5.0</a>
(2026-07-06)</h2>
<h2>What's Changed</h2>
<ul>
<li>feat: detect unused snapshots under pytest-xdist by <a
href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1132">syrupy-project/syrupy#1132</a></li>
</ul>
<blockquote>
<p><strong>NOTE</strong>: Test suites using pytest-xdist that previously
passed due to incomplete snapshot support may now fail if unused
snapshots are detected. You can use <code>--snapshot-warn-unused</code>
to downgrade unused snapshot detection from an error to a warning though
it's not recommended.</p>
</blockquote>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/syrupy-project/syrupy/compare/v5.4.0...v5.5.0">https://github.com/syrupy-project/syrupy/compare/v5.4.0...v5.5.0</a></p>
<h2><a
href="https://github.com/syrupy-project/syrupy/releases/tag/v5.4.0">v5.4.0</a>
(2026-07-01)</h2>
<h2>What's Changed</h2>
<ul>
<li>feat: add --snapshot-no-cleanup to keep unused snapshots on update
by <a href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1126">syrupy-project/syrupy#1126</a></li>
<li>fix: honor boolean operators in -k snapshot selection by <a
href="https://github.com/frenck"><code>@​frenck</code></a> in <a
href="https://redirect.github.com/syrupy-project/syrupy/pull/1127">syrupy-project/syrupy#1127</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/3cd347306cf44db076d2e4f50f7dfd325d9b5a92"><code>3cd3473</code></a>
chore(release): 5.5.3 [skip ci]</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/fed7e9f69f4dd14b39360e626236c868147588d5"><code>fed7e9f</code></a>
chore(deps): update astral-sh/setup-uv action to v8.3.2 (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1149">#1149</a>)</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/443fc11bf67ce588753cd4518ef056463cfe651b"><code>443fc11</code></a>
chore: closes <a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1144">#1144</a>
(<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1146">#1146</a>)</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/56bf157ce4135bde78ecc49cfa9532ffa41659e8"><code>56bf157</code></a>
chore(deps): update dependency hypothesis to v6.156.3 (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1150">#1150</a>)</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/f9c725a5653677bfcafb53645c9a078f3aa79d87"><code>f9c725a</code></a>
chore(deps): update dependency mypy to v2.2.0 (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1148">#1148</a>)</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/3af2ccf2feeadb3a0d4e3f418d22ad3395725c80"><code>3af2ccf</code></a>
chore(deps): update dependency hypothesis to v6.156.2 (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1147">#1147</a>)</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/feaa22ca4c211dfcdd8d0d048112531fd6cb344c"><code>feaa22c</code></a>
chore(deps): update astral-sh/setup-uv action to v8.3.1 (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1145">#1145</a>)</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/5c59701e411922a464497398f5df25d76f2f9dcd"><code>5c59701</code></a>
chore(deps): update astral-sh/setup-uv action to v8.3.0 (<a
href="https://redirect.github.com/syrupy-project/syrupy/issues/1143">#1143</a>)</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/1cbf7167ff114e3012b1c139661777c1a0b692ee"><code>1cbf716</code></a>
chore(release): 5.5.2 [skip ci]</li>
<li><a
href="https://github.com/syrupy-project/syrupy/commit/4f83490d2ebf4ae22aeba6d9946979640151aa34"><code>4f83490</code></a>
fix: Fix detecting <code>pytest-xdist</code> when loaded via
<code>PYTEST_PLUGINS</code> (<a href="https://redi...

_Description has been truncated_

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mason Daugherty <mason@langchain.dev>
Co-authored-by: Mason Daugherty <github@mdrxy.com>
2026-08-03 10:08:53 -04:00
..

🦜✂️ LangChain Text Splitters

PyPI - Version PyPI - License PyPI - Downloads Twitter

Looking for the JS/TS version? Check out LangChain.js.

Quick Install

uv add langchain-text-splitters

🤔 What is this?

LangChain Text Splitters contains utilities for splitting into chunks a wide variety of text documents.

📖 Documentation

For full documentation, see the API reference.

📕 Releases & Versioning

See our Releases and Versioning policies.

We encourage pinning your version to a specific version in order to avoid breaking your CI when we publish new tests. We recommend upgrading to the latest version periodically to make sure you have the latest tests.

Not pinning your version will ensure you always have the latest tests, but it may also break your CI if we introduce tests that your integration doesn't pass.

💁 Contributing

As an open-source project in a rapidly developing field, we are extremely open to contributions, whether it be in the form of a new feature, improved infrastructure, or better documentation.

For detailed information on how to contribute, see the Contributing Guide.

Resources

  • LangChain Academy — comprehensive, free courses on LangChain libraries and products, made by the LangChain team
  • Code of Conduct — community guidelines and standards