Skip to content

Added context manager mix-in classes#905

Merged
agronholm merged 21 commits intomasterfrom
contextmanagermixin
Apr 24, 2025
Merged

Added context manager mix-in classes#905
agronholm merged 21 commits intomasterfrom
contextmanagermixin

Conversation

@agronholm
Copy link
Owner

Changes

This adds two new mix-in classes: ContextManagerMixin and AsyncContextManagerMixin. They're meant to enable users to write context manager classes in the same way as @contextmanager and @asynccontextmanager, respectively. The aim is to enable users to more easily embed cancel scopes and task groups into other context manager classes.

Checklist

If this is a user-facing code change, like a bugfix or a new feature, please ensure that
you've fulfilled the following conditions (where applicable):

  • You've added tests (in tests/) added which would fail without your patch
  • You've updated the documentation (in docs/, in case of behavior changes or new
    features)
  • You've added a new changelog entry (in docs/versionhistory.rst).

If this is a trivial change, like a typo fix or a code reformatting, then you can ignore
these instructions.

Updating the changelog

If there are no entries after the last release, use **UNRELEASED** as the version.
If, say, your patch fixes issue #123, the entry should look like this:

- Fix big bad boo-boo in task groups
  (`#123 <https://github.com/agronholm/anyio/issues/123>`_; PR by @yourgithubaccount)

If there's no issue linked, just link to your pull request instead by updating the
changelog after you've created the PR.

@agronholm
Copy link
Owner Author

agronholm commented Apr 2, 2025

Open issues:

  • Can't type annotate to return Self
  • Should T be co/contravariant? (typeshed uses a covariant typevar in AbstractAsyncContextManager)
  • This may require a new documentation section
  • We should probably check for corner cases in the @asynccontextmanager implementation
  • Reentrancy (must consider the case where the CM is entered twice before exiting) (disallowed re-entrancy)


This class is designed to streamline the use of context management by
requiring the implementation of the `__contextmanager__` method, which
should yield instances of the class itself. It then wraps this generator
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, there's no requirement for a context manager to return Self and the wrapper shouldn't enforce that. It should accept / forward whatever type __contextmanager__ is declared to return.

On the other hand, what this wrapper does not do is to ensure that the context is not entered twice, and that really is a bug.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, there's no requirement for a context manager to return Self and the wrapper shouldn't enforce that. It should accept / forward whatever type contextmanager is declared to return.

I've already updated the docstring before you posted this. This version was never intended to be pushed to GH.

On the other hand, what this wrapper does not do is to ensure that the context is not entered twice, and that really is a bug.

Hm, I see what you mean. But rather than raise an error here, perhaps reentrancy should be properly supported instead?

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On second thought, I don't think it's feasible to support reentrancy, as there's no way to track which generator to use in __aexit__().

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've thus disallowed reentrancy.

@smurfix
Copy link
Collaborator

smurfix commented Apr 15, 2025

I have been doing something like this in my own codebase for ages by now.

One problem, though: in a subclass, how do I "cleanly" call the superclass's __asynccontextmanager__? The best way I can come up with is

async with asynccontextmanager(super().__asynccontextmanager__)():
    ...

which is … meh. Anyway, whichever way we come up with needs documentation.

@agronholm
Copy link
Owner Author

I have been doing something like this in my own codebase for ages by now.

One problem, though: in a subclass, how do I "cleanly" call the superclass's __asynccontextmanager__? The best way I can come up with is

async with asynccontextmanager(super().__asynccontextmanager__)():
    ...

which is … meh. Anyway, whichever way we come up with needs documentation.

This is a very good point and we need to have an answer before going forward with this.

@agronholm
Copy link
Owner Author

I think we need to start by thinking what the ideal solution would look like, and then see if we can implement that.

@agronholm
Copy link
Owner Author

@Zac-HD mentioned elsewhere that he wanted to enforce the use of @asynccontextmanager on this special method, for the benefit of PEP 789 linter checks. If we do that, then this gets considerably cleaner: async with super().__asynccontextmanager__() as obj:

@smurfix
Copy link
Collaborator

smurfix commented Apr 15, 2025

Right.

Ideally we'd be able to simply do async with super() but that'd require some interesting core CPython changes AFAICT.

@agronholm
Copy link
Owner Author

I pushed those changes, but I encountered a different problem: How can we override the type parameter when subclassing? The pre-commit checks fail for this reason, and I don't know how to fix this.

@smurfix
Copy link
Collaborator

smurfix commented Apr 16, 2025

Huh. pyright doesn't understand this either, which frankly surprises me somewhat.
Maybe ask there?

@agronholm
Copy link
Owner Author

Huh. pyright doesn't understand this either, which frankly surprises me somewhat. Maybe ask there?

Doesn't understand what? The parent class pins the type variable to itself, and that class does not have the child_started and child_finished attributes, so it seems pretty clear to me why the mypy checks fail here. What I don't understand is how to improve the type annotations to get around this.

@agronholm
Copy link
Owner Author

There appears to be no way to pin the type variable to Self, which is exactly what we'd need here.

@tapetersen
Copy link
Contributor

tapetersen commented Apr 16, 2025

The problem here is that DummyContextManager binds the typevar concretely in its definition which sets the type for __enter__ unless we override that as well.

If it was allowed/defined and possible we would want to parametrize it directly with Self as:

class DummyContextManager(ContextManagerMixin[Self]):
    ...
    @contextmanager
    def __contextmanager__(self) -> Generator[Self]:
        ...

What does work here is the old workaround with a typevar with a bound as:

_TSelf = TypeVar("_TSelf", bound="DummyContextManager")
class DummyContextManager(ContextManagerMixin[_TSelf]):
    def __init__(self, handle_exc: bool = False) -> None:
        self.started = False
        self.finished = False
        self.handle_exc = handle_exc

    @contextmanager
    def __contextmanager__(self: _TSelf) -> Generator[_TSelf]:
        self.started = True
        try:
            yield self
        except RuntimeError:
            if not self.handle_exc:
                raise

        self.finished = True

That's of course not ideal, needing a declared typevar with correct bound for every class more or less, but the case of further extending the contextmanagers overriding the returned type maybe isn't that common either?

@agronholm
Copy link
Owner Author

The problem here is that DummyContextManager binds the typevar concretely in its definition which sets the type for __enter__ unless we override that as well.

If it was allowed/defined and possible we would want to parametrize it directly with Self as:

class DummyContextManager(ContextManagerMixin[Self]):
    ...
    @contextmanager
    def __contextmanager__(self) -> Generator[Self]:
        ...

What does work here is the old workaround with a typevar with a bound as:

_TSelf = TypeVar("_TSelf", bound="DummyContextManager")
class DummyContextManager(ContextManagerMixin[_TSelf]):
    def __init__(self, handle_exc: bool = False) -> None:
        self.started = False
        self.finished = False
        self.handle_exc = handle_exc

    @contextmanager
    def __contextmanager__(self: _TSelf) -> Generator[_TSelf]:
        self.started = True
        try:
            yield self
        except RuntimeError:
            if not self.handle_exc:
                raise

        self.finished = True

That's of course not ideal, needing a declared typevar with correct bound for every class more or less, but the case of further extending the contextmanagers overriding the returned type maybe isn't that common either?

By "does work" do you mean you get the correct type out of reveal_type() in an inherited CM? Can you show me?

@agronholm
Copy link
Owner Author

agronholm commented Apr 16, 2025

I don't think forcing context manager authors to use a typevar just to enable proper inheritance is a good solution to the problem. Let's see what the pyright folks have to say about this.

@tapetersen
Copy link
Contributor

As in I checked out your branch but there are some issues with pyproject.toml parsing (the license checks but also some things about the tox config) so it was a bit hard to get the pre-commit to run.

Looking closer I can't get it to work without explicitly passing through the leaf-class as a typevar.

I suspect that getting this to work without explicit annotation when inheriting is not really possible with current typing system.

(The return type of __aenter__ in the mixin is basically dependent on a possibly non-self type-parameter in a future child-class)

Have added it as a pull request to your branch anyway but it's not really any better except maybe the default (and maybe demonstrating that it works if you specify the return type explicitly for every child)

@agronholm
Copy link
Owner Author

As in I checked out your branch but there are some issues with pyproject.toml parsing (the license checks but also some things about the tox config) so it was a bit hard to get the pre-commit to run.

What license checks? Pre-commit has no issues running over here, nor on CI.

I suspect that getting this to work without explicit annotation when inheriting is not really possible with current typing system.

That was my conclusion too.

@agronholm
Copy link
Owner Author

I've worked around this by adding specialized versions of the mix-in classes for yielding self. I'll post the code once I have 100% coverage again.

@agronholm
Copy link
Owner Author

It was just an old version of tox (4.5) that was picked up from outside the venv due to vscode's restoration of env-vars that messed up some things.

May still not hurt to add a requires in the tox section as specified here: https://tox.wiki/en/latest/config.html#pyproject-toml-native Wouldn't have solved this as the old version couldn't parse it anyway but for other incompatibilites it may be a good idea.

I originally skipped specifying that for precisely that reason.

tapetersen and others added 3 commits April 18, 2025 14:34
* Enforced context manager decorators on the dunder methods

* Fix contextmanager typing in tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add exit type for contextmanager-mixins as well

---------

Co-authored-by: Alex Grönholm <alex.gronholm@nextday.fi>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
@agronholm agronholm added this to the 4.10 milestone Apr 18, 2025
@agronholm agronholm marked this pull request as ready for review April 18, 2025 12:44
@agronholm agronholm requested review from Zac-HD and graingert April 18, 2025 12:44
class MyAsyncContextManager:
async def __aenter__(self):
self._exitstack = AsyncExitStack()
await self._exitstack.__aenter__()
Copy link
Collaborator

@graingert graingert Apr 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh this was slightly wrong it should have used pop_all()

I think it's worth including an (Async)ExitStack instruction on how to do this


@final
def __enter__(self: _SupportsCtxMgr[_T_co, bool | None]) -> _T_co:
# Needed for mypy to assume self still has the __cm member
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you can alternatively put _ContextManagerMixin__cm on the _SupportsCtxMgr protocol

self.finished = True


class DummyAsyncContextManager(AsyncContextManagerMixin):
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

might be worth a test for a class that implements both AsyncContextManagerMixin and ContextManagerMixin

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure why? The mix-in classes have no overlap whatsoever.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, I just realized: that's the problem. One could enter the CM synchronously AND asynchronously without first exiting.

@agronholm agronholm merged commit 6977fc3 into master Apr 24, 2025
31 of 32 checks passed
@agronholm agronholm deleted the contextmanagermixin branch April 24, 2025 09:24
github-merge-queue bot pushed a commit to meltano/meltano that referenced this pull request Aug 4, 2025
Bumps the runtime-dependencies group with 2 updates:
[anyio](https://github.com/agronholm/anyio) and
[virtualenv](https://github.com/pypa/virtualenv).

Updates `anyio` from 4.9.0 to 4.10.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/agronholm/anyio/releases">anyio's
releases</a>.</em></p>
<blockquote>
<h2>4.10.0</h2>
<ul>
<li>Added the <code>feed_data()</code> method to the
<code>BufferedByteReceiveStream</code> class, allowing users to inject
data directly into the buffer</li>
<li>Added various class methods to wrap existing sockets as listeners or
socket streams:
<ul>
<li><code>SocketListener.from_socket()</code></li>
<li><code>SocketStream.from_socket()</code></li>
<li><code>UNIXSocketStream.from_socket()</code></li>
<li><code>UDPSocket.from_socket()</code></li>
<li><code>ConnectedUDPSocket.from_socket()</code></li>
<li><code>UNIXDatagramSocket.from_socket()</code></li>
<li><code>ConnectedUNIXDatagramSocket.from_socket()</code></li>
</ul>
</li>
<li>Added a hierarchy of connectable stream classes for transparently
connecting to various remote or local endpoints for exchanging bytes or
objects</li>
<li>Added context manager mix-in classes
(<code>anyio.ContextManagerMixin</code> and
<code>anyio.AsyncContextManagerMixin</code>) to help write classes that
embed other context managers, particularly cancel scopes or task groups
(<a
href="https://redirect.github.com/agronholm/anyio/pull/905">#905</a>; PR
by <a href="https://github.com/agronholm"><code>@​agronholm</code></a>
and <a
href="https://github.com/tapetersen"><code>@​tapetersen</code></a>)</li>
<li>Added the ability to specify the thread name in
<code>start_blocking_portal()</code> (<a
href="https://redirect.github.com/agronholm/anyio/issues/818">#818</a>;
PR by <a
href="https://github.com/davidbrochart"><code>@​davidbrochart</code></a>)</li>
<li>Added <code>anyio.notify_closing</code> to allow waking
<code>anyio.wait_readable</code> and <code>anyio.wait_writable</code>
before closing a socket. Among other things, this prevents an OSError on
the <code>ProactorEventLoop</code>. (<a
href="https://redirect.github.com/agronholm/anyio/pull/896">#896</a>; PR
by <a
href="https://github.com/graingert"><code>@​graingert</code></a>)</li>
<li>Incorporated several documentation improvements from the EuroPython
2025 sprint (special thanks to the sprinters: Emmanuel Okedele, Jan
Murre, Euxenia Miruna Goia and Christoffer Fjord)</li>
<li>Added a documentation page explaining why one might want to use
AnyIO's APIs instead of asyncio's</li>
<li>Updated the <code>to_interpreters</code> module to use the public
<code>concurrent.interpreters</code> API on Python 3.14 or later</li>
<li>Fixed <code>anyio.Path.copy()</code> and
<code>anyio.Path.copy_into()</code> failing on Python 3.14.0a7</li>
<li>Fixed return annotation of <code>__aexit__</code> on async context
managers. CMs which can suppress exceptions should return
<code>bool</code>, or <code>None</code> otherwise. (<a
href="https://redirect.github.com/agronholm/anyio/pull/913">#913</a>; PR
by <a href="https://github.com/Enegg"><code>@​Enegg</code></a>)</li>
<li>Fixed rollover boundary check in <code>SpooledTemporaryFile</code>
so that rollover only occurs when the buffer size exceeds
<code>max_size</code> (<a
href="https://redirect.github.com/agronholm/anyio/pull/915">#915</a>; PR
by <a href="https://github.com/11kkw"><code>@​11kkw</code></a>)</li>
<li>Migrated testing and documentation dependencies from extras to
dependency groups</li>
<li>Fixed compatibility of <code>anyio.to_interpreter</code> with Python
3.14.0b2 (<a
href="https://redirect.github.com/agronholm/anyio/issues/926">#926</a>;
PR by <a
href="https://github.com/hroncok"><code>@​hroncok</code></a>)</li>
<li>Fixed <code>SyntaxWarning</code> on Python 3.14 about
<code>return</code> in <code>finally</code> (<a
href="https://redirect.github.com/agronholm/anyio/issues/816">#816</a>)</li>
<li>Fixed RunVar name conflicts. RunVar instances with the same name
should not share storage (<a
href="https://redirect.github.com/agronholm/anyio/issues/880">#880</a>;
PR by <a href="https://github.com/vimfu"><code>@​vimfu</code></a>)</li>
<li>Renamed the <code>BrokenWorkerIntepreter</code> exception to
<code>BrokenWorkerInterpreter</code>. The old name is available as a
deprecated alias. (<a
href="https://redirect.github.com/agronholm/anyio/pull/938">#938</a>; PR
by <a
href="https://github.com/ayussh-verma"><code>@​ayussh-verma</code></a>)</li>
<li>Fixed an edge case in <code>CapacityLimiter</code> on asyncio where
a task, waiting to acquire a limiter gets cancelled and is subsequently
granted a token from the limiter, but before the cancellation is
delivered, and then fails to notify the next waiting task (<a
href="https://redirect.github.com/agronholm/anyio/issues/947">#947</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst">anyio's
changelog</a>.</em></p>
<blockquote>
<h1>Version history</h1>
<p>This library adheres to <code>Semantic Versioning 2.0
&lt;http://semver.org/&gt;</code>_.</p>
<p><strong>4.10.0</strong></p>
<ul>
<li>
<p>Added the <code>feed_data()</code> method to the
<code>BufferedByteReceiveStream</code> class, allowing
users to inject data directly into the buffer</p>
</li>
<li>
<p>Added various class methods to wrap existing sockets as listeners or
socket streams:</p>
<ul>
<li><code>SocketListener.from_socket()</code></li>
<li><code>SocketStream.from_socket()</code></li>
<li><code>UNIXSocketStream.from_socket()</code></li>
<li><code>UDPSocket.from_socket()</code></li>
<li><code>ConnectedUDPSocket.from_socket()</code></li>
<li><code>UNIXDatagramSocket.from_socket()</code></li>
<li><code>ConnectedUNIXDatagramSocket.from_socket()</code></li>
</ul>
</li>
<li>
<p>Added a hierarchy of connectable stream classes for transparently
connecting to
various remote or local endpoints for exchanging bytes or objects</p>
</li>
<li>
<p>Added context manager mix-in classes
(<code>anyio.ContextManagerMixin</code> and
<code>anyio.AsyncContextManagerMixin</code>) to help write classes that
embed other context
managers, particularly cancel scopes or task groups
(<code>[#905](agronholm/anyio#905)
&lt;https://github.com/agronholm/anyio/pull/905&gt;</code>_; PR by <a
href="https://github.com/agronholm"><code>@​agronholm</code></a> and
<a
href="https://github.com/tapetersen"><code>@​tapetersen</code></a>)</p>
</li>
<li>
<p>Added the ability to specify the thread name in
<code>start_blocking_portal()</code>
(<code>[#818](agronholm/anyio#818)
&lt;https://github.com/agronholm/anyio/issues/818&gt;</code>_; PR by <a
href="https://github.com/davidbrochart"><code>@​davidbrochart</code></a>)</p>
</li>
<li>
<p>Added <code>anyio.notify_closing</code> to allow waking
<code>anyio.wait_readable</code>
and <code>anyio.wait_writable</code> before closing a socket. Among
other things,
this prevents an OSError on the <code>ProactorEventLoop</code>.
(<code>[#896](agronholm/anyio#896)
&lt;https://github.com/agronholm/anyio/pull/896&gt;</code>_; PR by <a
href="https://github.com/graingert"><code>@​graingert</code></a>)</p>
</li>
<li>
<p>Incorporated several documentation improvements from the EuroPython
2025 sprint
(special thanks to the sprinters: Emmanuel Okedele, Jan Murre, Euxenia
Miruna Goia and
Christoffer Fjord)</p>
</li>
<li>
<p>Added a documentation page explaining why one might want to use
AnyIO's APIs instead
of asyncio's</p>
</li>
<li>
<p>Updated the <code>to_interpreters</code> module to use the public
<code>concurrent.interpreters</code>
API on Python 3.14 or later</p>
</li>
<li>
<p>Fixed <code>anyio.Path.copy()</code> and
<code>anyio.Path.copy_into()</code> failing on Python 3.14.0a7</p>
</li>
<li>
<p>Fixed return annotation of <code>__aexit__</code> on async context
managers. CMs which can
suppress exceptions should return <code>bool</code>, or
<code>None</code> otherwise.
(<code>[#913](agronholm/anyio#913)
&lt;https://github.com/agronholm/anyio/pull/913&gt;</code>_; PR by <a
href="https://github.com/Enegg"><code>@​Enegg</code></a>)</p>
</li>
<li>
<p>Fixed rollover boundary check in <code>SpooledTemporaryFile</code> so
that rollover
only occurs when the buffer size exceeds <code>max_size</code>
(<code>[#915](agronholm/anyio#915)
&lt;https://github.com/agronholm/anyio/pull/915&gt;</code>_; PR by <a
href="https://github.com/11kkw"><code>@​11kkw</code></a>)</p>
</li>
<li>
<p>Migrated testing and documentation dependencies from extras to
dependency groups</p>
</li>
<li>
<p>Fixed compatibility of <code>anyio.to_interpreter</code> with Python
3.14.0b2
(<code>[#926](agronholm/anyio#926)
&lt;https://github.com/agronholm/anyio/issues/926&gt;</code>_; PR by <a
href="https://github.com/hroncok"><code>@​hroncok</code></a>)</p>
</li>
<li>
<p>Fixed <code>SyntaxWarning</code> on Python 3.14 about
<code>return</code> in <code>finally</code>
(<code>[#816](agronholm/anyio#816)
&lt;https://github.com/agronholm/anyio/issues/816&gt;</code>_)</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/agronholm/anyio/commit/0cf55b8277128726c8d5720a4fda29ec1ffccfb6"><code>0cf55b8</code></a>
Bumped up the version</li>
<li><a
href="https://github.com/agronholm/anyio/commit/b029df574164e0df7e542fa4fd01abdbb7db7345"><code>b029df5</code></a>
Updated the to_interpreter module to use the public API on Python 3.14
(<a
href="https://redirect.github.com/agronholm/anyio/issues/956">#956</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/01f02cf5ee9a706c89f57ef58c30de3cbf87abb1"><code>01f02cf</code></a>
Incorporated EP2025 sprint feedback and added a new section (<a
href="https://redirect.github.com/agronholm/anyio/issues/955">#955</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/d89648054c8a939fbde1cc2d590aa875b9139aa4"><code>d896480</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/954">#954</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/0282b814c0067b5fa336d339b4bd57ed6e62266c"><code>0282b81</code></a>
Added the BufferedByteReceiveStream.feed_data() method (<a
href="https://redirect.github.com/agronholm/anyio/issues/945">#945</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/19e5477238d37499de42ebedf99c557848479cfb"><code>19e5477</code></a>
Fixed a cancellation edge case for asyncio CapacityLimiter (<a
href="https://redirect.github.com/agronholm/anyio/issues/952">#952</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/4666df3905af92ac02b515e0827ff9510dcba827"><code>4666df3</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/946">#946</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/38c256709dc8d34de57a43faeab72c935e74ad6e"><code>38c2567</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/942">#942</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/3db73acbf7d715bc47fe9fd6d190374afa3132fb"><code>3db73ac</code></a>
Add missing imports for Readcting to cancellation in worker threads
example (...</li>
<li><a
href="https://github.com/agronholm/anyio/commit/2eda004497cc7ab2b8c1ede4d7c4c276f0840fd9"><code>2eda004</code></a>
Added an example on how to use move_on_after() with shielding</li>
<li>Additional commits viewable in <a
href="https://github.com/agronholm/anyio/compare/4.9.0...4.10">compare
view</a></li>
</ul>
</details>
<br />

Updates `virtualenv` from 20.32.0 to 20.33.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/virtualenv/releases">virtualenv's
releases</a>.</em></p>
<blockquote>
<h2>20.33.0</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>release 20.32.0 by <a
href="https://github.com/gaborbernat"><code>@​gaborbernat</code></a> in
<a
href="https://redirect.github.com/pypa/virtualenv/pull/2908">pypa/virtualenv#2908</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/pypa/virtualenv/pull/2909">pypa/virtualenv#2909</a></li>
<li>Fix nushell deprecation warnings by <a
href="https://github.com/gaborbernat"><code>@​gaborbernat</code></a> in
<a
href="https://redirect.github.com/pypa/virtualenv/pull/2910">pypa/virtualenv#2910</a></li>
<li>test: Use <code>@pytest.mark.flaky</code> instead of
<code>@flaky.flaky</code> by <a
href="https://github.com/mgorny"><code>@​mgorny</code></a> in <a
href="https://redirect.github.com/pypa/virtualenv/pull/2911">pypa/virtualenv#2911</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/pypa/virtualenv/pull/2912">pypa/virtualenv#2912</a></li>
<li>fix: handle StopIteration in discovery by <a
href="https://github.com/esafak"><code>@​esafak</code></a> in <a
href="https://redirect.github.com/pypa/virtualenv/pull/2913">pypa/virtualenv#2913</a></li>
<li>fix: Improve symlink check and sysconfig path handling by <a
href="https://github.com/esafak"><code>@​esafak</code></a> in <a
href="https://redirect.github.com/pypa/virtualenv/pull/2914">pypa/virtualenv#2914</a></li>
<li>docs: Recommend specific python version for virtualenv by <a
href="https://github.com/esafak"><code>@​esafak</code></a> in <a
href="https://redirect.github.com/pypa/virtualenv/pull/2916">pypa/virtualenv#2916</a></li>
<li>fix: Force UTF-8 encoding for pip subprocess by <a
href="https://github.com/esafak"><code>@​esafak</code></a> in <a
href="https://redirect.github.com/pypa/virtualenv/pull/2918">pypa/virtualenv#2918</a></li>
<li>fix: Prevent crash on file in PATH during discovery by <a
href="https://github.com/esafak"><code>@​esafak</code></a> in <a
href="https://redirect.github.com/pypa/virtualenv/pull/2917">pypa/virtualenv#2917</a></li>
<li>fix: <code>--try-first-with</code> was overriding an absolute
<code>--python</code> path by <a
href="https://github.com/esafak"><code>@​esafak</code></a> in <a
href="https://redirect.github.com/pypa/virtualenv/pull/2921">pypa/virtualenv#2921</a></li>
<li>fix 'Too many open files' error and improve error message by <a
href="https://github.com/esafak"><code>@​esafak</code></a> in <a
href="https://redirect.github.com/pypa/virtualenv/pull/2922">pypa/virtualenv#2922</a></li>
<li>fix(testing): Prevent logging setup when --help is passed by <a
href="https://github.com/esafak"><code>@​esafak</code></a> in <a
href="https://redirect.github.com/pypa/virtualenv/pull/2923">pypa/virtualenv#2923</a></li>
<li>fix cache invalidation for PythonInfo by <a
href="https://github.com/esafak"><code>@​esafak</code></a> in <a
href="https://redirect.github.com/pypa/virtualenv/pull/2925">pypa/virtualenv#2925</a></li>
<li>fix: Update venv redirector detection for Python 3.13 on Windows by
<a href="https://github.com/esafak"><code>@​esafak</code></a> in <a
href="https://redirect.github.com/pypa/virtualenv/pull/2920">pypa/virtualenv#2920</a></li>
<li>feat: Add Tcl/Tkinter support by <a
href="https://github.com/esafak"><code>@​esafak</code></a> in <a
href="https://redirect.github.com/pypa/virtualenv/pull/2928">pypa/virtualenv#2928</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pypa/virtualenv/compare/20.32.0...20.33.0">https://github.com/pypa/virtualenv/compare/20.32.0...20.33.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst">virtualenv's
changelog</a>.</em></p>
<blockquote>
<h2>v20.33.0 (2025-08-03)</h2>
<p>Features - 20.33.0</p>
<pre><code>- Added support for Tcl and Tkinter. You're welcome.
  Contributed by :user:`esafak`. (:issue:`425`)
<p>Bugfixes - 20.33.0
</code></pre></p>
<ul>
<li>Prevent logging setup when --help is passed, fixing a flaky test.
Contributed by :user:<code>esafak</code>. (:issue:<code>u</code>)</li>
<li>Fix cache invalidation for PythonInfo by hashing
<code>py_info.py</code>.
Contributed by :user:<code>esafak</code>.
(:issue:<code>2467</code>)</li>
<li>When no discovery plugins are found, the application would crash
with a StopIteration.
This change catches the StopIteration and raises a RuntimeError with a
more informative message.
Contributed by :user:<code>esafak</code>.
(:issue:<code>2493</code>)</li>
<li>Stop <code>--try-first-with</code> overriding absolute
<code>--python</code> paths.
Contributed by :user:<code>esafak</code>.
(:issue:<code>2659</code>)</li>
<li>Force UTF-8 encoding for pip download
Contributed by :user:<code>esafak</code>.
(:issue:<code>2780</code>)</li>
<li>Creating a virtual environment on a filesystem without
symlink-support would fail even with <code>--copies</code>
Make <code>fs_supports_symlink</code> perform a real symlink creation
check on all platforms.
Contributed by :user:<code>esafak</code>.
(:issue:<code>2786</code>)</li>
<li>Add a note to the user guide recommending the use of a specific
Python version when creating virtual environments.
Contributed by :user:<code>esafak</code>.
(:issue:<code>2808</code>)</li>
<li>Fix 'Too many open files' error due to a file descriptor leak in
virtualenv's locking mechanism.
Contributed by :user:<code>esafak</code>.
(:issue:<code>2834</code>)</li>
<li>Support renamed Windows venv redirector
(<code>venvlauncher.exe</code> and <code>venvwlauncher.exe</code>) on
Python 3.13
Contributed by :user:<code>esafak</code>.
(:issue:<code>2851</code>)</li>
<li>Resolve Nushell activation script deprecation warnings by
dynamically selecting the <code>--optional</code> flag for Nushell
<code>get</code> command on version 0.106.0 and newer, while retaining
the deprecated <code>-i</code> flag for older versions to maintain
compatibility. Contributed by :user:<code>gaborbernat</code>.
(:issue:<code>2910</code>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/virtualenv/commit/829e3d21c0c4b200383fdd10bfee3e80db6b0882"><code>829e3d2</code></a>
release 20.33.0</li>
<li><a
href="https://github.com/pypa/virtualenv/commit/3d35fbb6486494d46bd050d225685d53a92b02c0"><code>3d35fbb</code></a>
feat: Add Tcl/Tkinter support (<a
href="https://redirect.github.com/pypa/virtualenv/issues/2928">#2928</a>)</li>
<li><a
href="https://github.com/pypa/virtualenv/commit/9872144e6954eaaf1602789b5a1eacb9b0a135b1"><code>9872144</code></a>
fix: Update venv redirector detection for Python 3.13 on Windows (<a
href="https://redirect.github.com/pypa/virtualenv/issues/2920">#2920</a>)</li>
<li><a
href="https://github.com/pypa/virtualenv/commit/31eb8b961105b8a54a4bb2b066ba96e9baed7dfc"><code>31eb8b9</code></a>
fix cache invalidation for PythonInfo (<a
href="https://redirect.github.com/pypa/virtualenv/issues/2925">#2925</a>)</li>
<li><a
href="https://github.com/pypa/virtualenv/commit/ec1c83e2b3031b3c9fd1e372a3b7f43d0907bb07"><code>ec1c83e</code></a>
fix(testing): Prevent logging setup when --help is passed (<a
href="https://redirect.github.com/pypa/virtualenv/issues/2923">#2923</a>)</li>
<li><a
href="https://github.com/pypa/virtualenv/commit/0c847288171bed06ed2c0c2f6d241e7de704ccde"><code>0c84728</code></a>
fix 'Too many open files' error and improve error message (<a
href="https://redirect.github.com/pypa/virtualenv/issues/2922">#2922</a>)</li>
<li><a
href="https://github.com/pypa/virtualenv/commit/f264539ffc14cbb313d1c3af041c3af88f7ac867"><code>f264539</code></a>
fix: <code>--try-first-with</code> was overriding an absolute
<code>--python</code> path (<a
href="https://redirect.github.com/pypa/virtualenv/issues/2921">#2921</a>)</li>
<li><a
href="https://github.com/pypa/virtualenv/commit/19796cfd76b91f5932c700f3f87362395f1377a0"><code>19796cf</code></a>
fix: Prevent crash on file in PATH during discovery (<a
href="https://redirect.github.com/pypa/virtualenv/issues/2917">#2917</a>)</li>
<li><a
href="https://github.com/pypa/virtualenv/commit/01074bc16bd86c85c78138923980b64818149737"><code>01074bc</code></a>
fix: Force UTF-8 encoding for pip subprocess (<a
href="https://redirect.github.com/pypa/virtualenv/issues/2918">#2918</a>)</li>
<li><a
href="https://github.com/pypa/virtualenv/commit/fb2ba1ce1853318d06b49bc5add251e3c00f438b"><code>fb2ba1c</code></a>
docs: Recommend specific python version for virtualenv (<a
href="https://redirect.github.com/pypa/virtualenv/issues/2916">#2916</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/virtualenv/compare/20.32.0...20.33.0">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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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>
Wyverald pushed a commit to bazelbuild/bazel-central-registry that referenced this pull request Aug 4, 2025
Bumps [anyio](https://github.com/agronholm/anyio) from 4.9.0 to 4.10.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/agronholm/anyio/releases">anyio's
releases</a>.</em></p>
<blockquote>
<h2>4.10.0</h2>
<ul>
<li>Added the <code>feed_data()</code> method to the
<code>BufferedByteReceiveStream</code> class, allowing users to inject
data directly into the buffer</li>
<li>Added various class methods to wrap existing sockets as listeners or
socket streams:
<ul>
<li><code>SocketListener.from_socket()</code></li>
<li><code>SocketStream.from_socket()</code></li>
<li><code>UNIXSocketStream.from_socket()</code></li>
<li><code>UDPSocket.from_socket()</code></li>
<li><code>ConnectedUDPSocket.from_socket()</code></li>
<li><code>UNIXDatagramSocket.from_socket()</code></li>
<li><code>ConnectedUNIXDatagramSocket.from_socket()</code></li>
</ul>
</li>
<li>Added a hierarchy of connectable stream classes for transparently
connecting to various remote or local endpoints for exchanging bytes or
objects</li>
<li>Added context manager mix-in classes
(<code>anyio.ContextManagerMixin</code> and
<code>anyio.AsyncContextManagerMixin</code>) to help write classes that
embed other context managers, particularly cancel scopes or task groups
(<a
href="https://redirect.github.com/agronholm/anyio/pull/905">#905</a>; PR
by <a href="https://github.com/agronholm"><code>@​agronholm</code></a>
and <a
href="https://github.com/tapetersen"><code>@​tapetersen</code></a>)</li>
<li>Added the ability to specify the thread name in
<code>start_blocking_portal()</code> (<a
href="https://redirect.github.com/agronholm/anyio/issues/818">#818</a>;
PR by <a
href="https://github.com/davidbrochart"><code>@​davidbrochart</code></a>)</li>
<li>Added <code>anyio.notify_closing</code> to allow waking
<code>anyio.wait_readable</code> and <code>anyio.wait_writable</code>
before closing a socket. Among other things, this prevents an OSError on
the <code>ProactorEventLoop</code>. (<a
href="https://redirect.github.com/agronholm/anyio/pull/896">#896</a>; PR
by <a
href="https://github.com/graingert"><code>@​graingert</code></a>)</li>
<li>Incorporated several documentation improvements from the EuroPython
2025 sprint (special thanks to the sprinters: Emmanuel Okedele, Jan
Murre, Euxenia Miruna Goia and Christoffer Fjord)</li>
<li>Added a documentation page explaining why one might want to use
AnyIO's APIs instead of asyncio's</li>
<li>Updated the <code>to_interpreters</code> module to use the public
<code>concurrent.interpreters</code> API on Python 3.14 or later</li>
<li>Fixed <code>anyio.Path.copy()</code> and
<code>anyio.Path.copy_into()</code> failing on Python 3.14.0a7</li>
<li>Fixed return annotation of <code>__aexit__</code> on async context
managers. CMs which can suppress exceptions should return
<code>bool</code>, or <code>None</code> otherwise. (<a
href="https://redirect.github.com/agronholm/anyio/pull/913">#913</a>; PR
by <a href="https://github.com/Enegg"><code>@​Enegg</code></a>)</li>
<li>Fixed rollover boundary check in <code>SpooledTemporaryFile</code>
so that rollover only occurs when the buffer size exceeds
<code>max_size</code> (<a
href="https://redirect.github.com/agronholm/anyio/pull/915">#915</a>; PR
by <a href="https://github.com/11kkw"><code>@​11kkw</code></a>)</li>
<li>Migrated testing and documentation dependencies from extras to
dependency groups</li>
<li>Fixed compatibility of <code>anyio.to_interpreter</code> with Python
3.14.0b2 (<a
href="https://redirect.github.com/agronholm/anyio/issues/926">#926</a>;
PR by <a
href="https://github.com/hroncok"><code>@​hroncok</code></a>)</li>
<li>Fixed <code>SyntaxWarning</code> on Python 3.14 about
<code>return</code> in <code>finally</code> (<a
href="https://redirect.github.com/agronholm/anyio/issues/816">#816</a>)</li>
<li>Fixed RunVar name conflicts. RunVar instances with the same name
should not share storage (<a
href="https://redirect.github.com/agronholm/anyio/issues/880">#880</a>;
PR by <a href="https://github.com/vimfu"><code>@​vimfu</code></a>)</li>
<li>Renamed the <code>BrokenWorkerIntepreter</code> exception to
<code>BrokenWorkerInterpreter</code>. The old name is available as a
deprecated alias. (<a
href="https://redirect.github.com/agronholm/anyio/pull/938">#938</a>; PR
by <a
href="https://github.com/ayussh-verma"><code>@​ayussh-verma</code></a>)</li>
<li>Fixed an edge case in <code>CapacityLimiter</code> on asyncio where
a task, waiting to acquire a limiter gets cancelled and is subsequently
granted a token from the limiter, but before the cancellation is
delivered, and then fails to notify the next waiting task (<a
href="https://redirect.github.com/agronholm/anyio/issues/947">#947</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst">anyio's
changelog</a>.</em></p>
<blockquote>
<h1>Version history</h1>
<p>This library adheres to <code>Semantic Versioning 2.0
&lt;http://semver.org/&gt;</code>_.</p>
<p><strong>4.10.0</strong></p>
<ul>
<li>
<p>Added the <code>feed_data()</code> method to the
<code>BufferedByteReceiveStream</code> class, allowing
users to inject data directly into the buffer</p>
</li>
<li>
<p>Added various class methods to wrap existing sockets as listeners or
socket streams:</p>
<ul>
<li><code>SocketListener.from_socket()</code></li>
<li><code>SocketStream.from_socket()</code></li>
<li><code>UNIXSocketStream.from_socket()</code></li>
<li><code>UDPSocket.from_socket()</code></li>
<li><code>ConnectedUDPSocket.from_socket()</code></li>
<li><code>UNIXDatagramSocket.from_socket()</code></li>
<li><code>ConnectedUNIXDatagramSocket.from_socket()</code></li>
</ul>
</li>
<li>
<p>Added a hierarchy of connectable stream classes for transparently
connecting to
various remote or local endpoints for exchanging bytes or objects</p>
</li>
<li>
<p>Added context manager mix-in classes
(<code>anyio.ContextManagerMixin</code> and
<code>anyio.AsyncContextManagerMixin</code>) to help write classes that
embed other context
managers, particularly cancel scopes or task groups
(<code>[#905](agronholm/anyio#905)
&lt;https://github.com/agronholm/anyio/pull/905&gt;</code>_; PR by <a
href="https://github.com/agronholm"><code>@​agronholm</code></a> and
<a
href="https://github.com/tapetersen"><code>@​tapetersen</code></a>)</p>
</li>
<li>
<p>Added the ability to specify the thread name in
<code>start_blocking_portal()</code>
(<code>[#818](agronholm/anyio#818)
&lt;https://github.com/agronholm/anyio/issues/818&gt;</code>_; PR by <a
href="https://github.com/davidbrochart"><code>@​davidbrochart</code></a>)</p>
</li>
<li>
<p>Added <code>anyio.notify_closing</code> to allow waking
<code>anyio.wait_readable</code>
and <code>anyio.wait_writable</code> before closing a socket. Among
other things,
this prevents an OSError on the <code>ProactorEventLoop</code>.
(<code>[#896](agronholm/anyio#896)
&lt;https://github.com/agronholm/anyio/pull/896&gt;</code>_; PR by <a
href="https://github.com/graingert"><code>@​graingert</code></a>)</p>
</li>
<li>
<p>Incorporated several documentation improvements from the EuroPython
2025 sprint
(special thanks to the sprinters: Emmanuel Okedele, Jan Murre, Euxenia
Miruna Goia and
Christoffer Fjord)</p>
</li>
<li>
<p>Added a documentation page explaining why one might want to use
AnyIO's APIs instead
of asyncio's</p>
</li>
<li>
<p>Updated the <code>to_interpreters</code> module to use the public
<code>concurrent.interpreters</code>
API on Python 3.14 or later</p>
</li>
<li>
<p>Fixed <code>anyio.Path.copy()</code> and
<code>anyio.Path.copy_into()</code> failing on Python 3.14.0a7</p>
</li>
<li>
<p>Fixed return annotation of <code>__aexit__</code> on async context
managers. CMs which can
suppress exceptions should return <code>bool</code>, or
<code>None</code> otherwise.
(<code>[#913](agronholm/anyio#913)
&lt;https://github.com/agronholm/anyio/pull/913&gt;</code>_; PR by <a
href="https://github.com/Enegg"><code>@​Enegg</code></a>)</p>
</li>
<li>
<p>Fixed rollover boundary check in <code>SpooledTemporaryFile</code> so
that rollover
only occurs when the buffer size exceeds <code>max_size</code>
(<code>[#915](agronholm/anyio#915)
&lt;https://github.com/agronholm/anyio/pull/915&gt;</code>_; PR by <a
href="https://github.com/11kkw"><code>@​11kkw</code></a>)</p>
</li>
<li>
<p>Migrated testing and documentation dependencies from extras to
dependency groups</p>
</li>
<li>
<p>Fixed compatibility of <code>anyio.to_interpreter</code> with Python
3.14.0b2
(<code>[#926](agronholm/anyio#926)
&lt;https://github.com/agronholm/anyio/issues/926&gt;</code>_; PR by <a
href="https://github.com/hroncok"><code>@​hroncok</code></a>)</p>
</li>
<li>
<p>Fixed <code>SyntaxWarning</code> on Python 3.14 about
<code>return</code> in <code>finally</code>
(<code>[#816](agronholm/anyio#816)
&lt;https://github.com/agronholm/anyio/issues/816&gt;</code>_)</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/agronholm/anyio/commit/0cf55b8277128726c8d5720a4fda29ec1ffccfb6"><code>0cf55b8</code></a>
Bumped up the version</li>
<li><a
href="https://github.com/agronholm/anyio/commit/b029df574164e0df7e542fa4fd01abdbb7db7345"><code>b029df5</code></a>
Updated the to_interpreter module to use the public API on Python 3.14
(<a
href="https://redirect.github.com/agronholm/anyio/issues/956">#956</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/01f02cf5ee9a706c89f57ef58c30de3cbf87abb1"><code>01f02cf</code></a>
Incorporated EP2025 sprint feedback and added a new section (<a
href="https://redirect.github.com/agronholm/anyio/issues/955">#955</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/d89648054c8a939fbde1cc2d590aa875b9139aa4"><code>d896480</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/954">#954</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/0282b814c0067b5fa336d339b4bd57ed6e62266c"><code>0282b81</code></a>
Added the BufferedByteReceiveStream.feed_data() method (<a
href="https://redirect.github.com/agronholm/anyio/issues/945">#945</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/19e5477238d37499de42ebedf99c557848479cfb"><code>19e5477</code></a>
Fixed a cancellation edge case for asyncio CapacityLimiter (<a
href="https://redirect.github.com/agronholm/anyio/issues/952">#952</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/4666df3905af92ac02b515e0827ff9510dcba827"><code>4666df3</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/946">#946</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/38c256709dc8d34de57a43faeab72c935e74ad6e"><code>38c2567</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/942">#942</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/3db73acbf7d715bc47fe9fd6d190374afa3132fb"><code>3db73ac</code></a>
Add missing imports for Readcting to cancellation in worker threads
example (...</li>
<li><a
href="https://github.com/agronholm/anyio/commit/2eda004497cc7ab2b8c1ede4d7c4c276f0840fd9"><code>2eda004</code></a>
Added an example on how to use move_on_after() with shielding</li>
<li>Additional commits viewable in <a
href="https://github.com/agronholm/anyio/compare/4.9.0...4.10">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyio&package-manager=pip&previous-version=4.9.0&new-version=4.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
github-merge-queue bot pushed a commit to DataDog/orchestrion that referenced this pull request Aug 12, 2025
…y with 5 updates (#677)

Bumps the python-dependencies group with 5 updates in the
/.github/actions/codecov-cli directory:

| Package | From | To |
| --- | --- | --- |
| [codecov-cli](https://github.com/codecov/codecov-cli) | `11.0.3` |
`11.1.0` |
| [anyio](https://github.com/agronholm/anyio) | `4.9.0` | `4.10.0` |
| [certifi](https://github.com/certifi/python-certifi) | `2025.7.14` |
`2025.8.3` |
| [charset-normalizer](https://github.com/jawah/charset_normalizer) |
`3.4.2` | `3.4.3` |
| [regex](https://github.com/mrabarnett/mrab-regex) | `2024.11.6` |
`2025.7.34` |


Updates `codecov-cli` from 11.0.3 to 11.1.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/codecov/codecov-cli/releases">codecov-cli's
releases</a>.</em></p>
<blockquote>
<h2>Release v0.1.1_test</h2>
<h2>What's Changed</h2>
<ul>
<li>implement code build by <a
href="https://github.com/dana-yaish"><code>@​dana-yaish</code></a> in <a
href="https://redirect.github.com/codecov/codecov-cli/pull/79">codecov/codecov-cli#79</a></li>
<li>add detect function to CodeBuild ci provider by <a
href="https://github.com/dana-yaish"><code>@​dana-yaish</code></a> in <a
href="https://redirect.github.com/codecov/codecov-cli/pull/101">codecov/codecov-cli#101</a></li>
<li>Fix path_fixes in upload payload by <a
href="https://github.com/giovanni-guidini"><code>@​giovanni-guidini</code></a>
in <a
href="https://redirect.github.com/codecov/codecov-cli/pull/103">codecov/codecov-cli#103</a></li>
<li>Cast multiple=True args in upload to list by <a
href="https://github.com/giovanni-guidini"><code>@​giovanni-guidini</code></a>
in <a
href="https://redirect.github.com/codecov/codecov-cli/pull/104">codecov/codecov-cli#104</a></li>
<li>Update CI workflows. by <a
href="https://github.com/giovanni-guidini"><code>@​giovanni-guidini</code></a>
in <a
href="https://redirect.github.com/codecov/codecov-cli/pull/102">codecov/codecov-cli#102</a></li>
<li>remove dangling step when building artifacts. Change release
temporarilly to draft by <a
href="https://github.com/giovanni-guidini"><code>@​giovanni-guidini</code></a>
in <a
href="https://redirect.github.com/codecov/codecov-cli/pull/105">codecov/codecov-cli#105</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/codecov/codecov-cli/compare/v0.1.0...v0.1.1_test">https://github.com/codecov/codecov-cli/compare/v0.1.0...v0.1.1_test</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/codecov/codecov-cli/commits">compare
view</a></li>
</ul>
</details>
<br />

Updates `anyio` from 4.9.0 to 4.10.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/agronholm/anyio/releases">anyio's
releases</a>.</em></p>
<blockquote>
<h2>4.10.0</h2>
<ul>
<li>Added the <code>feed_data()</code> method to the
<code>BufferedByteReceiveStream</code> class, allowing users to inject
data directly into the buffer</li>
<li>Added various class methods to wrap existing sockets as listeners or
socket streams:
<ul>
<li><code>SocketListener.from_socket()</code></li>
<li><code>SocketStream.from_socket()</code></li>
<li><code>UNIXSocketStream.from_socket()</code></li>
<li><code>UDPSocket.from_socket()</code></li>
<li><code>ConnectedUDPSocket.from_socket()</code></li>
<li><code>UNIXDatagramSocket.from_socket()</code></li>
<li><code>ConnectedUNIXDatagramSocket.from_socket()</code></li>
</ul>
</li>
<li>Added a hierarchy of connectable stream classes for transparently
connecting to various remote or local endpoints for exchanging bytes or
objects</li>
<li>Added context manager mix-in classes
(<code>anyio.ContextManagerMixin</code> and
<code>anyio.AsyncContextManagerMixin</code>) to help write classes that
embed other context managers, particularly cancel scopes or task groups
(<a
href="https://redirect.github.com/agronholm/anyio/pull/905">#905</a>; PR
by <a href="https://github.com/agronholm"><code>@​agronholm</code></a>
and <a
href="https://github.com/tapetersen"><code>@​tapetersen</code></a>)</li>
<li>Added the ability to specify the thread name in
<code>start_blocking_portal()</code> (<a
href="https://redirect.github.com/agronholm/anyio/issues/818">#818</a>;
PR by <a
href="https://github.com/davidbrochart"><code>@​davidbrochart</code></a>)</li>
<li>Added <code>anyio.notify_closing</code> to allow waking
<code>anyio.wait_readable</code> and <code>anyio.wait_writable</code>
before closing a socket. Among other things, this prevents an OSError on
the <code>ProactorEventLoop</code>. (<a
href="https://redirect.github.com/agronholm/anyio/pull/896">#896</a>; PR
by <a
href="https://github.com/graingert"><code>@​graingert</code></a>)</li>
<li>Incorporated several documentation improvements from the EuroPython
2025 sprint (special thanks to the sprinters: Emmanuel Okedele, Jan
Murre, Euxenia Miruna Goia and Christoffer Fjord)</li>
<li>Added a documentation page explaining why one might want to use
AnyIO's APIs instead of asyncio's</li>
<li>Updated the <code>to_interpreters</code> module to use the public
<code>concurrent.interpreters</code> API on Python 3.14 or later</li>
<li>Fixed <code>anyio.Path.copy()</code> and
<code>anyio.Path.copy_into()</code> failing on Python 3.14.0a7</li>
<li>Fixed return annotation of <code>__aexit__</code> on async context
managers. CMs which can suppress exceptions should return
<code>bool</code>, or <code>None</code> otherwise. (<a
href="https://redirect.github.com/agronholm/anyio/pull/913">#913</a>; PR
by <a href="https://github.com/Enegg"><code>@​Enegg</code></a>)</li>
<li>Fixed rollover boundary check in <code>SpooledTemporaryFile</code>
so that rollover only occurs when the buffer size exceeds
<code>max_size</code> (<a
href="https://redirect.github.com/agronholm/anyio/pull/915">#915</a>; PR
by <a href="https://github.com/11kkw"><code>@​11kkw</code></a>)</li>
<li>Migrated testing and documentation dependencies from extras to
dependency groups</li>
<li>Fixed compatibility of <code>anyio.to_interpreter</code> with Python
3.14.0b2 (<a
href="https://redirect.github.com/agronholm/anyio/issues/926">#926</a>;
PR by <a
href="https://github.com/hroncok"><code>@​hroncok</code></a>)</li>
<li>Fixed <code>SyntaxWarning</code> on Python 3.14 about
<code>return</code> in <code>finally</code> (<a
href="https://redirect.github.com/agronholm/anyio/issues/816">#816</a>)</li>
<li>Fixed RunVar name conflicts. RunVar instances with the same name
should not share storage (<a
href="https://redirect.github.com/agronholm/anyio/issues/880">#880</a>;
PR by <a href="https://github.com/vimfu"><code>@​vimfu</code></a>)</li>
<li>Renamed the <code>BrokenWorkerIntepreter</code> exception to
<code>BrokenWorkerInterpreter</code>. The old name is available as a
deprecated alias. (<a
href="https://redirect.github.com/agronholm/anyio/pull/938">#938</a>; PR
by <a
href="https://github.com/ayussh-verma"><code>@​ayussh-verma</code></a>)</li>
<li>Fixed an edge case in <code>CapacityLimiter</code> on asyncio where
a task, waiting to acquire a limiter gets cancelled and is subsequently
granted a token from the limiter, but before the cancellation is
delivered, and then fails to notify the next waiting task (<a
href="https://redirect.github.com/agronholm/anyio/issues/947">#947</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst">anyio's
changelog</a>.</em></p>
<blockquote>
<h1>Version history</h1>
<p>This library adheres to <code>Semantic Versioning 2.0
&lt;http://semver.org/&gt;</code>_.</p>
<p><strong>4.10.0</strong></p>
<ul>
<li>
<p>Added the <code>feed_data()</code> method to the
<code>BufferedByteReceiveStream</code> class, allowing
users to inject data directly into the buffer</p>
</li>
<li>
<p>Added various class methods to wrap existing sockets as listeners or
socket streams:</p>
<ul>
<li><code>SocketListener.from_socket()</code></li>
<li><code>SocketStream.from_socket()</code></li>
<li><code>UNIXSocketStream.from_socket()</code></li>
<li><code>UDPSocket.from_socket()</code></li>
<li><code>ConnectedUDPSocket.from_socket()</code></li>
<li><code>UNIXDatagramSocket.from_socket()</code></li>
<li><code>ConnectedUNIXDatagramSocket.from_socket()</code></li>
</ul>
</li>
<li>
<p>Added a hierarchy of connectable stream classes for transparently
connecting to
various remote or local endpoints for exchanging bytes or objects</p>
</li>
<li>
<p>Added context manager mix-in classes
(<code>anyio.ContextManagerMixin</code> and
<code>anyio.AsyncContextManagerMixin</code>) to help write classes that
embed other context
managers, particularly cancel scopes or task groups
(<code>[#905](agronholm/anyio#905)
&lt;https://github.com/agronholm/anyio/pull/905&gt;</code>_; PR by <a
href="https://github.com/agronholm"><code>@​agronholm</code></a> and
<a
href="https://github.com/tapetersen"><code>@​tapetersen</code></a>)</p>
</li>
<li>
<p>Added the ability to specify the thread name in
<code>start_blocking_portal()</code>
(<code>[#818](agronholm/anyio#818)
&lt;https://github.com/agronholm/anyio/issues/818&gt;</code>_; PR by <a
href="https://github.com/davidbrochart"><code>@​davidbrochart</code></a>)</p>
</li>
<li>
<p>Added <code>anyio.notify_closing</code> to allow waking
<code>anyio.wait_readable</code>
and <code>anyio.wait_writable</code> before closing a socket. Among
other things,
this prevents an OSError on the <code>ProactorEventLoop</code>.
(<code>[#896](agronholm/anyio#896)
&lt;https://github.com/agronholm/anyio/pull/896&gt;</code>_; PR by <a
href="https://github.com/graingert"><code>@​graingert</code></a>)</p>
</li>
<li>
<p>Incorporated several documentation improvements from the EuroPython
2025 sprint
(special thanks to the sprinters: Emmanuel Okedele, Jan Murre, Euxenia
Miruna Goia and
Christoffer Fjord)</p>
</li>
<li>
<p>Added a documentation page explaining why one might want to use
AnyIO's APIs instead
of asyncio's</p>
</li>
<li>
<p>Updated the <code>to_interpreters</code> module to use the public
<code>concurrent.interpreters</code>
API on Python 3.14 or later</p>
</li>
<li>
<p>Fixed <code>anyio.Path.copy()</code> and
<code>anyio.Path.copy_into()</code> failing on Python 3.14.0a7</p>
</li>
<li>
<p>Fixed return annotation of <code>__aexit__</code> on async context
managers. CMs which can
suppress exceptions should return <code>bool</code>, or
<code>None</code> otherwise.
(<code>[#913](agronholm/anyio#913)
&lt;https://github.com/agronholm/anyio/pull/913&gt;</code>_; PR by <a
href="https://github.com/Enegg"><code>@​Enegg</code></a>)</p>
</li>
<li>
<p>Fixed rollover boundary check in <code>SpooledTemporaryFile</code> so
that rollover
only occurs when the buffer size exceeds <code>max_size</code>
(<code>[#915](agronholm/anyio#915)
&lt;https://github.com/agronholm/anyio/pull/915&gt;</code>_; PR by <a
href="https://github.com/11kkw"><code>@​11kkw</code></a>)</p>
</li>
<li>
<p>Migrated testing and documentation dependencies from extras to
dependency groups</p>
</li>
<li>
<p>Fixed compatibility of <code>anyio.to_interpreter</code> with Python
3.14.0b2
(<code>[#926](agronholm/anyio#926)
&lt;https://github.com/agronholm/anyio/issues/926&gt;</code>_; PR by <a
href="https://github.com/hroncok"><code>@​hroncok</code></a>)</p>
</li>
<li>
<p>Fixed <code>SyntaxWarning</code> on Python 3.14 about
<code>return</code> in <code>finally</code>
(<code>[#816](agronholm/anyio#816)
&lt;https://github.com/agronholm/anyio/issues/816&gt;</code>_)</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/agronholm/anyio/commit/0cf55b8277128726c8d5720a4fda29ec1ffccfb6"><code>0cf55b8</code></a>
Bumped up the version</li>
<li><a
href="https://github.com/agronholm/anyio/commit/b029df574164e0df7e542fa4fd01abdbb7db7345"><code>b029df5</code></a>
Updated the to_interpreter module to use the public API on Python 3.14
(<a
href="https://redirect.github.com/agronholm/anyio/issues/956">#956</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/01f02cf5ee9a706c89f57ef58c30de3cbf87abb1"><code>01f02cf</code></a>
Incorporated EP2025 sprint feedback and added a new section (<a
href="https://redirect.github.com/agronholm/anyio/issues/955">#955</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/d89648054c8a939fbde1cc2d590aa875b9139aa4"><code>d896480</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/954">#954</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/0282b814c0067b5fa336d339b4bd57ed6e62266c"><code>0282b81</code></a>
Added the BufferedByteReceiveStream.feed_data() method (<a
href="https://redirect.github.com/agronholm/anyio/issues/945">#945</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/19e5477238d37499de42ebedf99c557848479cfb"><code>19e5477</code></a>
Fixed a cancellation edge case for asyncio CapacityLimiter (<a
href="https://redirect.github.com/agronholm/anyio/issues/952">#952</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/4666df3905af92ac02b515e0827ff9510dcba827"><code>4666df3</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/946">#946</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/38c256709dc8d34de57a43faeab72c935e74ad6e"><code>38c2567</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/942">#942</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/3db73acbf7d715bc47fe9fd6d190374afa3132fb"><code>3db73ac</code></a>
Add missing imports for Readcting to cancellation in worker threads
example (...</li>
<li><a
href="https://github.com/agronholm/anyio/commit/2eda004497cc7ab2b8c1ede4d7c4c276f0840fd9"><code>2eda004</code></a>
Added an example on how to use move_on_after() with shielding</li>
<li>Additional commits viewable in <a
href="https://github.com/agronholm/anyio/compare/4.9.0...4.10">compare
view</a></li>
</ul>
</details>
<br />

Updates `certifi` from 2025.7.14 to 2025.8.3
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/certifi/python-certifi/commit/a97d9ad8f87c382378dddc0b0b33b9770932404e"><code>a97d9ad</code></a>
2025.08.03 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/362">#362</a>)</li>
<li>See full diff in <a
href="https://github.com/certifi/python-certifi/compare/2025.07.14...2025.08.03">compare
view</a></li>
</ul>
</details>
<br />

Updates `charset-normalizer` from 3.4.2 to 3.4.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jawah/charset_normalizer/releases">charset-normalizer's
releases</a>.</em></p>
<blockquote>
<h2>Version 3.4.3</h2>
<h2><a
href="https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.3">3.4.3</a>
(2025-08-09)</h2>
<h3>Changed</h3>
<ul>
<li>mypy(c) is no longer a required dependency at build time if
<code>CHARSET_NORMALIZER_USE_MYPYC</code> isn't set to <code>1</code>.
(<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/595">#595</a>)
(<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/583">#583</a>)</li>
<li>automatically lower confidence on small bytes samples that are not
Unicode in <code>detect</code> output legacy function. (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/391">#391</a>)</li>
</ul>
<h3>Added</h3>
<ul>
<li>Custom build backend to overcome inability to mark mypy as an
optional dependency in the build phase.</li>
<li>Support for Python 3.14</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>sdist archive contained useless directories.</li>
<li>automatically fallback on valid UTF-16 or UTF-32 even if the md says
it's noisy. (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/633">#633</a>)</li>
</ul>
<h3>Misc</h3>
<ul>
<li>SBOM are automatically published to the relevant GitHub release to
comply with regulatory changes.
Each published wheel comes with its SBOM. We choose CycloneDX as the
format.</li>
<li>Prebuilt optimized wheel are no longer distributed by default for
CPython 3.7 due to a change in cibuildwheel.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md">charset-normalizer's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.3">3.4.3</a>
(2025-08-09)</h2>
<h3>Changed</h3>
<ul>
<li>mypy(c) is no longer a required dependency at build time if
<code>CHARSET_NORMALIZER_USE_MYPYC</code> isn't set to <code>1</code>.
(<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/595">#595</a>)
(<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/583">#583</a>)</li>
<li>automatically lower confidence on small bytes samples that are not
Unicode in <code>detect</code> output legacy function. (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/391">#391</a>)</li>
</ul>
<h3>Added</h3>
<ul>
<li>Custom build backend to overcome inability to mark mypy as an
optional dependency in the build phase.</li>
<li>Support for Python 3.14</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>sdist archive contained useless directories.</li>
<li>automatically fallback on valid UTF-16 or UTF-32 even if the md says
it's noisy. (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/633">#633</a>)</li>
</ul>
<h3>Misc</h3>
<ul>
<li>SBOM are automatically published to the relevant GitHub release to
comply with regulatory changes.
Each published wheel comes with its SBOM. We choose CycloneDX as the
format.</li>
<li>Prebuilt optimized wheel are no longer distributed by default for
CPython 3.7 due to a change in cibuildwheel.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/46f662da20edeced520c8819965a37eefbbc85de"><code>46f662d</code></a>
Release 3.4.3 (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/638">#638</a>)</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/1a059b26c155dd5fca408b0e0145c930633c4bf2"><code>1a059b2</code></a>
:wrench: skip building on freethreaded as we're not confident it is
stable</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/2275e3d3fea2bf6232661f1e9c21e7b81428e2a6"><code>2275e3d</code></a>
:pencil: final note in CHANGELOG.md</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/c96acdfdb34b5b1deb6f70803167bae89b209832"><code>c96acdf</code></a>
:pencil: update release date on CHANGELOG.md</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/43e5460518003df24ad1a3e7b5c0a34445395012"><code>43e5460</code></a>
:pencil: update README.md</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/f277074e281a070cfa64fc91c46f8291043fc37c"><code>f277074</code></a>
:wrench: automatically lower confidence on small bytes str on non
Unicode res...</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/15ae2411072b5e026f2c9d6ec81b55f75af7dcf2"><code>15ae241</code></a>
:bug: automatically fallback on valid UTF-16 or UTF-32 even if the md
says it...</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/37397c1799a05454ab42fbbc94a7643cdb277924"><code>37397c1</code></a>
:wrench: enable 3.14 in nox test_mypyc session</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/cb82537ecad195f48383b92e330351cea1fc6bc8"><code>cb82537</code></a>
:rewind: revert license due to compat python 3.7 issue setuptools</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/6a2efeb4c6e205964b61008b0c36ddf88c321543"><code>6a2efeb</code></a>
:art: fix linter errors</li>
<li>Additional commits viewable in <a
href="https://github.com/jawah/charset_normalizer/compare/3.4.2...3.4.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `regex` from 2024.11.6 to 2025.7.34
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/mrabarnett/mrab-regex/blob/hg/changelog.txt">regex's
changelog</a>.</em></p>
<blockquote>
<p>Version: 2025.7.34</p>
<pre><code>Git issue 575: Issues with ASCII/Unicode modifiers
</code></pre>
<p>Version: 2025.7.33</p>
<pre><code>Updated main.yml and pyproject.toml.
</code></pre>
<p>Version: 2025.7.32</p>
<pre><code>Git issue 580: Regression in v2025.7.31: \P{L} no longer
matches in simple patterns
</code></pre>
<p>Version: 2025.7.31</p>
<pre><code>Further updates to main.yml.
</code></pre>
<p>Version: 2025.7.30</p>
<pre><code>Updated main.yml and pyproject.toml.
</code></pre>
<p>Version: 2025.7.29</p>
<pre><code>Git issue 572: Inline ASCII modifier doesn't seem to affect
anything
</code></pre>
<p>Version: 2025.5.19</p>
<pre><code>Changed how main.yml skips unwanted Arch builds.
</code></pre>
<p>Version: 2025.5.18</p>
<pre><code>Updated main.yml to build Windows ARM64/aarch64 wheel.
<p>Updated licence text format in pyproject.toml.<br />
</code></pre></p>
<p>Version: 2025.2.13</p>
<pre><code>Dropping support for Python 3.8 and removing it from
main.yml.
</code></pre>
<p>Version: 2025.2.12</p>
<pre><code>Further fixes to main.yml.
</code></pre>
<p>Version: 2025.2.11</p>
<pre><code>Updated main.yml to Artifacts v4.
</code></pre>
<p>Version: 2025.2.10</p>
<pre><code>Git issue 551: Infinite loop on V1 search
</code></pre>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mrabarnett/mrab-regex/commit/23ca191dd8d259a42bc3dcae092e4eafce48652d"><code>23ca191</code></a>
Git issue 575: Issues with ASCII/Unicode modifiers</li>
<li><a
href="https://github.com/mrabarnett/mrab-regex/commit/88fee8529b5d41846bfdc144f46d2510c547d169"><code>88fee85</code></a>
Updated main.yml and pyproject.toml.</li>
<li><a
href="https://github.com/mrabarnett/mrab-regex/commit/7ebda8c03230f31e28666790a96c40a650fd1b94"><code>7ebda8c</code></a>
Merge pull request <a
href="https://redirect.github.com/mrabarnett/mrab-regex/issues/582">#582</a>
from facelessuser/bugfix/setuptools</li>
<li><a
href="https://github.com/mrabarnett/mrab-regex/commit/26d6efc9bf050190d32c1e8b972acc600d4f2edf"><code>26d6efc</code></a>
Setup failure scenario</li>
<li><a
href="https://github.com/mrabarnett/mrab-regex/commit/a4a6d9443b11beb42d3440df91c76644ce45615c"><code>a4a6d94</code></a>
Git issue 580: Regression in v2025.7.31: \P{L} no longer matches in
simple pa...</li>
<li><a
href="https://github.com/mrabarnett/mrab-regex/commit/becb0d456d90541fa1266e19999b8005b401fb89"><code>becb0d4</code></a>
Updated version and added changes to changelog.txt.</li>
<li><a
href="https://github.com/mrabarnett/mrab-regex/commit/457bcd38a53fcc695d7f219ff19607f39a7e08e7"><code>457bcd3</code></a>
Merge pull request <a
href="https://redirect.github.com/mrabarnett/mrab-regex/issues/577">#577</a>
from facelessuser/bugfix/linux</li>
<li><a
href="https://github.com/mrabarnett/mrab-regex/commit/0d045f77280dab28333e8026f9be9ffc022d57f3"><code>0d045f7</code></a>
No need to upload source in manylinux</li>
<li><a
href="https://github.com/mrabarnett/mrab-regex/commit/f2d385b10a4e4cd44058b1ffb7b24e3247bfd9a0"><code>f2d385b</code></a>
Fix aarch64, ppc64le, s390x, and source dist</li>
<li><a
href="https://github.com/mrabarnett/mrab-regex/commit/4bc46f1397ce702f4d4413d3ce7363cd23b3e194"><code>4bc46f1</code></a>
Merge pull request <a
href="https://redirect.github.com/mrabarnett/mrab-regex/issues/574">#574</a>
from facelessuser/bugfix/wheels</li>
<li>Additional commits viewable in <a
href="https://github.com/mrabarnett/mrab-regex/compare/2024.11.6...2025.7.34">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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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>
stabldev pushed a commit to stabldev/torrra that referenced this pull request Aug 19, 2025
Bumps [anyio](https://github.com/agronholm/anyio) from 4.9.0 to 4.10.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/agronholm/anyio/releases">anyio's
releases</a>.</em></p>
<blockquote>
<h2>4.10.0</h2>
<ul>
<li>Added the <code>feed_data()</code> method to the
<code>BufferedByteReceiveStream</code> class, allowing users to inject
data directly into the buffer</li>
<li>Added various class methods to wrap existing sockets as listeners or
socket streams:
<ul>
<li><code>SocketListener.from_socket()</code></li>
<li><code>SocketStream.from_socket()</code></li>
<li><code>UNIXSocketStream.from_socket()</code></li>
<li><code>UDPSocket.from_socket()</code></li>
<li><code>ConnectedUDPSocket.from_socket()</code></li>
<li><code>UNIXDatagramSocket.from_socket()</code></li>
<li><code>ConnectedUNIXDatagramSocket.from_socket()</code></li>
</ul>
</li>
<li>Added a hierarchy of connectable stream classes for transparently
connecting to various remote or local endpoints for exchanging bytes or
objects</li>
<li>Added context manager mix-in classes
(<code>anyio.ContextManagerMixin</code> and
<code>anyio.AsyncContextManagerMixin</code>) to help write classes that
embed other context managers, particularly cancel scopes or task groups
(<a
href="https://redirect.github.com/agronholm/anyio/pull/905">#905</a>; PR
by <a href="https://github.com/agronholm"><code>@​agronholm</code></a>
and <a
href="https://github.com/tapetersen"><code>@​tapetersen</code></a>)</li>
<li>Added the ability to specify the thread name in
<code>start_blocking_portal()</code> (<a
href="https://redirect.github.com/agronholm/anyio/issues/818">#818</a>;
PR by <a
href="https://github.com/davidbrochart"><code>@​davidbrochart</code></a>)</li>
<li>Added <code>anyio.notify_closing</code> to allow waking
<code>anyio.wait_readable</code> and <code>anyio.wait_writable</code>
before closing a socket. Among other things, this prevents an OSError on
the <code>ProactorEventLoop</code>. (<a
href="https://redirect.github.com/agronholm/anyio/pull/896">#896</a>; PR
by <a
href="https://github.com/graingert"><code>@​graingert</code></a>)</li>
<li>Incorporated several documentation improvements from the EuroPython
2025 sprint (special thanks to the sprinters: Emmanuel Okedele, Jan
Murre, Euxenia Miruna Goia and Christoffer Fjord)</li>
<li>Added a documentation page explaining why one might want to use
AnyIO's APIs instead of asyncio's</li>
<li>Updated the <code>to_interpreters</code> module to use the public
<code>concurrent.interpreters</code> API on Python 3.14 or later</li>
<li>Fixed <code>anyio.Path.copy()</code> and
<code>anyio.Path.copy_into()</code> failing on Python 3.14.0a7</li>
<li>Fixed return annotation of <code>__aexit__</code> on async context
managers. CMs which can suppress exceptions should return
<code>bool</code>, or <code>None</code> otherwise. (<a
href="https://redirect.github.com/agronholm/anyio/pull/913">#913</a>; PR
by <a href="https://github.com/Enegg"><code>@​Enegg</code></a>)</li>
<li>Fixed rollover boundary check in <code>SpooledTemporaryFile</code>
so that rollover only occurs when the buffer size exceeds
<code>max_size</code> (<a
href="https://redirect.github.com/agronholm/anyio/pull/915">#915</a>; PR
by <a href="https://github.com/11kkw"><code>@​11kkw</code></a>)</li>
<li>Migrated testing and documentation dependencies from extras to
dependency groups</li>
<li>Fixed compatibility of <code>anyio.to_interpreter</code> with Python
3.14.0b2 (<a
href="https://redirect.github.com/agronholm/anyio/issues/926">#926</a>;
PR by <a
href="https://github.com/hroncok"><code>@​hroncok</code></a>)</li>
<li>Fixed <code>SyntaxWarning</code> on Python 3.14 about
<code>return</code> in <code>finally</code> (<a
href="https://redirect.github.com/agronholm/anyio/issues/816">#816</a>)</li>
<li>Fixed RunVar name conflicts. RunVar instances with the same name
should not share storage (<a
href="https://redirect.github.com/agronholm/anyio/issues/880">#880</a>;
PR by <a href="https://github.com/vimfu"><code>@​vimfu</code></a>)</li>
<li>Renamed the <code>BrokenWorkerIntepreter</code> exception to
<code>BrokenWorkerInterpreter</code>. The old name is available as a
deprecated alias. (<a
href="https://redirect.github.com/agronholm/anyio/pull/938">#938</a>; PR
by <a
href="https://github.com/ayussh-verma"><code>@​ayussh-verma</code></a>)</li>
<li>Fixed an edge case in <code>CapacityLimiter</code> on asyncio where
a task, waiting to acquire a limiter gets cancelled and is subsequently
granted a token from the limiter, but before the cancellation is
delivered, and then fails to notify the next waiting task (<a
href="https://redirect.github.com/agronholm/anyio/issues/947">#947</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst">anyio's
changelog</a>.</em></p>
<blockquote>
<h1>Version history</h1>
<p>This library adheres to <code>Semantic Versioning 2.0
&lt;http://semver.org/&gt;</code>_.</p>
<p><strong>UNRELEASED</strong></p>
<ul>
<li>Set <code>None</code> as the default type argument for
<code>anyio.abc.TaskStatus</code></li>
</ul>
<p><strong>4.10.0</strong></p>
<ul>
<li>
<p>Added the <code>feed_data()</code> method to the
<code>BufferedByteReceiveStream</code> class, allowing
users to inject data directly into the buffer</p>
</li>
<li>
<p>Added various class methods to wrap existing sockets as listeners or
socket streams:</p>
<ul>
<li><code>SocketListener.from_socket()</code></li>
<li><code>SocketStream.from_socket()</code></li>
<li><code>UNIXSocketStream.from_socket()</code></li>
<li><code>UDPSocket.from_socket()</code></li>
<li><code>ConnectedUDPSocket.from_socket()</code></li>
<li><code>UNIXDatagramSocket.from_socket()</code></li>
<li><code>ConnectedUNIXDatagramSocket.from_socket()</code></li>
</ul>
</li>
<li>
<p>Added a hierarchy of connectable stream classes for transparently
connecting to
various remote or local endpoints for exchanging bytes or objects</p>
</li>
<li>
<p>Added context manager mix-in classes
(<code>anyio.ContextManagerMixin</code> and
<code>anyio.AsyncContextManagerMixin</code>) to help write classes that
embed other context
managers, particularly cancel scopes or task groups
(<code>[#905](agronholm/anyio#905)
&lt;https://github.com/agronholm/anyio/pull/905&gt;</code>_; PR by <a
href="https://github.com/agronholm"><code>@​agronholm</code></a> and
<a
href="https://github.com/tapetersen"><code>@​tapetersen</code></a>)</p>
</li>
<li>
<p>Added the ability to specify the thread name in
<code>start_blocking_portal()</code>
(<code>[#818](agronholm/anyio#818)
&lt;https://github.com/agronholm/anyio/issues/818&gt;</code>_; PR by <a
href="https://github.com/davidbrochart"><code>@​davidbrochart</code></a>)</p>
</li>
<li>
<p>Added <code>anyio.notify_closing</code> to allow waking
<code>anyio.wait_readable</code>
and <code>anyio.wait_writable</code> before closing a socket. Among
other things,
this prevents an OSError on the <code>ProactorEventLoop</code>.
(<code>[#896](agronholm/anyio#896)
&lt;https://github.com/agronholm/anyio/pull/896&gt;</code>_; PR by <a
href="https://github.com/graingert"><code>@​graingert</code></a>)</p>
</li>
<li>
<p>Incorporated several documentation improvements from the EuroPython
2025 sprint
(special thanks to the sprinters: Emmanuel Okedele, Jan Murre, Euxenia
Miruna Goia and
Christoffer Fjord)</p>
</li>
<li>
<p>Added a documentation page explaining why one might want to use
AnyIO's APIs instead
of asyncio's</p>
</li>
<li>
<p>Updated the <code>to_interpreters</code> module to use the public
<code>concurrent.interpreters</code>
API on Python 3.14 or later</p>
</li>
<li>
<p>Fixed <code>anyio.Path.copy()</code> and
<code>anyio.Path.copy_into()</code> failing on Python 3.14.0a7</p>
</li>
<li>
<p>Fixed return annotation of <code>__aexit__</code> on async context
managers. CMs which can
suppress exceptions should return <code>bool</code>, or
<code>None</code> otherwise.
(<code>[#913](agronholm/anyio#913)
&lt;https://github.com/agronholm/anyio/pull/913&gt;</code>_; PR by <a
href="https://github.com/Enegg"><code>@​Enegg</code></a>)</p>
</li>
<li>
<p>Fixed rollover boundary check in <code>SpooledTemporaryFile</code> so
that rollover
only occurs when the buffer size exceeds <code>max_size</code>
(<code>[#915](agronholm/anyio#915)
&lt;https://github.com/agronholm/anyio/pull/915&gt;</code>_; PR by <a
href="https://github.com/11kkw"><code>@​11kkw</code></a>)</p>
</li>
<li>
<p>Migrated testing and documentation dependencies from extras to
dependency groups</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/agronholm/anyio/commit/0cf55b8277128726c8d5720a4fda29ec1ffccfb6"><code>0cf55b8</code></a>
Bumped up the version</li>
<li><a
href="https://github.com/agronholm/anyio/commit/b029df574164e0df7e542fa4fd01abdbb7db7345"><code>b029df5</code></a>
Updated the to_interpreter module to use the public API on Python 3.14
(<a
href="https://redirect.github.com/agronholm/anyio/issues/956">#956</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/01f02cf5ee9a706c89f57ef58c30de3cbf87abb1"><code>01f02cf</code></a>
Incorporated EP2025 sprint feedback and added a new section (<a
href="https://redirect.github.com/agronholm/anyio/issues/955">#955</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/d89648054c8a939fbde1cc2d590aa875b9139aa4"><code>d896480</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/954">#954</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/0282b814c0067b5fa336d339b4bd57ed6e62266c"><code>0282b81</code></a>
Added the BufferedByteReceiveStream.feed_data() method (<a
href="https://redirect.github.com/agronholm/anyio/issues/945">#945</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/19e5477238d37499de42ebedf99c557848479cfb"><code>19e5477</code></a>
Fixed a cancellation edge case for asyncio CapacityLimiter (<a
href="https://redirect.github.com/agronholm/anyio/issues/952">#952</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/4666df3905af92ac02b515e0827ff9510dcba827"><code>4666df3</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/946">#946</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/38c256709dc8d34de57a43faeab72c935e74ad6e"><code>38c2567</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/942">#942</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/3db73acbf7d715bc47fe9fd6d190374afa3132fb"><code>3db73ac</code></a>
Add missing imports for Readcting to cancellation in worker threads
example (...</li>
<li><a
href="https://github.com/agronholm/anyio/commit/2eda004497cc7ab2b8c1ede4d7c4c276f0840fd9"><code>2eda004</code></a>
Added an example on how to use move_on_after() with shielding</li>
<li>Additional commits viewable in <a
href="https://github.com/agronholm/anyio/compare/4.9.0...4.10">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyio&package-manager=pip&previous-version=4.9.0&new-version=4.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
kai687 added a commit to kai687/sphinxawesome-theme that referenced this pull request Aug 19, 2025
[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some
time.

Note: if you make any changes to this PR yourself, they will take
precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps [anyio](https://github.com/agronholm/anyio) from 4.9.0 to 4.10.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/agronholm/anyio/releases">anyio's
releases</a>.</em></p>
<blockquote>
<h2>4.10.0</h2>
<ul>
<li>Added the <code>feed_data()</code> method to the
<code>BufferedByteReceiveStream</code> class, allowing users to inject
data directly into the buffer</li>
<li>Added various class methods to wrap existing sockets as listeners or
socket streams:
<ul>
<li><code>SocketListener.from_socket()</code></li>
<li><code>SocketStream.from_socket()</code></li>
<li><code>UNIXSocketStream.from_socket()</code></li>
<li><code>UDPSocket.from_socket()</code></li>
<li><code>ConnectedUDPSocket.from_socket()</code></li>
<li><code>UNIXDatagramSocket.from_socket()</code></li>
<li><code>ConnectedUNIXDatagramSocket.from_socket()</code></li>
</ul>
</li>
<li>Added a hierarchy of connectable stream classes for transparently
connecting to various remote or local endpoints for exchanging bytes or
objects</li>
<li>Added context manager mix-in classes
(<code>anyio.ContextManagerMixin</code> and
<code>anyio.AsyncContextManagerMixin</code>) to help write classes that
embed other context managers, particularly cancel scopes or task groups
(<a
href="https://redirect.github.com/agronholm/anyio/pull/905">#905</a>; PR
by <a href="https://github.com/agronholm"><code>@​agronholm</code></a>
and <a
href="https://github.com/tapetersen"><code>@​tapetersen</code></a>)</li>
<li>Added the ability to specify the thread name in
<code>start_blocking_portal()</code> (<a
href="https://redirect.github.com/agronholm/anyio/issues/818">#818</a>;
PR by <a
href="https://github.com/davidbrochart"><code>@​davidbrochart</code></a>)</li>
<li>Added <code>anyio.notify_closing</code> to allow waking
<code>anyio.wait_readable</code> and <code>anyio.wait_writable</code>
before closing a socket. Among other things, this prevents an OSError on
the <code>ProactorEventLoop</code>. (<a
href="https://redirect.github.com/agronholm/anyio/pull/896">#896</a>; PR
by <a
href="https://github.com/graingert"><code>@​graingert</code></a>)</li>
<li>Incorporated several documentation improvements from the EuroPython
2025 sprint (special thanks to the sprinters: Emmanuel Okedele, Jan
Murre, Euxenia Miruna Goia and Christoffer Fjord)</li>
<li>Added a documentation page explaining why one might want to use
AnyIO's APIs instead of asyncio's</li>
<li>Updated the <code>to_interpreters</code> module to use the public
<code>concurrent.interpreters</code> API on Python 3.14 or later</li>
<li>Fixed <code>anyio.Path.copy()</code> and
<code>anyio.Path.copy_into()</code> failing on Python 3.14.0a7</li>
<li>Fixed return annotation of <code>__aexit__</code> on async context
managers. CMs which can suppress exceptions should return
<code>bool</code>, or <code>None</code> otherwise. (<a
href="https://redirect.github.com/agronholm/anyio/pull/913">#913</a>; PR
by <a href="https://github.com/Enegg"><code>@​Enegg</code></a>)</li>
<li>Fixed rollover boundary check in <code>SpooledTemporaryFile</code>
so that rollover only occurs when the buffer size exceeds
<code>max_size</code> (<a
href="https://redirect.github.com/agronholm/anyio/pull/915">#915</a>; PR
by <a href="https://github.com/11kkw"><code>@​11kkw</code></a>)</li>
<li>Migrated testing and documentation dependencies from extras to
dependency groups</li>
<li>Fixed compatibility of <code>anyio.to_interpreter</code> with Python
3.14.0b2 (<a
href="https://redirect.github.com/agronholm/anyio/issues/926">#926</a>;
PR by <a
href="https://github.com/hroncok"><code>@​hroncok</code></a>)</li>
<li>Fixed <code>SyntaxWarning</code> on Python 3.14 about
<code>return</code> in <code>finally</code> (<a
href="https://redirect.github.com/agronholm/anyio/issues/816">#816</a>)</li>
<li>Fixed RunVar name conflicts. RunVar instances with the same name
should not share storage (<a
href="https://redirect.github.com/agronholm/anyio/issues/880">#880</a>;
PR by <a href="https://github.com/vimfu"><code>@​vimfu</code></a>)</li>
<li>Renamed the <code>BrokenWorkerIntepreter</code> exception to
<code>BrokenWorkerInterpreter</code>. The old name is available as a
deprecated alias. (<a
href="https://redirect.github.com/agronholm/anyio/pull/938">#938</a>; PR
by <a
href="https://github.com/ayussh-verma"><code>@​ayussh-verma</code></a>)</li>
<li>Fixed an edge case in <code>CapacityLimiter</code> on asyncio where
a task, waiting to acquire a limiter gets cancelled and is subsequently
granted a token from the limiter, but before the cancellation is
delivered, and then fails to notify the next waiting task (<a
href="https://redirect.github.com/agronholm/anyio/issues/947">#947</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst">anyio's
changelog</a>.</em></p>
<blockquote>
<h1>Version history</h1>
<p>This library adheres to <code>Semantic Versioning 2.0
&lt;http://semver.org/&gt;</code>_.</p>
<p><strong>4.10.0</strong></p>
<ul>
<li>
<p>Added the <code>feed_data()</code> method to the
<code>BufferedByteReceiveStream</code> class, allowing
users to inject data directly into the buffer</p>
</li>
<li>
<p>Added various class methods to wrap existing sockets as listeners or
socket streams:</p>
<ul>
<li><code>SocketListener.from_socket()</code></li>
<li><code>SocketStream.from_socket()</code></li>
<li><code>UNIXSocketStream.from_socket()</code></li>
<li><code>UDPSocket.from_socket()</code></li>
<li><code>ConnectedUDPSocket.from_socket()</code></li>
<li><code>UNIXDatagramSocket.from_socket()</code></li>
<li><code>ConnectedUNIXDatagramSocket.from_socket()</code></li>
</ul>
</li>
<li>
<p>Added a hierarchy of connectable stream classes for transparently
connecting to
various remote or local endpoints for exchanging bytes or objects</p>
</li>
<li>
<p>Added context manager mix-in classes
(<code>anyio.ContextManagerMixin</code> and
<code>anyio.AsyncContextManagerMixin</code>) to help write classes that
embed other context
managers, particularly cancel scopes or task groups
(<code>[#905](agronholm/anyio#905)
&lt;https://github.com/agronholm/anyio/pull/905&gt;</code>_; PR by <a
href="https://github.com/agronholm"><code>@​agronholm</code></a> and
<a
href="https://github.com/tapetersen"><code>@​tapetersen</code></a>)</p>
</li>
<li>
<p>Added the ability to specify the thread name in
<code>start_blocking_portal()</code>
(<code>[#818](agronholm/anyio#818)
&lt;https://github.com/agronholm/anyio/issues/818&gt;</code>_; PR by <a
href="https://github.com/davidbrochart"><code>@​davidbrochart</code></a>)</p>
</li>
<li>
<p>Added <code>anyio.notify_closing</code> to allow waking
<code>anyio.wait_readable</code>
and <code>anyio.wait_writable</code> before closing a socket. Among
other things,
this prevents an OSError on the <code>ProactorEventLoop</code>.
(<code>[#896](agronholm/anyio#896)
&lt;https://github.com/agronholm/anyio/pull/896&gt;</code>_; PR by <a
href="https://github.com/graingert"><code>@​graingert</code></a>)</p>
</li>
<li>
<p>Incorporated several documentation improvements from the EuroPython
2025 sprint
(special thanks to the sprinters: Emmanuel Okedele, Jan Murre, Euxenia
Miruna Goia and
Christoffer Fjord)</p>
</li>
<li>
<p>Added a documentation page explaining why one might want to use
AnyIO's APIs instead
of asyncio's</p>
</li>
<li>
<p>Updated the <code>to_interpreters</code> module to use the public
<code>concurrent.interpreters</code>
API on Python 3.14 or later</p>
</li>
<li>
<p>Fixed <code>anyio.Path.copy()</code> and
<code>anyio.Path.copy_into()</code> failing on Python 3.14.0a7</p>
</li>
<li>
<p>Fixed return annotation of <code>__aexit__</code> on async context
managers. CMs which can
suppress exceptions should return <code>bool</code>, or
<code>None</code> otherwise.
(<code>[#913](agronholm/anyio#913)
&lt;https://github.com/agronholm/anyio/pull/913&gt;</code>_; PR by <a
href="https://github.com/Enegg"><code>@​Enegg</code></a>)</p>
</li>
<li>
<p>Fixed rollover boundary check in <code>SpooledTemporaryFile</code> so
that rollover
only occurs when the buffer size exceeds <code>max_size</code>
(<code>[#915](agronholm/anyio#915)
&lt;https://github.com/agronholm/anyio/pull/915&gt;</code>_; PR by <a
href="https://github.com/11kkw"><code>@​11kkw</code></a>)</p>
</li>
<li>
<p>Migrated testing and documentation dependencies from extras to
dependency groups</p>
</li>
<li>
<p>Fixed compatibility of <code>anyio.to_interpreter</code> with Python
3.14.0b2
(<code>[#926](agronholm/anyio#926)
&lt;https://github.com/agronholm/anyio/issues/926&gt;</code>_; PR by <a
href="https://github.com/hroncok"><code>@​hroncok</code></a>)</p>
</li>
<li>
<p>Fixed <code>SyntaxWarning</code> on Python 3.14 about
<code>return</code> in <code>finally</code>
(<code>[#816](agronholm/anyio#816)
&lt;https://github.com/agronholm/anyio/issues/816&gt;</code>_)</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/agronholm/anyio/commit/0cf55b8277128726c8d5720a4fda29ec1ffccfb6"><code>0cf55b8</code></a>
Bumped up the version</li>
<li><a
href="https://github.com/agronholm/anyio/commit/b029df574164e0df7e542fa4fd01abdbb7db7345"><code>b029df5</code></a>
Updated the to_interpreter module to use the public API on Python 3.14
(<a
href="https://redirect.github.com/agronholm/anyio/issues/956">#956</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/01f02cf5ee9a706c89f57ef58c30de3cbf87abb1"><code>01f02cf</code></a>
Incorporated EP2025 sprint feedback and added a new section (<a
href="https://redirect.github.com/agronholm/anyio/issues/955">#955</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/d89648054c8a939fbde1cc2d590aa875b9139aa4"><code>d896480</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/954">#954</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/0282b814c0067b5fa336d339b4bd57ed6e62266c"><code>0282b81</code></a>
Added the BufferedByteReceiveStream.feed_data() method (<a
href="https://redirect.github.com/agronholm/anyio/issues/945">#945</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/19e5477238d37499de42ebedf99c557848479cfb"><code>19e5477</code></a>
Fixed a cancellation edge case for asyncio CapacityLimiter (<a
href="https://redirect.github.com/agronholm/anyio/issues/952">#952</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/4666df3905af92ac02b515e0827ff9510dcba827"><code>4666df3</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/946">#946</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/38c256709dc8d34de57a43faeab72c935e74ad6e"><code>38c2567</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/942">#942</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/3db73acbf7d715bc47fe9fd6d190374afa3132fb"><code>3db73ac</code></a>
Add missing imports for Readcting to cancellation in worker threads
example (...</li>
<li><a
href="https://github.com/agronholm/anyio/commit/2eda004497cc7ab2b8c1ede4d7c4c276f0840fd9"><code>2eda004</code></a>
Added an example on how to use move_on_after() with shielding</li>
<li>Additional commits viewable in <a
href="https://github.com/agronholm/anyio/compare/4.9.0...4.10">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyio&package-manager=uv&previous-version=4.9.0&new-version=4.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kai Welke <kai687@pm.me>
JohnGarbutt pushed a commit to azimuth-cloud/azimuth that referenced this pull request Sep 2, 2025
)

Bumps the pip-updates group with 10 updates in the /api directory:

| Package | From | To |
| --- | --- | --- |
| [anyio](https://github.com/agronholm/anyio) | `4.9.0` | `4.10.0` |
| [certifi](https://github.com/certifi/python-certifi) | `2025.7.9` |
`2025.8.3` |
| [charset-normalizer](https://github.com/jawah/charset_normalizer) |
`3.4.2` | `3.4.3` |
| [cryptography](https://github.com/pyca/cryptography) | `45.0.5` |
`45.0.6` |
| [djangorestframework](https://github.com/encode/django-rest-framework)
| `3.16.0` | `3.16.1` |
| [docutils](https://github.com/rtfd/recommonmark) | `0.21.2` | `0.22` |
| [jsonschema](https://github.com/python-jsonschema/jsonschema) |
`4.24.0` | `4.25.1` |
| [requests](https://github.com/psf/requests) | `2.32.4` | `2.32.5` |
| [rpds-py](https://github.com/crate-py/rpds) | `0.26.0` | `0.27.0` |
| [typing-extensions](https://github.com/python/typing_extensions) |
`4.14.1` | `4.15.0` |


Updates `anyio` from 4.9.0 to 4.10.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/agronholm/anyio/releases">anyio's
releases</a>.</em></p>
<blockquote>
<h2>4.10.0</h2>
<ul>
<li>Added the <code>feed_data()</code> method to the
<code>BufferedByteReceiveStream</code> class, allowing users to inject
data directly into the buffer</li>
<li>Added various class methods to wrap existing sockets as listeners or
socket streams:
<ul>
<li><code>SocketListener.from_socket()</code></li>
<li><code>SocketStream.from_socket()</code></li>
<li><code>UNIXSocketStream.from_socket()</code></li>
<li><code>UDPSocket.from_socket()</code></li>
<li><code>ConnectedUDPSocket.from_socket()</code></li>
<li><code>UNIXDatagramSocket.from_socket()</code></li>
<li><code>ConnectedUNIXDatagramSocket.from_socket()</code></li>
</ul>
</li>
<li>Added a hierarchy of connectable stream classes for transparently
connecting to various remote or local endpoints for exchanging bytes or
objects</li>
<li>Added context manager mix-in classes
(<code>anyio.ContextManagerMixin</code> and
<code>anyio.AsyncContextManagerMixin</code>) to help write classes that
embed other context managers, particularly cancel scopes or task groups
(<a
href="https://redirect.github.com/agronholm/anyio/pull/905">#905</a>; PR
by <a href="https://github.com/agronholm"><code>@​agronholm</code></a>
and <a
href="https://github.com/tapetersen"><code>@​tapetersen</code></a>)</li>
<li>Added the ability to specify the thread name in
<code>start_blocking_portal()</code> (<a
href="https://redirect.github.com/agronholm/anyio/issues/818">#818</a>;
PR by <a
href="https://github.com/davidbrochart"><code>@​davidbrochart</code></a>)</li>
<li>Added <code>anyio.notify_closing</code> to allow waking
<code>anyio.wait_readable</code> and <code>anyio.wait_writable</code>
before closing a socket. Among other things, this prevents an OSError on
the <code>ProactorEventLoop</code>. (<a
href="https://redirect.github.com/agronholm/anyio/pull/896">#896</a>; PR
by <a
href="https://github.com/graingert"><code>@​graingert</code></a>)</li>
<li>Incorporated several documentation improvements from the EuroPython
2025 sprint (special thanks to the sprinters: Emmanuel Okedele, Jan
Murre, Euxenia Miruna Goia and Christoffer Fjord)</li>
<li>Added a documentation page explaining why one might want to use
AnyIO's APIs instead of asyncio's</li>
<li>Updated the <code>to_interpreters</code> module to use the public
<code>concurrent.interpreters</code> API on Python 3.14 or later</li>
<li>Fixed <code>anyio.Path.copy()</code> and
<code>anyio.Path.copy_into()</code> failing on Python 3.14.0a7</li>
<li>Fixed return annotation of <code>__aexit__</code> on async context
managers. CMs which can suppress exceptions should return
<code>bool</code>, or <code>None</code> otherwise. (<a
href="https://redirect.github.com/agronholm/anyio/pull/913">#913</a>; PR
by <a href="https://github.com/Enegg"><code>@​Enegg</code></a>)</li>
<li>Fixed rollover boundary check in <code>SpooledTemporaryFile</code>
so that rollover only occurs when the buffer size exceeds
<code>max_size</code> (<a
href="https://redirect.github.com/agronholm/anyio/pull/915">#915</a>; PR
by <a href="https://github.com/11kkw"><code>@​11kkw</code></a>)</li>
<li>Migrated testing and documentation dependencies from extras to
dependency groups</li>
<li>Fixed compatibility of <code>anyio.to_interpreter</code> with Python
3.14.0b2 (<a
href="https://redirect.github.com/agronholm/anyio/issues/926">#926</a>;
PR by <a
href="https://github.com/hroncok"><code>@​hroncok</code></a>)</li>
<li>Fixed <code>SyntaxWarning</code> on Python 3.14 about
<code>return</code> in <code>finally</code> (<a
href="https://redirect.github.com/agronholm/anyio/issues/816">#816</a>)</li>
<li>Fixed RunVar name conflicts. RunVar instances with the same name
should not share storage (<a
href="https://redirect.github.com/agronholm/anyio/issues/880">#880</a>;
PR by <a href="https://github.com/vimfu"><code>@​vimfu</code></a>)</li>
<li>Renamed the <code>BrokenWorkerIntepreter</code> exception to
<code>BrokenWorkerInterpreter</code>. The old name is available as a
deprecated alias. (<a
href="https://redirect.github.com/agronholm/anyio/pull/938">#938</a>; PR
by <a
href="https://github.com/ayussh-verma"><code>@​ayussh-verma</code></a>)</li>
<li>Fixed an edge case in <code>CapacityLimiter</code> on asyncio where
a task, waiting to acquire a limiter gets cancelled and is subsequently
granted a token from the limiter, but before the cancellation is
delivered, and then fails to notify the next waiting task (<a
href="https://redirect.github.com/agronholm/anyio/issues/947">#947</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst">anyio's
changelog</a>.</em></p>
<blockquote>
<h1>Version history</h1>
<p>This library adheres to <code>Semantic Versioning 2.0
&lt;http://semver.org/&gt;</code>_.</p>
<p><strong>UNRELEASED</strong></p>
<ul>
<li>Set <code>None</code> as the default type argument for
<code>anyio.abc.TaskStatus</code></li>
</ul>
<p><strong>4.10.0</strong></p>
<ul>
<li>
<p>Added the <code>feed_data()</code> method to the
<code>BufferedByteReceiveStream</code> class, allowing
users to inject data directly into the buffer</p>
</li>
<li>
<p>Added various class methods to wrap existing sockets as listeners or
socket streams:</p>
<ul>
<li><code>SocketListener.from_socket()</code></li>
<li><code>SocketStream.from_socket()</code></li>
<li><code>UNIXSocketStream.from_socket()</code></li>
<li><code>UDPSocket.from_socket()</code></li>
<li><code>ConnectedUDPSocket.from_socket()</code></li>
<li><code>UNIXDatagramSocket.from_socket()</code></li>
<li><code>ConnectedUNIXDatagramSocket.from_socket()</code></li>
</ul>
</li>
<li>
<p>Added a hierarchy of connectable stream classes for transparently
connecting to
various remote or local endpoints for exchanging bytes or objects</p>
</li>
<li>
<p>Added context manager mix-in classes
(<code>anyio.ContextManagerMixin</code> and
<code>anyio.AsyncContextManagerMixin</code>) to help write classes that
embed other context
managers, particularly cancel scopes or task groups
(<code>[#905](agronholm/anyio#905)
&lt;https://github.com/agronholm/anyio/pull/905&gt;</code>_; PR by <a
href="https://github.com/agronholm"><code>@​agronholm</code></a> and
<a
href="https://github.com/tapetersen"><code>@​tapetersen</code></a>)</p>
</li>
<li>
<p>Added the ability to specify the thread name in
<code>start_blocking_portal()</code>
(<code>[#818](agronholm/anyio#818)
&lt;https://github.com/agronholm/anyio/issues/818&gt;</code>_; PR by <a
href="https://github.com/davidbrochart"><code>@​davidbrochart</code></a>)</p>
</li>
<li>
<p>Added <code>anyio.notify_closing</code> to allow waking
<code>anyio.wait_readable</code>
and <code>anyio.wait_writable</code> before closing a socket. Among
other things,
this prevents an OSError on the <code>ProactorEventLoop</code>.
(<code>[#896](agronholm/anyio#896)
&lt;https://github.com/agronholm/anyio/pull/896&gt;</code>_; PR by <a
href="https://github.com/graingert"><code>@​graingert</code></a>)</p>
</li>
<li>
<p>Incorporated several documentation improvements from the EuroPython
2025 sprint
(special thanks to the sprinters: Emmanuel Okedele, Jan Murre, Euxenia
Miruna Goia and
Christoffer Fjord)</p>
</li>
<li>
<p>Added a documentation page explaining why one might want to use
AnyIO's APIs instead
of asyncio's</p>
</li>
<li>
<p>Updated the <code>to_interpreters</code> module to use the public
<code>concurrent.interpreters</code>
API on Python 3.14 or later</p>
</li>
<li>
<p>Fixed <code>anyio.Path.copy()</code> and
<code>anyio.Path.copy_into()</code> failing on Python 3.14.0a7</p>
</li>
<li>
<p>Fixed return annotation of <code>__aexit__</code> on async context
managers. CMs which can
suppress exceptions should return <code>bool</code>, or
<code>None</code> otherwise.
(<code>[#913](agronholm/anyio#913)
&lt;https://github.com/agronholm/anyio/pull/913&gt;</code>_; PR by <a
href="https://github.com/Enegg"><code>@​Enegg</code></a>)</p>
</li>
<li>
<p>Fixed rollover boundary check in <code>SpooledTemporaryFile</code> so
that rollover
only occurs when the buffer size exceeds <code>max_size</code>
(<code>[#915](agronholm/anyio#915)
&lt;https://github.com/agronholm/anyio/pull/915&gt;</code>_; PR by <a
href="https://github.com/11kkw"><code>@​11kkw</code></a>)</p>
</li>
<li>
<p>Migrated testing and documentation dependencies from extras to
dependency groups</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/agronholm/anyio/commit/0cf55b8277128726c8d5720a4fda29ec1ffccfb6"><code>0cf55b8</code></a>
Bumped up the version</li>
<li><a
href="https://github.com/agronholm/anyio/commit/b029df574164e0df7e542fa4fd01abdbb7db7345"><code>b029df5</code></a>
Updated the to_interpreter module to use the public API on Python 3.14
(<a
href="https://redirect.github.com/agronholm/anyio/issues/956">#956</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/01f02cf5ee9a706c89f57ef58c30de3cbf87abb1"><code>01f02cf</code></a>
Incorporated EP2025 sprint feedback and added a new section (<a
href="https://redirect.github.com/agronholm/anyio/issues/955">#955</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/d89648054c8a939fbde1cc2d590aa875b9139aa4"><code>d896480</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/954">#954</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/0282b814c0067b5fa336d339b4bd57ed6e62266c"><code>0282b81</code></a>
Added the BufferedByteReceiveStream.feed_data() method (<a
href="https://redirect.github.com/agronholm/anyio/issues/945">#945</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/19e5477238d37499de42ebedf99c557848479cfb"><code>19e5477</code></a>
Fixed a cancellation edge case for asyncio CapacityLimiter (<a
href="https://redirect.github.com/agronholm/anyio/issues/952">#952</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/4666df3905af92ac02b515e0827ff9510dcba827"><code>4666df3</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/946">#946</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/38c256709dc8d34de57a43faeab72c935e74ad6e"><code>38c2567</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/942">#942</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/3db73acbf7d715bc47fe9fd6d190374afa3132fb"><code>3db73ac</code></a>
Add missing imports for Readcting to cancellation in worker threads
example (...</li>
<li><a
href="https://github.com/agronholm/anyio/commit/2eda004497cc7ab2b8c1ede4d7c4c276f0840fd9"><code>2eda004</code></a>
Added an example on how to use move_on_after() with shielding</li>
<li>Additional commits viewable in <a
href="https://github.com/agronholm/anyio/compare/4.9.0...4.10">compare
view</a></li>
</ul>
</details>
<br />

Updates `certifi` from 2025.7.9 to 2025.8.3
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/certifi/python-certifi/commit/a97d9ad8f87c382378dddc0b0b33b9770932404e"><code>a97d9ad</code></a>
2025.08.03 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/362">#362</a>)</li>
<li><a
href="https://github.com/certifi/python-certifi/commit/ddd90c6d726f174c1e5820379dac0f2a8fc723a1"><code>ddd90c6</code></a>
2025.07.14 (<a
href="https://redirect.github.com/certifi/python-certifi/issues/359">#359</a>)</li>
<li>See full diff in <a
href="https://github.com/certifi/python-certifi/compare/2025.07.09...2025.08.03">compare
view</a></li>
</ul>
</details>
<br />

Updates `charset-normalizer` from 3.4.2 to 3.4.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jawah/charset_normalizer/releases">charset-normalizer's
releases</a>.</em></p>
<blockquote>
<h2>Version 3.4.3</h2>
<h2><a
href="https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.3">3.4.3</a>
(2025-08-09)</h2>
<h3>Changed</h3>
<ul>
<li>mypy(c) is no longer a required dependency at build time if
<code>CHARSET_NORMALIZER_USE_MYPYC</code> isn't set to <code>1</code>.
(<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/595">#595</a>)
(<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/583">#583</a>)</li>
<li>automatically lower confidence on small bytes samples that are not
Unicode in <code>detect</code> output legacy function. (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/391">#391</a>)</li>
</ul>
<h3>Added</h3>
<ul>
<li>Custom build backend to overcome inability to mark mypy as an
optional dependency in the build phase.</li>
<li>Support for Python 3.14</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>sdist archive contained useless directories.</li>
<li>automatically fallback on valid UTF-16 or UTF-32 even if the md says
it's noisy. (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/633">#633</a>)</li>
</ul>
<h3>Misc</h3>
<ul>
<li>SBOM are automatically published to the relevant GitHub release to
comply with regulatory changes.
Each published wheel comes with its SBOM. We choose CycloneDX as the
format.</li>
<li>Prebuilt optimized wheel are no longer distributed by default for
CPython 3.7 due to a change in cibuildwheel.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md">charset-normalizer's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/Ousret/charset_normalizer/compare/3.4.2...3.4.3">3.4.3</a>
(2025-08-09)</h2>
<h3>Changed</h3>
<ul>
<li>mypy(c) is no longer a required dependency at build time if
<code>CHARSET_NORMALIZER_USE_MYPYC</code> isn't set to <code>1</code>.
(<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/595">#595</a>)
(<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/583">#583</a>)</li>
<li>automatically lower confidence on small bytes samples that are not
Unicode in <code>detect</code> output legacy function. (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/391">#391</a>)</li>
</ul>
<h3>Added</h3>
<ul>
<li>Custom build backend to overcome inability to mark mypy as an
optional dependency in the build phase.</li>
<li>Support for Python 3.14</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>sdist archive contained useless directories.</li>
<li>automatically fallback on valid UTF-16 or UTF-32 even if the md says
it's noisy. (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/633">#633</a>)</li>
</ul>
<h3>Misc</h3>
<ul>
<li>SBOM are automatically published to the relevant GitHub release to
comply with regulatory changes.
Each published wheel comes with its SBOM. We choose CycloneDX as the
format.</li>
<li>Prebuilt optimized wheel are no longer distributed by default for
CPython 3.7 due to a change in cibuildwheel.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/46f662da20edeced520c8819965a37eefbbc85de"><code>46f662d</code></a>
Release 3.4.3 (<a
href="https://redirect.github.com/jawah/charset_normalizer/issues/638">#638</a>)</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/1a059b26c155dd5fca408b0e0145c930633c4bf2"><code>1a059b2</code></a>
:wrench: skip building on freethreaded as we're not confident it is
stable</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/2275e3d3fea2bf6232661f1e9c21e7b81428e2a6"><code>2275e3d</code></a>
:pencil: final note in CHANGELOG.md</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/c96acdfdb34b5b1deb6f70803167bae89b209832"><code>c96acdf</code></a>
:pencil: update release date on CHANGELOG.md</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/43e5460518003df24ad1a3e7b5c0a34445395012"><code>43e5460</code></a>
:pencil: update README.md</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/f277074e281a070cfa64fc91c46f8291043fc37c"><code>f277074</code></a>
:wrench: automatically lower confidence on small bytes str on non
Unicode res...</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/15ae2411072b5e026f2c9d6ec81b55f75af7dcf2"><code>15ae241</code></a>
:bug: automatically fallback on valid UTF-16 or UTF-32 even if the md
says it...</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/37397c1799a05454ab42fbbc94a7643cdb277924"><code>37397c1</code></a>
:wrench: enable 3.14 in nox test_mypyc session</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/cb82537ecad195f48383b92e330351cea1fc6bc8"><code>cb82537</code></a>
:rewind: revert license due to compat python 3.7 issue setuptools</li>
<li><a
href="https://github.com/jawah/charset_normalizer/commit/6a2efeb4c6e205964b61008b0c36ddf88c321543"><code>6a2efeb</code></a>
:art: fix linter errors</li>
<li>Additional commits viewable in <a
href="https://github.com/jawah/charset_normalizer/compare/3.4.2...3.4.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `cryptography` from 45.0.5 to 45.0.6
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst">cryptography's
changelog</a>.</em></p>
<blockquote>
<p>45.0.6 - 2025-08-05</p>
<pre><code>
* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL
3.5.2.
<p>.. _v45-0-5:<br />
</code></pre></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pyca/cryptography/commit/66198c23c97c9594d64540e5a866e4b4121aec2d"><code>66198c2</code></a>
Bump for release (<a
href="https://redirect.github.com/pyca/cryptography/issues/13249">#13249</a>)</li>
<li>See full diff in <a
href="https://github.com/pyca/cryptography/compare/45.0.5...45.0.6">compare
view</a></li>
</ul>
</details>
<br />

Updates `djangorestframework` from 3.16.0 to 3.16.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/encode/django-rest-framework/releases">djangorestframework's
releases</a>.</em></p>
<blockquote>
<h2>v3.16.1</h2>
<p>This release fixes a few bugs, clean-up some old code paths for
unsupported Python versions and improve translations.</p>
<h2>Minor changes</h2>
<ul>
<li>Cleanup optional <code>backports.zoneinfo</code> dependency and
conditions on unsupported Python 3.8 and lower in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9681">#9681</a>.
Python versions prior to 3.9 were already unsupported so this isn't
considered as a breaking change.</li>
</ul>
<h2>Bug fixes</h2>
<ul>
<li>Fix regression in <code>unique_together</code> validation with
<code>SerializerMethodField</code> in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9712">#9712</a></li>
<li>Fix <code>UniqueTogetherValidator</code> to handle fields with
<code>source</code> attribute in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9688">#9688</a></li>
<li>Drop HTML line breaks on long headers in browsable API in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9438">#9438</a></li>
</ul>
<h2>Translations</h2>
<ul>
<li>Add Kazakh locale support in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9713">#9713</a></li>
<li>Update translations for Korean translations in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9571">#9571</a></li>
<li>Update German translations in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9676">#9676</a></li>
<li>Update Chinese translations in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9675">#9675</a></li>
<li>Update Arabic translations-sal in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9595">#9595</a></li>
<li>Update Persian translations in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9576">#9576</a></li>
<li>Update Spanish translations in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9701">#9701</a></li>
<li>Update Turkish Translations in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9749">#9749</a></li>
<li>Fix some typos in Brazilian Portuguese translations in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9673">#9673</a></li>
</ul>
<h2>Documentation</h2>
<ul>
<li>Removed reference to GitHub Issues and Discussions in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9660">#9660</a></li>
<li>Add <code>drf-restwind</code> and update outdated images in
<code>browsable-api.md</code> in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9680">#9680</a></li>
<li>Updated funding page to represent current scope in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9686">#9686</a></li>
<li>Fix broken Heroku JSON Schema link in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9693">#9693</a></li>
<li>Update Django documentation links to use stable version in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9698">#9698</a></li>
<li>Expand docs on unique constraints cause 'required=True' in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9725">#9725</a></li>
<li>Revert extension back from
<code>djangorestframework-guardian2</code> to
<code>djangorestframework-guardian</code> in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9734">#9734</a></li>
<li>Add note to tutorial about required <code>request</code> in
serializer context when using <code>HyperlinkedModelSerializer</code> in
<a
href="https://redirect.github.com/encode/django-rest-framework/pull/9732">#9732</a></li>
</ul>
<h2>Internal changes</h2>
<ul>
<li>Update GitHub Actions to use Ubuntu 24.04 for testing in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9677">#9677</a></li>
<li>Update test matrix to use Django 5.2 stable version in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9679">#9679</a></li>
<li>Add <code>pyupgrade</code> to <code>pre-commit</code> hooks in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9682">#9682</a></li>
<li>Fix test with Django 5 when <code>pytz</code> is available in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9715">#9715</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/araggohnxd"><code>@​araggohnxd</code></a> made
their first contribution in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9673">#9673</a></li>
<li><a href="https://github.com/mbeijen"><code>@​mbeijen</code></a> made
their first contribution in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9660">#9660</a></li>
<li><a
href="https://github.com/stefan6419846"><code>@​stefan6419846</code></a>
made their first contribution in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9676">#9676</a></li>
<li><a
href="https://github.com/ren000thomas"><code>@​ren000thomas</code></a>
made their first contribution in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9675">#9675</a></li>
<li><a href="https://github.com/ulgens"><code>@​ulgens</code></a> made
their first contribution in <a
href="https://redirect.github.com/encode/django-rest-framework/pull/9682">#9682</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/encode/django-rest-framework/commit/de018df2aaacb1d2d947c0cfbfaa6d08fb50557d"><code>de018df</code></a>
Prepare 3.16.1 release (<a
href="https://redirect.github.com/encode/django-rest-framework/issues/9752">#9752</a>)</li>
<li><a
href="https://github.com/encode/django-rest-framework/commit/a7d050f5b3388ed9dc69c7770fdbd9654d4639ae"><code>a7d050f</code></a>
Turkish Translation updates (<a
href="https://redirect.github.com/encode/django-rest-framework/issues/9749">#9749</a>)</li>
<li><a
href="https://github.com/encode/django-rest-framework/commit/853969c69c815be69513c2f63a41285858a45352"><code>853969c</code></a>
Fix test with Django 5 when pytz is available (<a
href="https://redirect.github.com/encode/django-rest-framework/issues/9715">#9715</a>)</li>
<li><a
href="https://github.com/encode/django-rest-framework/commit/2ae8c117dae5d7912760492a1df397e2fcd8c7a4"><code>2ae8c11</code></a>
Add note to tutorial about required request in serializer context when
using ...</li>
<li><a
href="https://github.com/encode/django-rest-framework/commit/70e54f45add6a96f92bbadbcff30fc211f2ce0c3"><code>70e54f4</code></a>
Revert docs back to djangorestframework-guardian (<a
href="https://redirect.github.com/encode/django-rest-framework/issues/9734">#9734</a>)</li>
<li><a
href="https://github.com/encode/django-rest-framework/commit/30384947053b1f2b2c9e82cafd1da934d3442a61"><code>3038494</code></a>
Document that unique constraints cause <code>required=True</code> in
ModelSerializer (<a
href="https://redirect.github.com/encode/django-rest-framework/issues/9">#9</a>...</li>
<li><a
href="https://github.com/encode/django-rest-framework/commit/4bb46c2949fc67a1f8e74c43776833d81df471ed"><code>4bb46c2</code></a>
Add Kazakh(kk) locale support (<a
href="https://redirect.github.com/encode/django-rest-framework/issues/9713">#9713</a>)</li>
<li><a
href="https://github.com/encode/django-rest-framework/commit/e454758fb6edf1dcf5aa5417a388b940c871469c"><code>e454758</code></a>
Fix regression in unique_together validation with SerializerMethodField
(<a
href="https://redirect.github.com/encode/django-rest-framework/issues/9712">#9712</a>)</li>
<li><a
href="https://github.com/encode/django-rest-framework/commit/33d59fefaa5af04f4bed9312239eb1e5e6def2a2"><code>33d59fe</code></a>
Update Spanish translations (<a
href="https://redirect.github.com/encode/django-rest-framework/issues/9701">#9701</a>)</li>
<li><a
href="https://github.com/encode/django-rest-framework/commit/c0202a0aa5cbaf8573458b932878dfd5044c93ab"><code>c0202a0</code></a>
Update Django documentation links to use stable version (<a
href="https://redirect.github.com/encode/django-rest-framework/issues/9698">#9698</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/encode/django-rest-framework/compare/3.16.0...3.16.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `docutils` from 0.21.2 to 0.22
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/rtfd/recommonmark/commits">compare
view</a></li>
</ul>
</details>
<br />

Updates `jsonschema` from 4.24.0 to 4.25.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/python-jsonschema/jsonschema/releases">jsonschema's
releases</a>.</em></p>
<blockquote>
<h2>v4.25.1</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Fix <code>Validator</code> protocol init to match runtime by <a
href="https://github.com/sirosen"><code>@​sirosen</code></a> in <a
href="https://redirect.github.com/python-jsonschema/jsonschema/pull/1396">python-jsonschema/jsonschema#1396</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1">https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.25.1</a></p>
<h2>v4.25.0</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Add support for the <code>iri</code> and <code>iri-reference</code>
formats to the <code>format-nongpl</code> extra by <a
href="https://github.com/jkowalleck"><code>@​jkowalleck</code></a> in <a
href="https://redirect.github.com/python-jsonschema/jsonschema/pull/1388">python-jsonschema/jsonschema#1388</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/jkowalleck"><code>@​jkowalleck</code></a> made
their first contribution in <a
href="https://redirect.github.com/python-jsonschema/jsonschema/pull/1388">python-jsonschema/jsonschema#1388</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/python-jsonschema/jsonschema/compare/v4.24.1...v4.25.0">https://github.com/python-jsonschema/jsonschema/compare/v4.24.1...v4.25.0</a></p>
<h2>v4.24.1</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Unambiguously quote and escape properties in JSON path rendering by
<a href="https://github.com/kurtmckee"><code>@​kurtmckee</code></a> in
<a
href="https://redirect.github.com/python-jsonschema/jsonschema/pull/1390">python-jsonschema/jsonschema#1390</a></li>
<li>Drop python&lt;3.9 backports by <a
href="https://github.com/hackowitz-af"><code>@​hackowitz-af</code></a>
in <a
href="https://redirect.github.com/python-jsonschema/jsonschema/pull/1367">python-jsonschema/jsonschema#1367</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/hackowitz-af"><code>@​hackowitz-af</code></a>
made their first contribution in <a
href="https://redirect.github.com/python-jsonschema/jsonschema/pull/1367">python-jsonschema/jsonschema#1367</a></li>
<li><a href="https://github.com/kurtmckee"><code>@​kurtmckee</code></a>
made their first contribution in <a
href="https://redirect.github.com/python-jsonschema/jsonschema/pull/1390">python-jsonschema/jsonschema#1390</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/python-jsonschema/jsonschema/compare/v4.24.0...v4.24.1">https://github.com/python-jsonschema/jsonschema/compare/v4.24.0...v4.24.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst">jsonschema's
changelog</a>.</em></p>
<blockquote>
<h1>v4.25.1</h1>
<ul>
<li>Fix an incorrect required argument in the <code>Validator</code>
protocol's type annotations (<a
href="https://redirect.github.com/python-jsonschema/jsonschema/issues/1396">#1396</a>).</li>
</ul>
<h1>v4.25.0</h1>
<ul>
<li>Add support for the <code>iri</code> and <code>iri-reference</code>
formats to the <code>format-nongpl</code> extra via the MIT-licensed
<code>rfc3987-syntax</code>.
They were alread supported by the <code>format</code> extra. (<a
href="https://redirect.github.com/python-jsonschema/jsonschema/issues/1388">#1388</a>).</li>
</ul>
<h1>v4.24.1</h1>
<ul>
<li>Properly escape segments in <code>ValidationError.json_path</code>
(<a
href="https://redirect.github.com/python-jsonschema/jsonschema/issues/139">#139</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/331c38425519b69118d22ebe467ad230fb83a010"><code>331c384</code></a>
Add the fix to the changelog.</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/c1ec0a645e913e83de95995f6efbbd358676abf6"><code>c1ec0a6</code></a>
Merge pull request <a
href="https://redirect.github.com/python-jsonschema/jsonschema/issues/1398">#1398</a>
from python-jsonschema/dependabot/github_actions/ast...</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/8e7d594faff13f8f663b306a0d86bea0ce5de6cb"><code>8e7d594</code></a>
Merge pull request <a
href="https://redirect.github.com/python-jsonschema/jsonschema/issues/1399">#1399</a>
from python-jsonschema/dependabot/github_actions/act...</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/460f4fae42664773160f56ccc843a4fcea34f7cf"><code>460f4fa</code></a>
Merge pull request <a
href="https://redirect.github.com/python-jsonschema/jsonschema/issues/1396">#1396</a>
from sirosen/improve-protocol-init-signature</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/1e58409b71a9696b7bf9938ae8a3a48ef95ab29e"><code>1e58409</code></a>
[pre-commit.ci] auto fixes from pre-commit.com hooks</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/64bc2171624ef201bdbf35e47780348ce30935c5"><code>64bc217</code></a>
Add a typing test for the Validator protocol</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/6c25741bff889477680f9b0d1aa967ae35c38f43"><code>6c25741</code></a>
Bump actions/checkout from 4 to 5</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/bf603d59117f840916709fc87c6625df43d1fe72"><code>bf603d5</code></a>
Bump astral-sh/setup-uv from 6.4.3 to 6.5.0</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/a916d8f8253baa11bacc60f0868f0bab1e42d526"><code>a916d8f</code></a>
Fix <code>Validator</code> protocol init to match runtime</li>
<li><a
href="https://github.com/python-jsonschema/jsonschema/commit/de60f18bd97395a52a11b561eb62963e0ffe9e71"><code>de60f18</code></a>
Merge pull request <a
href="https://redirect.github.com/python-jsonschema/jsonschema/issues/1397">#1397</a>
from python-jsonschema/pre-commit-ci-update-config</li>
<li>Additional commits viewable in <a
href="https://github.com/python-jsonschema/jsonschema/compare/v4.24.0...v4.25.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `requests` from 2.32.4 to 2.32.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/psf/requests/releases">requests's
releases</a>.</em></p>
<blockquote>
<h2>v2.32.5</h2>
<h2>2.32.5 (2025-08-18)</h2>
<p><strong>Bugfixes</strong></p>
<ul>
<li>The SSLContext caching feature originally introduced in 2.32.0 has
created
a new class of issues in Requests that have had negative impact across a
number
of use cases. The Requests team has decided to revert this feature as
long term
maintenance of it is proving to be unsustainable in its current
iteration.</li>
</ul>
<p><strong>Deprecations</strong></p>
<ul>
<li>Added support for Python 3.14.</li>
<li>Dropped support for Python 3.8 following its end of support.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/psf/requests/blob/main/HISTORY.md">requests's
changelog</a>.</em></p>
<blockquote>
<h2>2.32.5 (2025-08-18)</h2>
<p><strong>Bugfixes</strong></p>
<ul>
<li>The SSLContext caching feature originally introduced in 2.32.0 has
created
a new class of issues in Requests that have had negative impact across a
number
of use cases. The Requests team has decided to revert this feature as
long term
maintenance of it is proving to be unsustainable in its current
iteration.</li>
</ul>
<p><strong>Deprecations</strong></p>
<ul>
<li>Added support for Python 3.14.</li>
<li>Dropped support for Python 3.8 following its end of support.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741"><code>b25c87d</code></a>
v2.32.5</li>
<li><a
href="https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a"><code>131e506</code></a>
Merge pull request <a
href="https://redirect.github.com/psf/requests/issues/7010">#7010</a>
from psf/dependabot/github_actions/actions/checkout-...</li>
<li><a
href="https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90"><code>b336cb2</code></a>
Bump actions/checkout from 4.2.0 to 5.0.0</li>
<li><a
href="https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a"><code>46e939b</code></a>
Update publish workflow to use <code>artifact-id</code> instead of
<code>name</code></li>
<li><a
href="https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4"><code>4b9c546</code></a>
Merge pull request <a
href="https://redirect.github.com/psf/requests/issues/6999">#6999</a>
from psf/dependabot/github_actions/step-security/har...</li>
<li><a
href="https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6"><code>7618dbe</code></a>
Bump step-security/harden-runner from 2.12.0 to 2.13.0</li>
<li><a
href="https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446"><code>2edca11</code></a>
Add support for Python 3.14 and drop support for Python 3.8 (<a
href="https://redirect.github.com/psf/requests/issues/6993">#6993</a>)</li>
<li><a
href="https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00"><code>fec96cd</code></a>
Update Makefile rules (<a
href="https://redirect.github.com/psf/requests/issues/6996">#6996</a>)</li>
<li><a
href="https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7"><code>d58d8aa</code></a>
docs: clarify timeout parameter uses seconds in Session.request (<a
href="https://redirect.github.com/psf/requests/issues/6994">#6994</a>)</li>
<li><a
href="https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305"><code>91a3eab</code></a>
Bump github/codeql-action from 3.28.5 to 3.29.0</li>
<li>Additional commits viewable in <a
href="https://github.com/psf/requests/compare/v2.32.4...v2.32.5">compare
view</a></li>
</ul>
</details>
<br />

Updates `rpds-py` from 0.26.0 to 0.27.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/crate-py/rpds/releases">rpds-py's
releases</a>.</em></p>
<blockquote>
<h2>v0.27.0</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Allow packaging of wheels for riscv64 architecture by <a
href="https://github.com/ffgan"><code>@​ffgan</code></a> in <a
href="https://redirect.github.com/crate-py/rpds/pull/150">crate-py/rpds#150</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/ffgan"><code>@​ffgan</code></a> made
their first contribution in <a
href="https://redirect.github.com/crate-py/rpds/pull/150">crate-py/rpds#150</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/crate-py/rpds/compare/v0.26.0...v0.27.0">https://github.com/crate-py/rpds/compare/v0.26.0...v0.27.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/crate-py/rpds/commit/c7cd37d2a2def95fe6d5c36aaf2a87feb6280f89"><code>c7cd37d</code></a>
Tag a release for RISC</li>
<li><a
href="https://github.com/crate-py/rpds/commit/7adac992a67fdf323c78cdf96a3f83745157e26f"><code>7adac99</code></a>
Merge pull request <a
href="https://redirect.github.com/crate-py/rpds/issues/150">#150</a>
from ffgan/feature/allow_riscv_package</li>
<li><a
href="https://github.com/crate-py/rpds/commit/439ad44d249008a927d6528223387977cb9ac745"><code>439ad44</code></a>
fix format error</li>
<li><a
href="https://github.com/crate-py/rpds/commit/2091f272bd232fd292c34dc56766c9ffe3577964"><code>2091f27</code></a>
downgrade riscv64 manylinux version</li>
<li><a
href="https://github.com/crate-py/rpds/commit/29a539fb5b03936546db0867059594f47dc2fa08"><code>29a539f</code></a>
Merge branch 'crate-py:main' into feature/allow_riscv_package</li>
<li><a
href="https://github.com/crate-py/rpds/commit/7546f2d8c26d85c55412d18ff3aef2792d41e8ed"><code>7546f2d</code></a>
Allow packaging of wheels for riscv64 architecture</li>
<li><a
href="https://github.com/crate-py/rpds/commit/8ede3f474b438c90c66e9317d589aadb97935182"><code>8ede3f4</code></a>
Merge pull request <a
href="https://redirect.github.com/crate-py/rpds/issues/149">#149</a>
from crate-py/dependabot/github_actions/github/codeql...</li>
<li><a
href="https://github.com/crate-py/rpds/commit/0840694707b02fdcf782ddb9db67c769fbbf6f25"><code>0840694</code></a>
Merge pull request <a
href="https://redirect.github.com/crate-py/rpds/issues/148">#148</a>
from crate-py/dependabot/github_actions/astral-sh/set...</li>
<li><a
href="https://github.com/crate-py/rpds/commit/725aabe89862cb1e0449c072c81bdcf046d83ca8"><code>725aabe</code></a>
Bump github/codeql-action from 3.29.2 to 3.29.3</li>
<li><a
href="https://github.com/crate-py/rpds/commit/db4a842d81f36e48efb83df35aa7ccded82853a1"><code>db4a842</code></a>
Bump astral-sh/setup-uv from 6.3.1 to 6.4.1</li>
<li>See full diff in <a
href="https://github.com/crate-py/rpds/compare/v0.26.0...v0.27.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `typing-extensions` from 4.14.1 to 4.15.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.15.0</h2>
<p>No user-facing changes since 4.15.0rc1.</p>
<p>New features since 4.14.1:</p>
<ul>
<li>Add the <code>@typing_extensions.disjoint_base</code> decorator, as
specified
in PEP 800. Patch by Jelle Zijlstra.</li>
<li>Add <code>typing_extensions.type_repr</code>, a backport of
<a
href="https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr"><code>annotationlib.type_repr</code></a>,
introduced in Python 3.14 (CPython PR <a
href="https://redirect.github.com/python/cpython/pull/124551">#124551</a>,
originally by Jelle Zijlstra). Patch by Semyon Moroz.</li>
<li>Fix behavior of type params in
<code>typing_extensions.evaluate_forward_ref</code>. Backport of
CPython PR <a
href="https://redirect.github.com/python/cpython/pull/137227">#137227</a>
by Jelle Zijlstra.</li>
</ul>
<h2>4.15.0rc1</h2>
<ul>
<li>Add the <code>@typing_extensions.disjoint_base</code> decorator, as
specified
in PEP 800. Patch by Jelle Zijlstra.</li>
<li>Add <code>typing_extensions.type_repr</code>, a backport of
<a
href="https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr"><code>annotationlib.type_repr</code></a>,
introduced in Python 3.14 (CPython PR <a
href="https://redirect.github.com/python/cpython/pull/124551">#124551</a>,
originally by Jelle Zijlstra). Patch by Semyon Moroz.</li>
<li>Fix behavior of type params in
<code>typing_extensions.evaluate_forward_ref</code>. Backport of
CPython PR <a
href="https://redirect.github.com/python/cpython/pull/137227">#137227</a>
by Jelle Zijlstra.</li>
</ul>
</blockquote>
</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.15.0 (August 25, 2025)</h1>
<p>No user-facing changes since 4.15.0rc1.</p>
<h1>Release 4.15.0rc1 (August 18, 2025)</h1>
<ul>
<li>Add the <code>@typing_extensions.disjoint_base</code> decorator, as
specified
in PEP 800. Patch by Jelle Zijlstra.</li>
<li>Add <code>typing_extensions.type_repr</code>, a backport of
<a
href="https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr"><code>annotationlib.type_repr</code></a>,
introduced in Python 3.14 (CPython PR <a
href="https://redirect.github.com/python/cpython/pull/124551">#124551</a>,
originally by Jelle Zijlstra). Patch by Semyon Moroz.</li>
<li>Fix behavior of type params in
<code>typing_extensions.evaluate_forward_ref</code>. Backport of
CPython PR <a
href="https://redirect.github.com/python/cpython/pull/137227">#137227</a>
by Jelle Zijlstra.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python/typing_extensions/commit/9d1637e264b5c1a6b7acee3e907015f89b20c2c9"><code>9d1637e</code></a>
Prepare release 4.15.0 (<a
href="https://redirect.github.com/python/typing_extensions/issues/658">#658</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/4bd67c5be5d9443c7d33c314d02a56ee125eb88d"><code>4bd67c5</code></a>
Coverage: exclude some noise (<a
href="https://redirect.github.com/python/typing_extensions/issues/656">#656</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/e589a26da73b075c5276bae40b86db1af0144f84"><code>e589a26</code></a>
Coverage: add detailed report to job summary (<a
href="https://redirect.github.com/python/typing_extensions/issues/655">#655</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/67d37fed1298e050f74d5acc95b2621bd37837ad"><code>67d37fe</code></a>
Coverage: Implement fail_under (<a
href="https://redirect.github.com/python/typing_extensions/issues/654">#654</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/e9ae26f5286edee9262727755ecb9ad16e999192"><code>e9ae26f</code></a>
Don't delete previous coverage comment (<a
href="https://redirect.github.com/python/typing_extensions/issues/653">#653</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/ac80bb728a3006fc88ef7373b92f0c25cfcc7895"><code>ac80bb7</code></a>
Add Coverage workflow (<a
href="https://redirect.github.com/python/typing_extensions/issues/623">#623</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/abaaafd98c1cc7e5baf098ec287a3d22cb339670"><code>abaaafd</code></a>
Prepare release 4.15.0rc1 (<a
href="https://redirect.github.com/python/typing_extensions/issues/650">#650</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/98104053ea8d49bcdd247804e5fa9f73136acbd4"><code>9810405</code></a>
Add <code>@disjoint_base</code> (PEP 800) (<a
href="https://redirect.github.com/python/typing_extensions/issues/634">#634</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/7ee9e05fd484d06899ce56e80f5e1aa4c760fc03"><code>7ee9e05</code></a>
Backport type_params fix from CPython (<a
href="https://redirect.github.com/python/typing_extensions/issues/646">#646</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/1e8eb9c06ef51b3a1e1f05303a16feca13f5ed98"><code>1e8eb9c</code></a>
Do not refer to PEP 705 as being experimental (<a
href="https://redirect.github.com/python/typing_extensions/issues/648">#648</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/python/typing_extensions/compare/4.14.1...4.15.0">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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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>
github-merge-queue bot pushed a commit to DataDog/orchestrion that referenced this pull request Sep 30, 2025
…ns/codecov-cli with 2 updates (#713)

Bumps the python-dependencies group in /.github/actions/codecov-cli with
2 updates: [anyio](https://github.com/agronholm/anyio) and
[pyyaml](https://github.com/yaml/pyyaml).

Updates `anyio` from 4.10.0 to 4.11.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/agronholm/anyio/releases">anyio's
releases</a>.</em></p>
<blockquote>
<h2>4.11.0</h2>
<ul>
<li>Added support for cancellation reasons (the <code>reason</code>
parameter to <code>CancelScope.cancel()</code>) (<a
href="https://redirect.github.com/agronholm/anyio/pull/975">#975</a>)</li>
<li>Bumped the minimum version of Trio to v0.31.0</li>
<li>Added the ability to enter the event loop from foreign (non-worker)
threads by passing the return value of
<code>anyio.lowlevel.current_token()</code> to
<code>anyio.from_thread.run()</code> and
<code>anyio.from_thread.run_sync()</code> as the <code>token</code>
keyword argument (<a
href="https://redirect.github.com/agronholm/anyio/issues/256">#256</a>)</li>
<li>Added pytest option (<code>anyio_mode = &quot;auto&quot;</code>) to
make the pytest plugin automatically handle all async tests (<a
href="https://redirect.github.com/agronholm/anyio/pull/971">#971</a>)</li>
<li>Added the <code>anyio.Condition.wait_for()</code> method for feature
parity with asyncio (<a
href="https://redirect.github.com/agronholm/anyio/pull/974">#974</a>)</li>
<li>Changed the default type argument of
<code>anyio.abc.TaskStatus</code> from <code>Any</code> to
<code>None</code> (<a
href="https://redirect.github.com/agronholm/anyio/pull/964">#964</a>)</li>
<li>Fixed TCP listener behavior to guarantee the same ephemeral port is
used for all socket listeners when <code>local_port=0</code> (<a
href="https://redirect.github.com/agronholm/anyio/issues/857">#857</a>;
PR by <a href="https://github.com/11kkw"><code>@​11kkw</code></a> and <a
href="https://github.com/agronholm"><code>@​agronholm</code></a>)</li>
<li>Fixed inconsistency between Trio and asyncio where a TCP stream that
previously raised a <code>BrokenResourceError</code> on
<code>send()</code> would still raise <code>BrokenResourceError</code>
after the stream was closed on asyncio, but
<code>ClosedResourceError</code> on Trio. They now both raise a
<code>ClosedResourceError</code> in this scenario. (<a
href="https://redirect.github.com/agronholm/anyio/issues/671">#671</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst">anyio's
changelog</a>.</em></p>
<blockquote>
<h1>Version history</h1>
<p>This library adheres to <code>Semantic Versioning 2.0
&lt;http://semver.org/&gt;</code>_.</p>
<p><strong>4.11.0</strong></p>
<ul>
<li>Added support for cancellation reasons (the <code>reason</code>
parameter to
<code>CancelScope.cancel()</code>)
(<code>[#975](agronholm/anyio#975)
&lt;https://github.com/agronholm/anyio/pull/975&gt;</code>_)</li>
<li>Bumped the minimum version of Trio to v0.31.0</li>
<li>Added the ability to enter the event loop from foreign (non-worker)
threads by
passing the return value of <code>anyio.lowlevel.current_token()</code>
to
<code>anyio.from_thread.run()</code> and
<code>anyio.from_thread.run_sync()</code> as the <code>token</code>
keyword argument
(<code>[#256](agronholm/anyio#256)
&lt;https://github.com/agronholm/anyio/issues/256&gt;</code>_)</li>
<li>Added pytest option (<code>anyio_mode = &quot;auto&quot;</code>) to
make the pytest plugin automatically
handle all async tests
(<code>[#971](agronholm/anyio#971)
&lt;https://github.com/agronholm/anyio/pull/971&gt;</code>_)</li>
<li>Added the <code>anyio.Condition.wait_for()</code> method for feature
parity with asyncio
(<code>[#974](agronholm/anyio#974)
&lt;https://github.com/agronholm/anyio/pull/974&gt;</code>_)</li>
<li>Changed the default type argument of
<code>anyio.abc.TaskStatus</code> from <code>Any</code> to
<code>None</code>
(<code>[#964](agronholm/anyio#964)
&lt;https://github.com/agronholm/anyio/pull/964&gt;</code>_)</li>
<li>Fixed TCP listener behavior to guarantee the same ephemeral port is
used for all
socket listeners when <code>local_port=0</code>
(<code>[#857](agronholm/anyio#857)
&lt;https://github.com/agronholm/anyio/issues/857&gt;</code>_; PR by <a
href="https://github.com/11kkw"><code>@​11kkw</code></a> and <a
href="https://github.com/agronholm"><code>@​agronholm</code></a>)</li>
<li>Fixed inconsistency between Trio and asyncio where a TCP stream that
previously
raised a <code>BrokenResourceError</code> on <code>send()</code> would
still raise
<code>BrokenResourceError</code> after the stream was closed on asyncio,
but
<code>ClosedResourceError</code> on Trio. They now both raise a
<code>ClosedResourceError</code> in this
scenario. (<code>[#671](agronholm/anyio#671)
&lt;https://github.com/agronholm/anyio/issues/671&gt;</code>_)</li>
</ul>
<p><strong>4.10.0</strong></p>
<ul>
<li>
<p>Added the <code>feed_data()</code> method to the
<code>BufferedByteReceiveStream</code> class, allowing
users to inject data directly into the buffer</p>
</li>
<li>
<p>Added various class methods to wrap existing sockets as listeners or
socket streams:</p>
<ul>
<li><code>SocketListener.from_socket()</code></li>
<li><code>SocketStream.from_socket()</code></li>
<li><code>UNIXSocketStream.from_socket()</code></li>
<li><code>UDPSocket.from_socket()</code></li>
<li><code>ConnectedUDPSocket.from_socket()</code></li>
<li><code>UNIXDatagramSocket.from_socket()</code></li>
<li><code>ConnectedUNIXDatagramSocket.from_socket()</code></li>
</ul>
</li>
<li>
<p>Added a hierarchy of connectable stream classes for transparently
connecting to
various remote or local endpoints for exchanging bytes or objects</p>
</li>
<li>
<p>Added context manager mix-in classes
(<code>anyio.ContextManagerMixin</code> and
<code>anyio.AsyncContextManagerMixin</code>) to help write classes that
embed other context
managers, particularly cancel scopes or task groups
(<code>[#905](agronholm/anyio#905)
&lt;https://github.com/agronholm/anyio/pull/905&gt;</code>_; PR by <a
href="https://github.com/agronholm"><code>@​agronholm</code></a> and</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/agronholm/anyio/commit/08737af202f6610cdb8ba53fecaefd9c03269637"><code>08737af</code></a>
Bumped up the version</li>
<li><a
href="https://github.com/agronholm/anyio/commit/8bb9fe04a1c0a4b6615c843d4a88bba38a386059"><code>8bb9fe0</code></a>
Fixed the inconsistent exception on sending to a closed TCP stream (<a
href="https://redirect.github.com/agronholm/anyio/issues/980">#980</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/963709358a05ced66986e928b593b4bd82422981"><code>9637093</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/981">#981</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/f1bc6ee95a75007681ef9cb4eec0369838b390e9"><code>f1bc6ee</code></a>
Fixed changelog entry formatting</li>
<li><a
href="https://github.com/agronholm/anyio/commit/0b58964a26c68ca427b711bbe8536f61ed900133"><code>0b58964</code></a>
Mentioned the sub-interpreter support in the README</li>
<li><a
href="https://github.com/agronholm/anyio/commit/1ed112c65628d3cce312e7b6875b9f914d174a71"><code>1ed112c</code></a>
Ensure same port is used for IPv4/IPv6 when creating TCP listener with
local_...</li>
<li><a
href="https://github.com/agronholm/anyio/commit/aceeee09868642311a96626924f2f09c088a26c0"><code>aceeee0</code></a>
Re-enabled coverage reporting on macOS</li>
<li><a
href="https://github.com/agronholm/anyio/commit/6b890dc869f54b6237caff52a74e86382c076ad2"><code>6b890dc</code></a>
Reworded a changelog entry and added PR links to others</li>
<li><a
href="https://github.com/agronholm/anyio/commit/944257d2d59e8057dd00cd5cc96d8f73028031dd"><code>944257d</code></a>
Updated pre-commit modules</li>
<li><a
href="https://github.com/agronholm/anyio/commit/087975f44599471a84bea2077731143a346c276a"><code>087975f</code></a>
Fixed a documentation style (<a
href="https://redirect.github.com/agronholm/anyio/issues/976">#976</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/agronholm/anyio/compare/4.10.0...4.11.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `pyyaml` from 6.0.2 to 6.0.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/yaml/pyyaml/releases">pyyaml's
releases</a>.</em></p>
<blockquote>
<h2>6.0.3</h2>
<h2>What's Changed</h2>
<ul>
<li>Support for Python 3.14 and free-threading (experimental).</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3">https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/yaml/pyyaml/blob/6.0.3/CHANGES">pyyaml's
changelog</a>.</em></p>
<blockquote>
<p>6.0.3 (2025-09-25)</p>
<ul>
<li><a
href="https://redirect.github.com/yaml/pyyaml/pull/864">yaml/pyyaml#864</a>
-- Support for Python 3.14 and free-threading (experimental)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/yaml/pyyaml/commit/49790e73684bebad1df05ef8d828fa12f685bffb"><code>49790e7</code></a>
Release 6.0.3 (<a
href="https://redirect.github.com/yaml/pyyaml/issues/889">#889</a>)</li>
<li>See full diff in <a
href="https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3">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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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>
stabldev added a commit to stabldev/torrra that referenced this pull request Oct 4, 2025
Bumps [anyio](https://github.com/agronholm/anyio) from 4.9.0 to 4.10.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/agronholm/anyio/releases">anyio's
releases</a>.</em></p>
<blockquote>
<h2>4.10.0</h2>
<ul>
<li>Added the <code>feed_data()</code> method to the
<code>BufferedByteReceiveStream</code> class, allowing users to inject
data directly into the buffer</li>
<li>Added various class methods to wrap existing sockets as listeners or
socket streams:
<ul>
<li><code>SocketListener.from_socket()</code></li>
<li><code>SocketStream.from_socket()</code></li>
<li><code>UNIXSocketStream.from_socket()</code></li>
<li><code>UDPSocket.from_socket()</code></li>
<li><code>ConnectedUDPSocket.from_socket()</code></li>
<li><code>UNIXDatagramSocket.from_socket()</code></li>
<li><code>ConnectedUNIXDatagramSocket.from_socket()</code></li>
</ul>
</li>
<li>Added a hierarchy of connectable stream classes for transparently
connecting to various remote or local endpoints for exchanging bytes or
objects</li>
<li>Added context manager mix-in classes
(<code>anyio.ContextManagerMixin</code> and
<code>anyio.AsyncContextManagerMixin</code>) to help write classes that
embed other context managers, particularly cancel scopes or task groups
(<a
href="https://redirect.github.com/agronholm/anyio/pull/905">#905</a>; PR
by <a href="https://github.com/agronholm"><code>@​agronholm</code></a>
and <a
href="https://github.com/tapetersen"><code>@​tapetersen</code></a>)</li>
<li>Added the ability to specify the thread name in
<code>start_blocking_portal()</code> (<a
href="https://redirect.github.com/agronholm/anyio/issues/818">#818</a>;
PR by <a
href="https://github.com/davidbrochart"><code>@​davidbrochart</code></a>)</li>
<li>Added <code>anyio.notify_closing</code> to allow waking
<code>anyio.wait_readable</code> and <code>anyio.wait_writable</code>
before closing a socket. Among other things, this prevents an OSError on
the <code>ProactorEventLoop</code>. (<a
href="https://redirect.github.com/agronholm/anyio/pull/896">#896</a>; PR
by <a
href="https://github.com/graingert"><code>@​graingert</code></a>)</li>
<li>Incorporated several documentation improvements from the EuroPython
2025 sprint (special thanks to the sprinters: Emmanuel Okedele, Jan
Murre, Euxenia Miruna Goia and Christoffer Fjord)</li>
<li>Added a documentation page explaining why one might want to use
AnyIO's APIs instead of asyncio's</li>
<li>Updated the <code>to_interpreters</code> module to use the public
<code>concurrent.interpreters</code> API on Python 3.14 or later</li>
<li>Fixed <code>anyio.Path.copy()</code> and
<code>anyio.Path.copy_into()</code> failing on Python 3.14.0a7</li>
<li>Fixed return annotation of <code>__aexit__</code> on async context
managers. CMs which can suppress exceptions should return
<code>bool</code>, or <code>None</code> otherwise. (<a
href="https://redirect.github.com/agronholm/anyio/pull/913">#913</a>; PR
by <a href="https://github.com/Enegg"><code>@​Enegg</code></a>)</li>
<li>Fixed rollover boundary check in <code>SpooledTemporaryFile</code>
so that rollover only occurs when the buffer size exceeds
<code>max_size</code> (<a
href="https://redirect.github.com/agronholm/anyio/pull/915">#915</a>; PR
by <a href="https://github.com/11kkw"><code>@​11kkw</code></a>)</li>
<li>Migrated testing and documentation dependencies from extras to
dependency groups</li>
<li>Fixed compatibility of <code>anyio.to_interpreter</code> with Python
3.14.0b2 (<a
href="https://redirect.github.com/agronholm/anyio/issues/926">#926</a>;
PR by <a
href="https://github.com/hroncok"><code>@​hroncok</code></a>)</li>
<li>Fixed <code>SyntaxWarning</code> on Python 3.14 about
<code>return</code> in <code>finally</code> (<a
href="https://redirect.github.com/agronholm/anyio/issues/816">#816</a>)</li>
<li>Fixed RunVar name conflicts. RunVar instances with the same name
should not share storage (<a
href="https://redirect.github.com/agronholm/anyio/issues/880">#880</a>;
PR by <a href="https://github.com/vimfu"><code>@​vimfu</code></a>)</li>
<li>Renamed the <code>BrokenWorkerIntepreter</code> exception to
<code>BrokenWorkerInterpreter</code>. The old name is available as a
deprecated alias. (<a
href="https://redirect.github.com/agronholm/anyio/pull/938">#938</a>; PR
by <a
href="https://github.com/ayussh-verma"><code>@​ayussh-verma</code></a>)</li>
<li>Fixed an edge case in <code>CapacityLimiter</code> on asyncio where
a task, waiting to acquire a limiter gets cancelled and is subsequently
granted a token from the limiter, but before the cancellation is
delivered, and then fails to notify the next waiting task (<a
href="https://redirect.github.com/agronholm/anyio/issues/947">#947</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst">anyio's
changelog</a>.</em></p>
<blockquote>
<h1>Version history</h1>
<p>This library adheres to <code>Semantic Versioning 2.0
&lt;http://semver.org/&gt;</code>_.</p>
<p><strong>UNRELEASED</strong></p>
<ul>
<li>Set <code>None</code> as the default type argument for
<code>anyio.abc.TaskStatus</code></li>
</ul>
<p><strong>4.10.0</strong></p>
<ul>
<li>
<p>Added the <code>feed_data()</code> method to the
<code>BufferedByteReceiveStream</code> class, allowing
users to inject data directly into the buffer</p>
</li>
<li>
<p>Added various class methods to wrap existing sockets as listeners or
socket streams:</p>
<ul>
<li><code>SocketListener.from_socket()</code></li>
<li><code>SocketStream.from_socket()</code></li>
<li><code>UNIXSocketStream.from_socket()</code></li>
<li><code>UDPSocket.from_socket()</code></li>
<li><code>ConnectedUDPSocket.from_socket()</code></li>
<li><code>UNIXDatagramSocket.from_socket()</code></li>
<li><code>ConnectedUNIXDatagramSocket.from_socket()</code></li>
</ul>
</li>
<li>
<p>Added a hierarchy of connectable stream classes for transparently
connecting to
various remote or local endpoints for exchanging bytes or objects</p>
</li>
<li>
<p>Added context manager mix-in classes
(<code>anyio.ContextManagerMixin</code> and
<code>anyio.AsyncContextManagerMixin</code>) to help write classes that
embed other context
managers, particularly cancel scopes or task groups
(<code>[#905](agronholm/anyio#905)
&lt;https://github.com/agronholm/anyio/pull/905&gt;</code>_; PR by <a
href="https://github.com/agronholm"><code>@​agronholm</code></a> and
<a
href="https://github.com/tapetersen"><code>@​tapetersen</code></a>)</p>
</li>
<li>
<p>Added the ability to specify the thread name in
<code>start_blocking_portal()</code>
(<code>[#818](agronholm/anyio#818)
&lt;https://github.com/agronholm/anyio/issues/818&gt;</code>_; PR by <a
href="https://github.com/davidbrochart"><code>@​davidbrochart</code></a>)</p>
</li>
<li>
<p>Added <code>anyio.notify_closing</code> to allow waking
<code>anyio.wait_readable</code>
and <code>anyio.wait_writable</code> before closing a socket. Among
other things,
this prevents an OSError on the <code>ProactorEventLoop</code>.
(<code>[#896](agronholm/anyio#896)
&lt;https://github.com/agronholm/anyio/pull/896&gt;</code>_; PR by <a
href="https://github.com/graingert"><code>@​graingert</code></a>)</p>
</li>
<li>
<p>Incorporated several documentation improvements from the EuroPython
2025 sprint
(special thanks to the sprinters: Emmanuel Okedele, Jan Murre, Euxenia
Miruna Goia and
Christoffer Fjord)</p>
</li>
<li>
<p>Added a documentation page explaining why one might want to use
AnyIO's APIs instead
of asyncio's</p>
</li>
<li>
<p>Updated the <code>to_interpreters</code> module to use the public
<code>concurrent.interpreters</code>
API on Python 3.14 or later</p>
</li>
<li>
<p>Fixed <code>anyio.Path.copy()</code> and
<code>anyio.Path.copy_into()</code> failing on Python 3.14.0a7</p>
</li>
<li>
<p>Fixed return annotation of <code>__aexit__</code> on async context
managers. CMs which can
suppress exceptions should return <code>bool</code>, or
<code>None</code> otherwise.
(<code>[#913](agronholm/anyio#913)
&lt;https://github.com/agronholm/anyio/pull/913&gt;</code>_; PR by <a
href="https://github.com/Enegg"><code>@​Enegg</code></a>)</p>
</li>
<li>
<p>Fixed rollover boundary check in <code>SpooledTemporaryFile</code> so
that rollover
only occurs when the buffer size exceeds <code>max_size</code>
(<code>[#915](agronholm/anyio#915)
&lt;https://github.com/agronholm/anyio/pull/915&gt;</code>_; PR by <a
href="https://github.com/11kkw"><code>@​11kkw</code></a>)</p>
</li>
<li>
<p>Migrated testing and documentation dependencies from extras to
dependency groups</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/agronholm/anyio/commit/0cf55b8277128726c8d5720a4fda29ec1ffccfb6"><code>0cf55b8</code></a>
Bumped up the version</li>
<li><a
href="https://github.com/agronholm/anyio/commit/b029df574164e0df7e542fa4fd01abdbb7db7345"><code>b029df5</code></a>
Updated the to_interpreter module to use the public API on Python 3.14
(<a
href="https://redirect.github.com/agronholm/anyio/issues/956">#956</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/01f02cf5ee9a706c89f57ef58c30de3cbf87abb1"><code>01f02cf</code></a>
Incorporated EP2025 sprint feedback and added a new section (<a
href="https://redirect.github.com/agronholm/anyio/issues/955">#955</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/d89648054c8a939fbde1cc2d590aa875b9139aa4"><code>d896480</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/954">#954</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/0282b814c0067b5fa336d339b4bd57ed6e62266c"><code>0282b81</code></a>
Added the BufferedByteReceiveStream.feed_data() method (<a
href="https://redirect.github.com/agronholm/anyio/issues/945">#945</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/19e5477238d37499de42ebedf99c557848479cfb"><code>19e5477</code></a>
Fixed a cancellation edge case for asyncio CapacityLimiter (<a
href="https://redirect.github.com/agronholm/anyio/issues/952">#952</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/4666df3905af92ac02b515e0827ff9510dcba827"><code>4666df3</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/946">#946</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/38c256709dc8d34de57a43faeab72c935e74ad6e"><code>38c2567</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/942">#942</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/3db73acbf7d715bc47fe9fd6d190374afa3132fb"><code>3db73ac</code></a>
Add missing imports for Readcting to cancellation in worker threads
example (...</li>
<li><a
href="https://github.com/agronholm/anyio/commit/2eda004497cc7ab2b8c1ede4d7c4c276f0840fd9"><code>2eda004</code></a>
Added an example on how to use move_on_after() with shielding</li>
<li>Additional commits viewable in <a
href="https://github.com/agronholm/anyio/compare/4.9.0...4.10">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyio&package-manager=pip&previous-version=4.9.0&new-version=4.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR 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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

> **Note**
> Automatic rebases have been disabled on this pull request as it has
been open for over 30 days.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Stabldev <114811070+stabldev@users.noreply.github.com>
Wyverald pushed a commit to bazelbuild/bazel-central-registry that referenced this pull request Oct 6, 2025
Bumps [anyio](https://github.com/agronholm/anyio) from 4.10.0 to 4.11.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/agronholm/anyio/releases">anyio's
releases</a>.</em></p>
<blockquote>
<h2>4.11.0</h2>
<ul>
<li>Added support for cancellation reasons (the <code>reason</code>
parameter to <code>CancelScope.cancel()</code>) (<a
href="https://redirect.github.com/agronholm/anyio/pull/975">#975</a>)</li>
<li>Bumped the minimum version of Trio to v0.31.0</li>
<li>Added the ability to enter the event loop from foreign (non-worker)
threads by passing the return value of
<code>anyio.lowlevel.current_token()</code> to
<code>anyio.from_thread.run()</code> and
<code>anyio.from_thread.run_sync()</code> as the <code>token</code>
keyword argument (<a
href="https://redirect.github.com/agronholm/anyio/issues/256">#256</a>)</li>
<li>Added pytest option (<code>anyio_mode = &quot;auto&quot;</code>) to
make the pytest plugin automatically handle all async tests (<a
href="https://redirect.github.com/agronholm/anyio/pull/971">#971</a>)</li>
<li>Added the <code>anyio.Condition.wait_for()</code> method for feature
parity with asyncio (<a
href="https://redirect.github.com/agronholm/anyio/pull/974">#974</a>)</li>
<li>Changed the default type argument of
<code>anyio.abc.TaskStatus</code> from <code>Any</code> to
<code>None</code> (<a
href="https://redirect.github.com/agronholm/anyio/pull/964">#964</a>)</li>
<li>Fixed TCP listener behavior to guarantee the same ephemeral port is
used for all socket listeners when <code>local_port=0</code> (<a
href="https://redirect.github.com/agronholm/anyio/issues/857">#857</a>;
PR by <a href="https://github.com/11kkw"><code>@​11kkw</code></a> and <a
href="https://github.com/agronholm"><code>@​agronholm</code></a>)</li>
<li>Fixed inconsistency between Trio and asyncio where a TCP stream that
previously raised a <code>BrokenResourceError</code> on
<code>send()</code> would still raise <code>BrokenResourceError</code>
after the stream was closed on asyncio, but
<code>ClosedResourceError</code> on Trio. They now both raise a
<code>ClosedResourceError</code> in this scenario. (<a
href="https://redirect.github.com/agronholm/anyio/issues/671">#671</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst">anyio's
changelog</a>.</em></p>
<blockquote>
<h1>Version history</h1>
<p>This library adheres to <code>Semantic Versioning 2.0
&lt;http://semver.org/&gt;</code>_.</p>
<p><strong>4.11.0</strong></p>
<ul>
<li>Added support for cancellation reasons (the <code>reason</code>
parameter to
<code>CancelScope.cancel()</code>)
(<code>[#975](agronholm/anyio#975)
&lt;https://github.com/agronholm/anyio/pull/975&gt;</code>_)</li>
<li>Bumped the minimum version of Trio to v0.31.0</li>
<li>Added the ability to enter the event loop from foreign (non-worker)
threads by
passing the return value of <code>anyio.lowlevel.current_token()</code>
to
<code>anyio.from_thread.run()</code> and
<code>anyio.from_thread.run_sync()</code> as the <code>token</code>
keyword argument
(<code>[#256](agronholm/anyio#256)
&lt;https://github.com/agronholm/anyio/issues/256&gt;</code>_)</li>
<li>Added pytest option (<code>anyio_mode = &quot;auto&quot;</code>) to
make the pytest plugin automatically
handle all async tests
(<code>[#971](agronholm/anyio#971)
&lt;https://github.com/agronholm/anyio/pull/971&gt;</code>_)</li>
<li>Added the <code>anyio.Condition.wait_for()</code> method for feature
parity with asyncio
(<code>[#974](agronholm/anyio#974)
&lt;https://github.com/agronholm/anyio/pull/974&gt;</code>_)</li>
<li>Changed the default type argument of
<code>anyio.abc.TaskStatus</code> from <code>Any</code> to
<code>None</code>
(<code>[#964](agronholm/anyio#964)
&lt;https://github.com/agronholm/anyio/pull/964&gt;</code>_)</li>
<li>Fixed TCP listener behavior to guarantee the same ephemeral port is
used for all
socket listeners when <code>local_port=0</code>
(<code>[#857](agronholm/anyio#857)
&lt;https://github.com/agronholm/anyio/issues/857&gt;</code>_; PR by <a
href="https://github.com/11kkw"><code>@​11kkw</code></a> and <a
href="https://github.com/agronholm"><code>@​agronholm</code></a>)</li>
<li>Fixed inconsistency between Trio and asyncio where a TCP stream that
previously
raised a <code>BrokenResourceError</code> on <code>send()</code> would
still raise
<code>BrokenResourceError</code> after the stream was closed on asyncio,
but
<code>ClosedResourceError</code> on Trio. They now both raise a
<code>ClosedResourceError</code> in this
scenario. (<code>[#671](agronholm/anyio#671)
&lt;https://github.com/agronholm/anyio/issues/671&gt;</code>_)</li>
</ul>
<p><strong>4.10.0</strong></p>
<ul>
<li>
<p>Added the <code>feed_data()</code> method to the
<code>BufferedByteReceiveStream</code> class, allowing
users to inject data directly into the buffer</p>
</li>
<li>
<p>Added various class methods to wrap existing sockets as listeners or
socket streams:</p>
<ul>
<li><code>SocketListener.from_socket()</code></li>
<li><code>SocketStream.from_socket()</code></li>
<li><code>UNIXSocketStream.from_socket()</code></li>
<li><code>UDPSocket.from_socket()</code></li>
<li><code>ConnectedUDPSocket.from_socket()</code></li>
<li><code>UNIXDatagramSocket.from_socket()</code></li>
<li><code>ConnectedUNIXDatagramSocket.from_socket()</code></li>
</ul>
</li>
<li>
<p>Added a hierarchy of connectable stream classes for transparently
connecting to
various remote or local endpoints for exchanging bytes or objects</p>
</li>
<li>
<p>Added context manager mix-in classes
(<code>anyio.ContextManagerMixin</code> and
<code>anyio.AsyncContextManagerMixin</code>) to help write classes that
embed other context
managers, particularly cancel scopes or task groups
(<code>[#905](agronholm/anyio#905)
&lt;https://github.com/agronholm/anyio/pull/905&gt;</code>_; PR by <a
href="https://github.com/agronholm"><code>@​agronholm</code></a> and</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/agronholm/anyio/commit/08737af202f6610cdb8ba53fecaefd9c03269637"><code>08737af</code></a>
Bumped up the version</li>
<li><a
href="https://github.com/agronholm/anyio/commit/8bb9fe04a1c0a4b6615c843d4a88bba38a386059"><code>8bb9fe0</code></a>
Fixed the inconsistent exception on sending to a closed TCP stream (<a
href="https://redirect.github.com/agronholm/anyio/issues/980">#980</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/963709358a05ced66986e928b593b4bd82422981"><code>9637093</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/981">#981</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/f1bc6ee95a75007681ef9cb4eec0369838b390e9"><code>f1bc6ee</code></a>
Fixed changelog entry formatting</li>
<li><a
href="https://github.com/agronholm/anyio/commit/0b58964a26c68ca427b711bbe8536f61ed900133"><code>0b58964</code></a>
Mentioned the sub-interpreter support in the README</li>
<li><a
href="https://github.com/agronholm/anyio/commit/1ed112c65628d3cce312e7b6875b9f914d174a71"><code>1ed112c</code></a>
Ensure same port is used for IPv4/IPv6 when creating TCP listener with
local_...</li>
<li><a
href="https://github.com/agronholm/anyio/commit/aceeee09868642311a96626924f2f09c088a26c0"><code>aceeee0</code></a>
Re-enabled coverage reporting on macOS</li>
<li><a
href="https://github.com/agronholm/anyio/commit/6b890dc869f54b6237caff52a74e86382c076ad2"><code>6b890dc</code></a>
Reworded a changelog entry and added PR links to others</li>
<li><a
href="https://github.com/agronholm/anyio/commit/944257d2d59e8057dd00cd5cc96d8f73028031dd"><code>944257d</code></a>
Updated pre-commit modules</li>
<li><a
href="https://github.com/agronholm/anyio/commit/087975f44599471a84bea2077731143a346c276a"><code>087975f</code></a>
Fixed a documentation style (<a
href="https://redirect.github.com/agronholm/anyio/issues/976">#976</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/agronholm/anyio/compare/4.10.0...4.11.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyio&package-manager=pip&previous-version=4.10.0&new-version=4.11.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
kotlaja pushed a commit to kotlaja/bazel-central-registry that referenced this pull request Oct 16, 2025
Bumps [anyio](https://github.com/agronholm/anyio) from 4.10.0 to 4.11.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/agronholm/anyio/releases">anyio's
releases</a>.</em></p>
<blockquote>
<h2>4.11.0</h2>
<ul>
<li>Added support for cancellation reasons (the <code>reason</code>
parameter to <code>CancelScope.cancel()</code>) (<a
href="https://redirect.github.com/agronholm/anyio/pull/975">#975</a>)</li>
<li>Bumped the minimum version of Trio to v0.31.0</li>
<li>Added the ability to enter the event loop from foreign (non-worker)
threads by passing the return value of
<code>anyio.lowlevel.current_token()</code> to
<code>anyio.from_thread.run()</code> and
<code>anyio.from_thread.run_sync()</code> as the <code>token</code>
keyword argument (<a
href="https://redirect.github.com/agronholm/anyio/issues/256">#256</a>)</li>
<li>Added pytest option (<code>anyio_mode = &quot;auto&quot;</code>) to
make the pytest plugin automatically handle all async tests (<a
href="https://redirect.github.com/agronholm/anyio/pull/971">#971</a>)</li>
<li>Added the <code>anyio.Condition.wait_for()</code> method for feature
parity with asyncio (<a
href="https://redirect.github.com/agronholm/anyio/pull/974">#974</a>)</li>
<li>Changed the default type argument of
<code>anyio.abc.TaskStatus</code> from <code>Any</code> to
<code>None</code> (<a
href="https://redirect.github.com/agronholm/anyio/pull/964">#964</a>)</li>
<li>Fixed TCP listener behavior to guarantee the same ephemeral port is
used for all socket listeners when <code>local_port=0</code> (<a
href="https://redirect.github.com/agronholm/anyio/issues/857">#857</a>;
PR by <a href="https://github.com/11kkw"><code>@​11kkw</code></a> and <a
href="https://github.com/agronholm"><code>@​agronholm</code></a>)</li>
<li>Fixed inconsistency between Trio and asyncio where a TCP stream that
previously raised a <code>BrokenResourceError</code> on
<code>send()</code> would still raise <code>BrokenResourceError</code>
after the stream was closed on asyncio, but
<code>ClosedResourceError</code> on Trio. They now both raise a
<code>ClosedResourceError</code> in this scenario. (<a
href="https://redirect.github.com/agronholm/anyio/issues/671">#671</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst">anyio's
changelog</a>.</em></p>
<blockquote>
<h1>Version history</h1>
<p>This library adheres to <code>Semantic Versioning 2.0
&lt;http://semver.org/&gt;</code>_.</p>
<p><strong>4.11.0</strong></p>
<ul>
<li>Added support for cancellation reasons (the <code>reason</code>
parameter to
<code>CancelScope.cancel()</code>)
(<code>[bazelbuild#975](agronholm/anyio#975)
&lt;https://github.com/agronholm/anyio/pull/975&gt;</code>_)</li>
<li>Bumped the minimum version of Trio to v0.31.0</li>
<li>Added the ability to enter the event loop from foreign (non-worker)
threads by
passing the return value of <code>anyio.lowlevel.current_token()</code>
to
<code>anyio.from_thread.run()</code> and
<code>anyio.from_thread.run_sync()</code> as the <code>token</code>
keyword argument
(<code>[bazelbuild#256](agronholm/anyio#256)
&lt;https://github.com/agronholm/anyio/issues/256&gt;</code>_)</li>
<li>Added pytest option (<code>anyio_mode = &quot;auto&quot;</code>) to
make the pytest plugin automatically
handle all async tests
(<code>[bazelbuild#971](agronholm/anyio#971)
&lt;https://github.com/agronholm/anyio/pull/971&gt;</code>_)</li>
<li>Added the <code>anyio.Condition.wait_for()</code> method for feature
parity with asyncio
(<code>[bazelbuild#974](agronholm/anyio#974)
&lt;https://github.com/agronholm/anyio/pull/974&gt;</code>_)</li>
<li>Changed the default type argument of
<code>anyio.abc.TaskStatus</code> from <code>Any</code> to
<code>None</code>
(<code>[bazelbuild#964](agronholm/anyio#964)
&lt;https://github.com/agronholm/anyio/pull/964&gt;</code>_)</li>
<li>Fixed TCP listener behavior to guarantee the same ephemeral port is
used for all
socket listeners when <code>local_port=0</code>
(<code>[bazelbuild#857](agronholm/anyio#857)
&lt;https://github.com/agronholm/anyio/issues/857&gt;</code>_; PR by <a
href="https://github.com/11kkw"><code>@​11kkw</code></a> and <a
href="https://github.com/agronholm"><code>@​agronholm</code></a>)</li>
<li>Fixed inconsistency between Trio and asyncio where a TCP stream that
previously
raised a <code>BrokenResourceError</code> on <code>send()</code> would
still raise
<code>BrokenResourceError</code> after the stream was closed on asyncio,
but
<code>ClosedResourceError</code> on Trio. They now both raise a
<code>ClosedResourceError</code> in this
scenario. (<code>[bazelbuild#671](agronholm/anyio#671)
&lt;https://github.com/agronholm/anyio/issues/671&gt;</code>_)</li>
</ul>
<p><strong>4.10.0</strong></p>
<ul>
<li>
<p>Added the <code>feed_data()</code> method to the
<code>BufferedByteReceiveStream</code> class, allowing
users to inject data directly into the buffer</p>
</li>
<li>
<p>Added various class methods to wrap existing sockets as listeners or
socket streams:</p>
<ul>
<li><code>SocketListener.from_socket()</code></li>
<li><code>SocketStream.from_socket()</code></li>
<li><code>UNIXSocketStream.from_socket()</code></li>
<li><code>UDPSocket.from_socket()</code></li>
<li><code>ConnectedUDPSocket.from_socket()</code></li>
<li><code>UNIXDatagramSocket.from_socket()</code></li>
<li><code>ConnectedUNIXDatagramSocket.from_socket()</code></li>
</ul>
</li>
<li>
<p>Added a hierarchy of connectable stream classes for transparently
connecting to
various remote or local endpoints for exchanging bytes or objects</p>
</li>
<li>
<p>Added context manager mix-in classes
(<code>anyio.ContextManagerMixin</code> and
<code>anyio.AsyncContextManagerMixin</code>) to help write classes that
embed other context
managers, particularly cancel scopes or task groups
(<code>[bazelbuild#905](agronholm/anyio#905)
&lt;https://github.com/agronholm/anyio/pull/905&gt;</code>_; PR by <a
href="https://github.com/agronholm"><code>@​agronholm</code></a> and</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/agronholm/anyio/commit/08737af202f6610cdb8ba53fecaefd9c03269637"><code>08737af</code></a>
Bumped up the version</li>
<li><a
href="https://github.com/agronholm/anyio/commit/8bb9fe04a1c0a4b6615c843d4a88bba38a386059"><code>8bb9fe0</code></a>
Fixed the inconsistent exception on sending to a closed TCP stream (<a
href="https://redirect.github.com/agronholm/anyio/issues/980">#980</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/963709358a05ced66986e928b593b4bd82422981"><code>9637093</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/agronholm/anyio/issues/981">#981</a>)</li>
<li><a
href="https://github.com/agronholm/anyio/commit/f1bc6ee95a75007681ef9cb4eec0369838b390e9"><code>f1bc6ee</code></a>
Fixed changelog entry formatting</li>
<li><a
href="https://github.com/agronholm/anyio/commit/0b58964a26c68ca427b711bbe8536f61ed900133"><code>0b58964</code></a>
Mentioned the sub-interpreter support in the README</li>
<li><a
href="https://github.com/agronholm/anyio/commit/1ed112c65628d3cce312e7b6875b9f914d174a71"><code>1ed112c</code></a>
Ensure same port is used for IPv4/IPv6 when creating TCP listener with
local_...</li>
<li><a
href="https://github.com/agronholm/anyio/commit/aceeee09868642311a96626924f2f09c088a26c0"><code>aceeee0</code></a>
Re-enabled coverage reporting on macOS</li>
<li><a
href="https://github.com/agronholm/anyio/commit/6b890dc869f54b6237caff52a74e86382c076ad2"><code>6b890dc</code></a>
Reworded a changelog entry and added PR links to others</li>
<li><a
href="https://github.com/agronholm/anyio/commit/944257d2d59e8057dd00cd5cc96d8f73028031dd"><code>944257d</code></a>
Updated pre-commit modules</li>
<li><a
href="https://github.com/agronholm/anyio/commit/087975f44599471a84bea2077731143a346c276a"><code>087975f</code></a>
Fixed a documentation style (<a
href="https://redirect.github.com/agronholm/anyio/issues/976">#976</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/agronholm/anyio/compare/4.10.0...4.11.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyio&package-manager=pip&previous-version=4.10.0&new-version=4.11.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants