Path to this page:
Subject: CVS commit: pkgsrc/devel/py-anyio
From: Adam Ciarcinski
Date: 2023-05-29 19:58:23
Message id: 20230529175823.768C2FA87@cvs.NetBSD.org
Log Message:
py-anyio: updated to 3.7.0
**3.7.0**
- Dropped support for Python 3.6
- Improved type annotations:
- Several functions and methods that were previously annotated as accepting
``Coroutine[Any, Any, Any]`` as the return type of the callable have been \
amended to
accept ``Awaitable[Any]`` instead, to allow a slightly broader set of \
coroutine-like
inputs, like ``async_generator_asend`` objects returned from the ``asend()`` \
method
of async generators, and to match the ``trio`` annotations:
- ``anyio.run()``
- ``anyio.from_thread.run()``
- ``TaskGroup.start_soon()``
- ``TaskGroup.start()``
- ``BlockingPortal.call()``
- ``BlockingPortal.start_task_soon()``
- ``BlockingPortal.start_task()``
Note that this change involved only changing the type annotations; run-time
functionality was not altered.
- The ``TaskStatus`` class is now a generic protocol, and should be parametrized to
indicate the type of the value passed to ``task_status.started()``
- The ``Listener`` class is now covariant in its stream type
- ``create_memory_object_stream()`` now allows passing only ``item_type``
- Object receive streams are now covariant and object send streams are \
correspondingly
contravariant
- Changed ``TLSAttribute.shared_ciphers`` to match the documented semantics of
``SSLSocket.shared_ciphers`` of always returning ``None`` for client-side streams
- Fixed ``CapacityLimiter`` on the asyncio backend to order waiting tasks in the FIFO
order (instead of LIFO) (PR by Conor Stevenson)
- Fixed ``CancelScope.cancel()`` not working on asyncio if called before entering the
scope
- Fixed ``open_signal_receiver()`` inconsistently yielding integers instead of
``signal.Signals`` instances on the ``trio`` backend
- Fixed ``to_thread.run_sync()`` hanging on asyncio if the target callable raises
``StopIteration``
- Fixed ``start_blocking_portal()`` raising an unwarranted
``RuntimeError: This portal is not running`` if a task raises an exception \
that causes
the event loop to be closed
- Fixed ``current_effective_deadline()`` not returning ``-inf`` on asyncio when the
currently active cancel scope has been cancelled (PR by Ganden Schaffner)
- Fixed the ``OP_IGNORE_UNEXPECTED_EOF`` flag in an SSL context created by default in
``TLSStream.wrap()`` being inadvertently set on Python 3.11.3 and 3.10.11
- Fixed ``CancelScope`` to properly handle asyncio task uncancellation on Python 3.11
(PR by Nikolay Bryskin)
- Fixed ``OSError`` when trying to use ``create_tcp_listener()`` to bind to a \
link-local
IPv6 address (and worked around related bugs in ``uvloop``)
- Worked around a `PyPy bug \
<https://foss.heptapod.net/pypy/pypy/-/issues/3938>`_
when using ``anyio.getaddrinfo()`` with for IPv6 link-local addresses containing
interface names
Files: