Originally created by: dependabot[bot]
Bumps anyio from 4.4.0 to 4.10.0.
Sourced from anyio's releases.
4.10.0
- Added the
feed_data()method to theBufferedByteReceiveStreamclass, allowing users to inject data directly into the buffer- Added various class methods to wrap existing sockets as listeners or socket streams:
SocketListener.from_socket()SocketStream.from_socket()UNIXSocketStream.from_socket()UDPSocket.from_socket()ConnectedUDPSocket.from_socket()UNIXDatagramSocket.from_socket()ConnectedUNIXDatagramSocket.from_socket()- Added a hierarchy of connectable stream classes for transparently connecting to various remote or local endpoints for exchanging bytes or objects
- Added context manager mix-in classes (
anyio.ContextManagerMixinandanyio.AsyncContextManagerMixin) to help write classes that embed other context managers, particularly cancel scopes or task groups (#905](https://github.com/href="https://redirect.github.com/agronholm/anyio/pull/905">/issues/905); PR by@agronholmand@tapetersen)- Added the ability to specify the thread name in
start_blocking_portal()(#818](https://github.com/href="https://redirect.github.com/agronholm/anyio/issues/818">/issues/818); PR by@davidbrochart)- Added
anyio.notify_closingto allow wakinganyio.wait_readableandanyio.wait_writablebefore closing a socket. Among other things, this prevents an OSError on theProactorEventLoop. (#896](https://github.com/href="https://redirect.github.com/agronholm/anyio/pull/896">/issues/896); PR by@graingert)- Incorporated several documentation improvements from the EuroPython 2025 sprint (special thanks to the sprinters: Emmanuel Okedele, Jan Murre, Euxenia Miruna Goia and Christoffer Fjord)
- Added a documentation page explaining why one might want to use AnyIO's APIs instead of asyncio's
- Updated the
to_interpretersmodule to use the publicconcurrent.interpretersAPI on Python 3.14 or later- Fixed
anyio.Path.copy()andanyio.Path.copy_into()failing on Python 3.14.0a7- Fixed return annotation of
__aexit__on async context managers. CMs which can suppress exceptions should returnbool, orNoneotherwise. (#913](https://github.com/href="https://redirect.github.com/agronholm/anyio/pull/913">/issues/913); PR by@Enegg)- Fixed rollover boundary check in
SpooledTemporaryFileso that rollover only occurs when the buffer size exceedsmax_size(#915](https://github.com/href="https://redirect.github.com/agronholm/anyio/pull/915">/issues/915); PR by@11kkw)- Migrated testing and documentation dependencies from extras to dependency groups
- Fixed compatibility of
anyio.to_interpreterwith Python 3.14.0b2 (#926](https://github.com/href="https://redirect.github.com/agronholm/anyio/issues/926">/issues/926); PR by@hroncok)- Fixed
SyntaxWarningon Python 3.14 aboutreturninfinally(#816](https://github.com/href="https://redirect.github.com/agronholm/anyio/issues/816">/issues/816))- Fixed RunVar name conflicts. RunVar instances with the same name should not share storage (#880](https://github.com/href="https://redirect.github.com/agronholm/anyio/issues/880">/issues/880); PR by
@vimfu)- Renamed the
BrokenWorkerIntepreterexception toBrokenWorkerInterpreter. The old name is available as a deprecated alias. (#938](https://github.com/href="https://redirect.github.com/agronholm/anyio/pull/938">/issues/938); PR by@ayussh-verma)- Fixed an edge case in
CapacityLimiteron 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 (#947](https://github.com/href="https://redirect.github.com/agronholm/anyio/issues/947">/issues/947))4.9.0
- Added async support for temporary file handling (#344](https://github.com/href="https://redirect.github.com/agronholm/anyio/issues/344">/issues/344); PR by
@11kkw)- Added 4 new fixtures for the AnyIO
pytestplugin:
free_tcp_port_factory: session scoped fixture returning a callable that generates unused TCP port numbersfree_udp_port_factory: session scoped fixture returning a callable that generates unused UDP port numbersfree_tcp_port: function scoped fixture that invokes thefree_tcp_port_factoryfixture to generate a free TCP port numberfree_udp_port: function scoped fixture that invokes thefree_udp_port_factoryfixture to generate a free UDP port number- Added
stdinargument toanyio.run_process()akin to whatanyio.open_process(),asyncio.create_subprocess(),trio.run_process(), andsubprocess.run()already accept (PR by@jmehnle)- Added the
infoproperty toanyio.Pathon Python 3.14- Changed
anyio.getaddrinfo()to ignore (invalid) IPv6 name resolution results when IPv6 support is disabled in Python- Changed
EndOfStreamraised fromMemoryObjectReceiveStream.receive()to leave out theAttributeErrorfrom the exception chain which was merely an implementation detail and caused some confusion- Fixed traceback formatting growing quadratically with level of
TaskGroupnesting on asyncio due to exception chaining when raisingExceptionGroupsinTaskGroup.__aexit__(#863](https://github.com/href="https://redirect.github.com/agronholm/anyio/issues/863">/issues/863); PR by@tapetersen)- Fixed
anyio.Path.iterdir()making a blocking call in Python 3.13 (#873](https://github.com/href="https://redirect.github.com/agronholm/anyio/issues/873">/issues/873); PR by@cbornetand@agronholm)- Fixed
connect_tcp()producing cyclic references in tracebacks when raising exceptions (#809](https://github.com/href="https://redirect.github.com/agronholm/anyio/pull/809">/issues/809); PR by@graingert)- Fixed
anyio.to_thread.run_sync()needlessly holding on to references of the context, function, arguments and others until the next work item on asyncio (PR by@Wankupi)4.8.0
- Added experimental support for running functions in subinterpreters on Python 3.13 and later
- Added support for the
copy(),copy_into(),move()andmove_into()methods inanyio.Path, available in Python 3.14- Changed
TaskGroupon asyncio to always spawn tasks non-eagerly, even if using a task factory created viaasyncio.create_eager_task_factory(), to preserve expected Trio-like task scheduling semantics (PR by@agronholmand@graingert)- Configure
SO_RCVBUF,SO_SNDBUFandTCP_NODELAYon the selector thread waker socket pair (this should improve the performance ofwait_readable()andwait_writable()when using theProactorEventLoop) (#836](https://github.com/href="https://redirect.github.com/agronholm/anyio/pull/836">/issues/836); PR by@graingert)- Fixed
AssertionErrorwhen usingnest-asyncio(#840](https://github.com/href="https://redirect.github.com/agronholm/anyio/issues/840">/issues/840))- Fixed return type annotation of various context managers'
__exit__method (#847](https://github.com/href="https://redirect.github.com/agronholm/anyio/issues/847">/issues/847); PR by@Enegg)
... (truncated)
Sourced from anyio's changelog.
Version history
This library adheres to
Semantic Versioning 2.0 <http://semver.org/>_.UNRELEASED
- Added pytest option (
anyio_mode = "auto") to make the pytest plugin automatically handle all async tests- Set
Noneas the default type argument foranyio.abc.TaskStatus4.10.0
Added the
feed_data()method to theBufferedByteReceiveStreamclass, allowing users to inject data directly into the bufferAdded various class methods to wrap existing sockets as listeners or socket streams:
SocketListener.from_socket()SocketStream.from_socket()UNIXSocketStream.from_socket()UDPSocket.from_socket()ConnectedUDPSocket.from_socket()UNIXDatagramSocket.from_socket()ConnectedUNIXDatagramSocket.from_socket()Added a hierarchy of connectable stream classes for transparently connecting to various remote or local endpoints for exchanging bytes or objects
Added context manager mix-in classes (
anyio.ContextManagerMixinandanyio.AsyncContextManagerMixin) to help write classes that embed other context managers, particularly cancel scopes or task groups ([#905](https://github.com/agronholm/anyio/issues/905) <https://github.com/agronholm/anyio/pull/905>_; PR by@agronholmand@tapetersen)Added the ability to specify the thread name in
start_blocking_portal()([#818](https://github.com/agronholm/anyio/issues/818) <https://github.com/agronholm/anyio/issues/818>_; PR by@davidbrochart)Added
anyio.notify_closingto allow wakinganyio.wait_readableandanyio.wait_writablebefore closing a socket. Among other things, this prevents an OSError on theProactorEventLoop. ([#896](https://github.com/agronholm/anyio/issues/896) <https://github.com/agronholm/anyio/pull/896>_; PR by@graingert)Incorporated several documentation improvements from the EuroPython 2025 sprint (special thanks to the sprinters: Emmanuel Okedele, Jan Murre, Euxenia Miruna Goia and Christoffer Fjord)
Added a documentation page explaining why one might want to use AnyIO's APIs instead of asyncio's
Updated the
to_interpretersmodule to use the publicconcurrent.interpretersAPI on Python 3.14 or laterFixed
anyio.Path.copy()andanyio.Path.copy_into()failing on Python 3.14.0a7Fixed return annotation of
__aexit__on async context managers. CMs which can suppress exceptions should returnbool, orNoneotherwise. ([#913](https://github.com/agronholm/anyio/issues/913) <https://github.com/agronholm/anyio/pull/913>_; PR by@Enegg)Fixed rollover boundary check in
SpooledTemporaryFileso that rollover only occurs when the buffer size exceedsmax_size
... (truncated)
0cf55b8 Bumped up the versionb029df5 Updated the to_interpreter module to use the public API on Python 3.14 (#956](https://github.com/href="https://redirect.github.com/agronholm/anyio/issues/956">/issues/956))01f02cf Incorporated EP2025 sprint feedback and added a new section (#955](https://github.com/href="https://redirect.github.com/agronholm/anyio/issues/955">/issues/955))d896480 [pre-commit.ci] pre-commit autoupdate (#954](https://github.com/href="https://redirect.github.com/agronholm/anyio/issues/954">/issues/954))0282b81 Added the BufferedByteReceiveStream.feed_data() method (#945](https://github.com/href="https://redirect.github.com/agronholm/anyio/issues/945">/issues/945))19e5477 Fixed a cancellation edge case for asyncio CapacityLimiter (#952](https://github.com/href="https://redirect.github.com/agronholm/anyio/issues/952">/issues/952))4666df3 [pre-commit.ci] pre-commit autoupdate (#946](https://github.com/href="https://redirect.github.com/agronholm/anyio/issues/946">/issues/946))38c2567 [pre-commit.ci] pre-commit autoupdate (#942](https://github.com/href="https://redirect.github.com/agronholm/anyio/issues/942">/issues/942))3db73ac Add missing imports for Readcting to cancellation in worker threads example (...2eda004 Added an example on how to use move_on_after() with shieldingDependabot 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.
Originally posted by: dependabot[bot]
Labels
The following labels could not be found:
deps,python. Please create them before Dependabot can add them to a pull request.Please fix the above issues or remove invalid values from
dependabot.yml.