Path to this page:
./
devel/py-anyio,
High level compatibility layer for multiple asynchronous event loops
Branch: CURRENT,
Version: 4.8.0,
Package name: py312-anyio-4.8.0,
Maintainer: pkgsrc-usersAnyIO is a asynchronous compatibility API that allows applications and
libraries written against it to run unmodified on asyncio, curio and trio.
It bridges the following functionality:
* Task groups
* Cancellation
* Threads
* Signal handling
* Asynchronous file I/O
* Synchronization primitives (locks, conditions, events, semaphores, queues)
* High level networking (TCP, UDP and UNIX sockets)
Master sites:
Filesize: 176.881 KB
Version history: (Expand)
- (2025-01-09) Updated to version: py312-anyio-4.8.0
- (2024-12-06) Updated to version: py312-anyio-4.7.0
- (2024-10-22) Updated to version: py312-anyio-4.6.2.post1
- (2024-10-14) Updated to version: py312-anyio-4.6.2
- (2024-09-22) Updated to version: py312-anyio-4.6.0
- (2024-05-27) Updated to version: py311-anyio-4.4.0
CVS history: (Expand)
2025-01-09 11:13:10 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-anyio: updated to 4.8.0
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()`` and ``move_into()``
methods in ``anyio.Path``, available in Python 3.14
- Changed ``TaskGroup`` on asyncio to always spawn tasks non-eagerly, even if using a
task factory created via ``asyncio.create_eager_task_factory()``, to preserve \
expected
Trio-like task scheduling semantics (PR by @agronholm and @graingert)
- Configure ``SO_RCVBUF``, ``SO_SNDBUF`` and ``TCP_NODELAY`` on the selector
thread waker socket pair (this should improve the performance of \
``wait_readable()``)
and ``wait_writable()`` when using the ``ProactorEventLoop``
- Fixed ``AssertionError`` when using ``nest-asyncio``
- Fixed return type annotation of various context managers' ``__exit__`` method
|
2024-12-06 09:07:13 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-anyio: updated to 4.7.0
4.7.0
- Updated ``TaskGroup`` to work with asyncio's eager task factories
- Added the ``wait_readable()`` and ``wait_writable()`` functions which will accept
an object with a ``.fileno()`` method or an integer handle, and deprecated
their now obsolete versions (``wait_socket_readable()`` and
``wait_socket_writable()``)
- Changed ``EventAdapter`` (an ``Event`` with no bound async backend) to allow \
``set()``
to work even before an async backend is bound to it
- Added support for ``wait_readable()`` and ``wait_writable()`` on \
``ProactorEventLoop``
(used on asyncio + Windows by default)
- Fixed a misleading ``ValueError`` in the context of DNS failures
- Fixed the return type annotations of ``readinto()`` and ``readinto1()`` \
methods in the
``anyio.AsyncFile`` class
- Fixed ``TaskInfo.has_pending_cancellation()`` on asyncio returning false \
positives in
cleanup code on Python >= 3.11
- Fixed cancelled cancel scopes on asyncio calling ``asyncio.Task.uncancel`` when
propagating a ``CancelledError`` on exit to a cancelled parent scope
|
2024-11-11 08:29:31 by Thomas Klausner | Files touched by this commit (862) |
Log message:
py-*: remove unused tool dependency
py-setuptools includes the py-wheel functionality nowadays
|
2024-10-22 09:52:55 by Thomas Klausner | Files touched by this commit (2) | |
Log message:
py-anyio: update to 4.6.2.post1.
- Fixed regression caused by (`#807 \
<https://github.com/agronholm/anyio/pull/807>`_)
that prevented the use of parametrized async fixtures
|
2024-10-14 07:05:50 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-anyio: updated to 4.6.2
4.6.2
- Fixed regression caused by
that prevented the use of parametrized async fixtures
4.6.1
This release contains all the changes from both v4.5.1 and v4.6.0, plus:
- Fixed TaskGroup and CancelScope producing cyclic references in tracebacks
when raising exceptions
|
2024-09-22 17:37:54 by Thomas Klausner | Files touched by this commit (2) | |
Log message:
py-anyio: update to 4.6.0.
Dropped support for Python 3.8 (as #698 cannot be resolved without cancel \
message support)
Fixed 100% CPU use on asyncio while waiting for an exiting task group to finish \
while said task group is within a cancelled cancel scope (#695)
Fixed cancel scopes on asyncio not propagating CancelledError on exit when the \
enclosing cancel scope has been effectively cancelled (#698)
Fixed asyncio task groups not yielding control to the event loop at exit if \
there were no child tasks to wait on
Fixed inconsistent task uncancellation with asyncio cancel scopes belonging to a \
task group when said task group has child tasks running
|
2024-05-27 16:46:28 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-anyio: updated to 4.4.0
**4.4.0**
- Added the ``BlockingPortalProvider`` class to aid with constructing synchronous
counterparts to asynchronous interfaces that would otherwise require multiple \
blocking
portals
- Added ``__slots__`` to ``AsyncResource`` so that child classes can use \
``__slots__``
- Added the ``TaskInfo.has_pending_cancellation()`` method
- Fixed erroneous ``RuntimeError: called 'started' twice on the same task status``
when cancelling a task in a TaskGroup created with the ``start()`` method before
the first checkpoint is reached after calling ``task_status.started()``
- Fixed two bugs with ``TaskGroup.start()`` on asyncio:
* Fixed erroneous ``RuntimeError: called 'started' twice on the same task status``
when cancelling a task in a TaskGroup created with the ``start()`` method before
the first checkpoint is reached after calling ``task_status.started()``
* Fixed the entire task group being cancelled if a ``TaskGroup.start()`` call gets
cancelled
- Fixed a race condition that caused crashes when multiple event loops of the same
backend were running in separate threads and simultaneously attempted to use \
AnyIO for
their first time
- Fixed cancellation delivery on asyncio incrementing the wrong cancel scope's
cancellation counter when cascading a cancel operation to a child scope, thus \
failing
to uncancel the host task
- Fixed erroneous ``TypedAttributeLookupError`` if a typed attribute getter raises
``KeyError``
- Fixed the asyncio backend not respecting the ``PYTHONASYNCIODEBUG`` environment
variable when setting the ``debug`` flag in ``anyio.run()``
- Fixed ``SocketStream.receive()`` not detecting EOF on asyncio if there is also \
data in
the read buffer
- Fixed ``MemoryObjectStream`` dropping an item if the item is delivered to a \
recipient
that is waiting to receive an item but has a cancellation pending
- Emit a ``ResourceWarning`` for ``MemoryObjectReceiveStream`` and
``MemoryObjectSendStream`` that were garbage collected without being closed
- Fixed ``MemoryObjectSendStream.send()`` not raising ``BrokenResourceError`` \
when the
last corresponding ``MemoryObjectReceiveStream`` is closed while waiting to send a
falsey item
|
2024-02-19 12:25:24 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-anyio: updated to 4.3.0
4.3.0
Added support for the Python 3.12 walk_up keyword argument in \
anyio.Path.relative_to()
Fixed passing total_tokens to anyio.CapacityLimiter() as a keyword argument not \
working on the trio backend
Fixed Process.aclose() not performing the minimum level of necessary cleanup \
when cancelled. Previously:
Cancellation of Process.aclose() could leak an orphan process
Cancellation of run_process() could very briefly leak an orphan process.
Cancellation of Process.aclose() or run_process() on Trio could leave standard \
streams unclosed
Fixed Process.stdin.aclose(), Process.stdout.aclose(), and \
Process.stderr.aclose() not including a checkpoint on asyncio
Fixed documentation on how to provide your own typed attributes
|