Bump anyio from 4.4.0 to 4.5.0
Bumps anyio from 4.4.0 to 4.5.0.
Release notes
Sourced from anyio's releases.
4.5.0
- Improved the performance of
anyio.Lock
andanyio.Semaphore
on asyncio (even up to 50 %)- Added the
fast_acquire
parameter toanyio.Lock
andanyio.Semaphore
to further boost performance at the expense of safety (acquire()
will not yield control back if there is no contention)- Added support for the
from_uri()
,full_match()
,parser
methods/properties inanyio.Path
, newly added in Python 3.13 (#737)- Added support for more keyword arguments for
run_process()
andopen_process()
:startupinfo
,creationflags
,pass_fds
,user
,group
,extra_groups
andumask
(#742)- Improved the type annotations and support for
PathLike
inrun_process()
andopen_process()
to allow for path-like arguments, just likesubprocess.Popen
- Changed the
ResourceWarning
from an unclosed memory object stream to include its address for easier identification- Changed
start_blocking_portal()
to always use daemonic threads, to accommodate the "loitering event loop" use case- Bumped the minimum version of Trio to v0.26.1
- Fixed
__repr__()
ofMemoryObjectItemReceiver
, whenitem
is not defined (#767; PR by@Danipulok
)- Fixed
to_process.run_sync()
failing to initialize if__main__.__file__
pointed to a file in a nonexistent directory (#696)- Fixed
AssertionError: feed_data after feed_eof
on asyncio when a subprocess is closed early, before its output has been read (#490)- Fixed
TaskInfo.has_pending_cancellation()
on asyncio not respecting shielded scopes (#771; PR by@gschaffner
)- Fixed
SocketStream.receive()
returningbytearray
instead ofbytes
when using asyncio withProactorEventLoop
(Windows) (#776)- Fixed quitting the debugger in a pytest test session while in an active task group failing the test instead of exiting the test session (because the exit exception arrives in an exception group)
- Fixed support for Linux abstract namespaces in UNIX sockets that was broken in v4.2 (#781 <agronholm/anyio#781>_; PR by
@tapetersen
)- Fixed
KeyboardInterrupt
(ctrl+c) hanging the asyncio pytest runner
Changelog
Sourced from anyio's changelog.
Version history
This library adheres to
Semantic Versioning 2.0 <http://semver.org/>
_.4.5.0
- Improved the performance of
anyio.Lock
andanyio.Semaphore
on asyncio (even up to 50 %)- Added the
fast_acquire
parameter toanyio.Lock
andanyio.Semaphore
to further boost performance at the expense of safety (acquire()
will not yield control back if there is no contention)- Added support for the
from_uri()
,full_match()
,parser
methods/properties inanyio.Path
, newly added in Python 3.13 ([#737](https://github.com/agronholm/anyio/issues/737) <https://github.com/agronholm/anyio/issues/737>
_)- Added support for more keyword arguments for
run_process()
andopen_process()
:startupinfo
,creationflags
,pass_fds
,user
,group
,extra_groups
andumask
([#742](https://github.com/agronholm/anyio/issues/742) <https://github.com/agronholm/anyio/issues/742>
_)- Improved the type annotations and support for
PathLike
inrun_process()
andopen_process()
to allow for path-like arguments, just likesubprocess.Popen
- Changed the
ResourceWarning
from an unclosed memory object stream to include its address for easier identification- Changed
start_blocking_portal()
to always use daemonic threads, to accommodate the "loitering event loop" use case- Bumped the minimum version of Trio to v0.26.1
- Fixed
__repr__()
ofMemoryObjectItemReceiver
, whenitem
is not defined ([#767](https://github.com/agronholm/anyio/issues/767) <https://github.com/agronholm/anyio/pulls/767>
_; PR by@Danipulok
)- Fixed
to_process.run_sync()
failing to initialize if__main__.__file__
pointed to a file in a nonexistent directory ([#696](https://github.com/agronholm/anyio/issues/696) <https://github.com/agronholm/anyio/issues/696>
_)- Fixed
AssertionError: feed_data after feed_eof
on asyncio when a subprocess is closed early, before its output has been read ([#490](https://github.com/agronholm/anyio/issues/490) <https://github.com/agronholm/anyio/issues/490>
_)- Fixed
TaskInfo.has_pending_cancellation()
on asyncio not respecting shielded scopes ([#771](https://github.com/agronholm/anyio/issues/771) <https://github.com/agronholm/anyio/issues/771>
_; PR by@gschaffner
)- Fixed
SocketStream.receive()
returningbytearray
instead ofbytes
when using asyncio withProactorEventLoop
(Windows) ([#776](https://github.com/agronholm/anyio/issues/776) <https://github.com/agronholm/anyio/issues/776>
_)- Fixed quitting the debugger in a pytest test session while in an active task group failing the test instead of exiting the test session (because the exit exception arrives in an exception group)
- Fixed support for Linux abstract namespaces in UNIX sockets that was broken in v4.2 (#781 agronholm/anyio#781_; PR by
@tapetersen
)- Fixed
KeyboardInterrupt
(ctrl+c) hanging the asyncio pytest runner4.4.0
- Added the
BlockingPortalProvider
class to aid with constructing synchronous counterparts to asynchronous interfaces that would otherwise require multiple blocking
... (truncated)
Commits
-
7f35ce7
Bumped up the version -
108cc83
[pre-commit.ci] pre-commit autoupdate (#788) -
d1aea98
Fixed KeyboardInterrupt hanging the asyncio test runner (#779) -
c1aff53
[pre-commit.ci] pre-commit autoupdate (#785) -
89d8b4c
Use sphinx_rtd_theme also as an extension -
4e9f18d
Enabled uvloop to be used in the test suite on Python 3.13 -
7de6441
Pin Sphinx to a compatible version with sphinx-rtd-theme -
41647f4
Fixed feed_data after feed_eof assertion errors on asyncio (#752) -
38890e6
Accept abstract namespace paths for unix domain sockets (#782) -
0c8ad51
Delegated the implementations of Lock and Semaphore to the async backend clas... - Additional commits viewable in compare view