head	1.13;
access;
symbols
	pkgsrc-2026Q3:1.13.0.2
	pkgsrc-2026Q3-base:1.13
	pkgsrc-2026Q2:1.9.0.6
	pkgsrc-2026Q2-base:1.9
	pkgsrc-2026Q1:1.9.0.4
	pkgsrc-2026Q1-base:1.9
	pkgsrc-2025Q4:1.9.0.2
	pkgsrc-2025Q4-base:1.9
	pkgsrc-2025Q3:1.8.0.2
	pkgsrc-2025Q3-base:1.8
	pkgsrc-2025Q2:1.7.0.2
	pkgsrc-2025Q2-base:1.7
	pkgsrc-2025Q1:1.6.0.2
	pkgsrc-2025Q1-base:1.6
	pkgsrc-2024Q4:1.5.0.2
	pkgsrc-2024Q4-base:1.5
	pkgsrc-2024Q3:1.4.0.8
	pkgsrc-2024Q3-base:1.4
	pkgsrc-2024Q2:1.4.0.6
	pkgsrc-2024Q2-base:1.4
	pkgsrc-2024Q1:1.4.0.4
	pkgsrc-2024Q1-base:1.4
	pkgsrc-2023Q4:1.4.0.2
	pkgsrc-2023Q4-base:1.4
	pkgsrc-2023Q3:1.2.0.4
	pkgsrc-2023Q3-base:1.2
	pkgsrc-2023Q2:1.2.0.2
	pkgsrc-2023Q2-base:1.2
	pkgsrc-2023Q1:1.1.0.14
	pkgsrc-2023Q1-base:1.1
	pkgsrc-2022Q4:1.1.0.12
	pkgsrc-2022Q4-base:1.1
	pkgsrc-2022Q3:1.1.0.10
	pkgsrc-2022Q3-base:1.1
	pkgsrc-2022Q2:1.1.0.8
	pkgsrc-2022Q2-base:1.1
	pkgsrc-2022Q1:1.1.0.6
	pkgsrc-2022Q1-base:1.1
	pkgsrc-2021Q4:1.1.0.4
	pkgsrc-2021Q4-base:1.1
	pkgsrc-2021Q3:1.1.0.2
	pkgsrc-2021Q3-base:1.1;
locks; strict;
comment	@# @;


1.13
date	2026.09.04.05.29.18;	author adam;	state Exp;
branches;
next	1.12;
commitid	ZdcAGEcHnAAJrgUG;

1.12
date	2026.07.22.08.24.14;	author adam;	state Exp;
branches;
next	1.11;
commitid	NldsBS4naYlDPCOG;

1.11
date	2026.06.25.08.51.55;	author adam;	state Exp;
branches;
next	1.10;
commitid	zmSuPY6TOMqRQ9LG;

1.10
date	2026.06.22.15.43.40;	author adam;	state Exp;
branches;
next	1.9;
commitid	Wf1rjxQsigC1eOKG;

1.9
date	2025.11.29.17.47.22;	author adam;	state Exp;
branches;
next	1.8;
commitid	9SqIyDTEc7Q0vtkG;

1.8
date	2025.08.05.05.53.28;	author adam;	state Exp;
branches;
next	1.7;
commitid	mC1IkFCuA69fhv5G;

1.7
date	2025.04.12.08.05.04;	author adam;	state Exp;
branches;
next	1.6;
commitid	CVowpjoh3DjzHJQF;

1.6
date	2025.01.09.10.13.10;	author adam;	state Exp;
branches;
next	1.5;
commitid	0fURPMOo7WFVoNEF;

1.5
date	2024.12.06.08.07.12;	author adam;	state Exp;
branches;
next	1.4;
commitid	qXJil7RAgP2sNpAF;

1.4
date	2023.10.28.19.56.56;	author wiz;	state Exp;
branches;
next	1.3;
commitid	jP8MYROLWZ3yJqKE;

1.3
date	2023.10.18.08.58.38;	author adam;	state Exp;
branches;
next	1.2;
commitid	FeQgUVeTbHmaq5JE;

1.2
date	2023.05.29.17.58.23;	author adam;	state Exp;
branches;
next	1.1;
commitid	0uTBfpP6CEJkYSqE;

1.1
date	2021.07.08.08.33.21;	author adam;	state Exp;
branches;
next	;
commitid	HdOa5wFd2ynF1a0D;


desc
@@


1.13
log
@py-anyio: updated to 4.15.0

4.15.0

- Added support for the newer keyword-only arguments on ``anyio.Path`` methods to match
  the standard library ``pathlib.Path``:

  * ``follow_symlinks`` on ``exists()`` (Python 3.12+)
  * ``follow_symlinks`` on ``is_dir()`` (Python 3.13+)
  * ``follow_symlinks`` on ``is_file()`` (Python 3.13+)
  * ``follow_symlinks`` on ``owner()`` (Python 3.13+)
  * ``follow_symlinks`` on ``group()`` (Python 3.13+)
  * ``newline`` on ``read_text()`` (Python 3.13+)

- Added ``amap``, ``gather``, and ``as_completed`` utility functions to simplify common
  patterns
- Added ``--anyio-mode`` command-line option as an alternative to the ``anyio_mode``
  ini setting, and fix the pytest plugin's auto mode detection to recognize the mode
  when set via either mechanism(e.g: ``pytest_asyncio``).
- Added the ``anyio.Future`` synchronization primitive which behaves similar to
  ``asyncio.Future``, allowing tasks to wait for a value (or exception) from another
  task
- Added guidance for managing multiple memory object stream producers and consumers
  with cloned streams

- Added ``StapledObjectStream.send_nowait()`` that delegates to the underlying
  ``ObjectSendStream``, if it implements it

- Added the ``move_on_at()`` and ``fail_at()`` functions to complement
  ``move_on_after()`` and ``fail_after()``
- Changed the default name for a task spawned with ``TaskGroup.create_task(func())`` to
  match the default task name for the analogous task spawned with
  ``TaskGroup.start_soon(func)`` or ``TaskGroup.start(func)`` in more situations.
  Previously, the default name of a ``TaskGroup.create_task`` task never included the
  module name. (The default name for a task spawned with ``TaskGroup.start_soon`` or
  ``TaskGroup.start`` typically includes the module name.)

- Changed the ``anyio`` and ``anyio.abc`` modules to lazily (much like :pep:`810`)
  import the necessary submodules. This is done by parsing the AST of the module and
  building a lookup table from the ``if TYPE_CHECKING:`` block. A fallback mode has been
  provided for installations where the source code is unavailable (e.g. PyInstaller).

- Fixed free-threading compatibility issues arising from the fact that on Python 3.14
  free-threading builds, newly created threads inherit the current context by default,
  causing AnyIO to behave erroneously in relation to ``start_blocking_portal()`` and
  ``anyio.to_thread.run_sync()``

- Fixed ``SpooledTemporaryFile.readinto()`` and ``readinto1()`` reading twice before
  rollover, so the destination buffer was overwritten by the second read and the file
  position advanced twice, silently losing data

- Added a ``reason`` parameter to ``fail_after`` (and the new ``fail_at``) allowing for
  added exception context when raising ``TimeoutError``

- Fixed the default ``TaskHandle.name`` missing part of the task name for tasks started
  with ``TaskGroup.start`` on Trio
  <https://github.com/agronholm/anyio/issues/1231>`_; PR by @@gschaffner)
- Fixed ``anyio.run`` leaking, or at least, delaying collection of loop and root_task
  due to the root task being cached in a ``RunVar``.

- Fixed ``anyio.Path.with_stem()`` silently producing a wrong path (e.g.
  ``Path(".txt")``) instead of raising ``ValueError`` when given an empty stem on a
  path with a non-empty suffix, unlike :meth:`pathlib.PurePath.with_stem`

- Fixed ``UNIXSocketStream.aclose()`` raising ``asyncio.InvalidStateError`` when a
  concurrent receive or send operation had just been cancelled on the asyncio backend

- Fixed the pytest plugin importing the deprecated ``_pytest.python.CallSpec2`` alias,
  which triggers ``PytestRemovedIn10Warning`` on ``pytest>=9.2`` and crashes pytest at
  startup when ``filterwarnings = error`` is configured

- Fixed an asyncio worker thread race that could raise ``RuntimeError`` when the event
  loop closed between checking its state and scheduling the worker result

- Fixed ``CapacityLimiter`` on the asyncio backend over-granting tokens when
  ``total_tokens`` was raised while the limiter was over-subscribed

- Fixed asyncio task groups leaking unawaited coroutines when a custom task constructor
  fails; default task creation is unaffected

- Fixed inconsistencies between Trio and asyncio when target ``TaskGroup`` is
  cancelled before a task created with ``.start()`` calls ``TaskStatus.started()``

  * The started task shouldn't get a ``CancelledError`` until the first
    checkpoint after the ``started()`` call.
  * A value passed to ``started()`` should be available on the ``TaskHandle``
    and correctly passed back to the caller of start even if cancelled.
  * The CancelledError shouldn't leak out of the ``TaskGroup.start()`` call to the calling
    task.

- Fixed ``TemporaryDirectory`` not cleaning up when the host task was cancelled while
  exiting the context manager, as the cleanup now runs in a shielded cancel scope
@
text
@@@comment $NetBSD: PLIST,v 1.12 2026/07/22 08:24:14 adam Exp $
${PYSITELIB}/${WHEEL_INFODIR}/METADATA
${PYSITELIB}/${WHEEL_INFODIR}/RECORD
${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
${PYSITELIB}/${WHEEL_INFODIR}/entry_points.txt
${PYSITELIB}/${WHEEL_INFODIR}/licenses/LICENSE
${PYSITELIB}/${WHEEL_INFODIR}/top_level.txt
${PYSITELIB}/anyio/__init__.py
${PYSITELIB}/anyio/__init__.pyc
${PYSITELIB}/anyio/__init__.pyo
${PYSITELIB}/anyio/_backends/__init__.py
${PYSITELIB}/anyio/_backends/__init__.pyc
${PYSITELIB}/anyio/_backends/__init__.pyo
${PYSITELIB}/anyio/_backends/_asyncio.py
${PYSITELIB}/anyio/_backends/_asyncio.pyc
${PYSITELIB}/anyio/_backends/_asyncio.pyo
${PYSITELIB}/anyio/_backends/_trio.py
${PYSITELIB}/anyio/_backends/_trio.pyc
${PYSITELIB}/anyio/_backends/_trio.pyo
${PYSITELIB}/anyio/_core/__init__.py
${PYSITELIB}/anyio/_core/__init__.pyc
${PYSITELIB}/anyio/_core/__init__.pyo
${PYSITELIB}/anyio/_core/_asyncio_selector_thread.py
${PYSITELIB}/anyio/_core/_asyncio_selector_thread.pyc
${PYSITELIB}/anyio/_core/_asyncio_selector_thread.pyo
${PYSITELIB}/anyio/_core/_concurrency_utils.py
${PYSITELIB}/anyio/_core/_concurrency_utils.pyc
${PYSITELIB}/anyio/_core/_concurrency_utils.pyo
${PYSITELIB}/anyio/_core/_contextmanagers.py
${PYSITELIB}/anyio/_core/_contextmanagers.pyc
${PYSITELIB}/anyio/_core/_contextmanagers.pyo
${PYSITELIB}/anyio/_core/_eventloop.py
${PYSITELIB}/anyio/_core/_eventloop.pyc
${PYSITELIB}/anyio/_core/_eventloop.pyo
${PYSITELIB}/anyio/_core/_exceptions.py
${PYSITELIB}/anyio/_core/_exceptions.pyc
${PYSITELIB}/anyio/_core/_exceptions.pyo
${PYSITELIB}/anyio/_core/_fileio.py
${PYSITELIB}/anyio/_core/_fileio.pyc
${PYSITELIB}/anyio/_core/_fileio.pyo
${PYSITELIB}/anyio/_core/_futures.py
${PYSITELIB}/anyio/_core/_futures.pyc
${PYSITELIB}/anyio/_core/_futures.pyo
${PYSITELIB}/anyio/_core/_resources.py
${PYSITELIB}/anyio/_core/_resources.pyc
${PYSITELIB}/anyio/_core/_resources.pyo
${PYSITELIB}/anyio/_core/_signals.py
${PYSITELIB}/anyio/_core/_signals.pyc
${PYSITELIB}/anyio/_core/_signals.pyo
${PYSITELIB}/anyio/_core/_sockets.py
${PYSITELIB}/anyio/_core/_sockets.pyc
${PYSITELIB}/anyio/_core/_sockets.pyo
${PYSITELIB}/anyio/_core/_streams.py
${PYSITELIB}/anyio/_core/_streams.pyc
${PYSITELIB}/anyio/_core/_streams.pyo
${PYSITELIB}/anyio/_core/_subprocesses.py
${PYSITELIB}/anyio/_core/_subprocesses.pyc
${PYSITELIB}/anyio/_core/_subprocesses.pyo
${PYSITELIB}/anyio/_core/_synchronization.py
${PYSITELIB}/anyio/_core/_synchronization.pyc
${PYSITELIB}/anyio/_core/_synchronization.pyo
${PYSITELIB}/anyio/_core/_tasks.py
${PYSITELIB}/anyio/_core/_tasks.pyc
${PYSITELIB}/anyio/_core/_tasks.pyo
${PYSITELIB}/anyio/_core/_tempfile.py
${PYSITELIB}/anyio/_core/_tempfile.pyc
${PYSITELIB}/anyio/_core/_tempfile.pyo
${PYSITELIB}/anyio/_core/_testing.py
${PYSITELIB}/anyio/_core/_testing.pyc
${PYSITELIB}/anyio/_core/_testing.pyo
${PYSITELIB}/anyio/_core/_typedattr.py
${PYSITELIB}/anyio/_core/_typedattr.pyc
${PYSITELIB}/anyio/_core/_typedattr.pyo
${PYSITELIB}/anyio/_lazyimport.py
${PYSITELIB}/anyio/_lazyimport.pyc
${PYSITELIB}/anyio/_lazyimport.pyo
${PYSITELIB}/anyio/abc/__init__.py
${PYSITELIB}/anyio/abc/__init__.pyc
${PYSITELIB}/anyio/abc/__init__.pyo
${PYSITELIB}/anyio/abc/_eventloop.py
${PYSITELIB}/anyio/abc/_eventloop.pyc
${PYSITELIB}/anyio/abc/_eventloop.pyo
${PYSITELIB}/anyio/abc/_resources.py
${PYSITELIB}/anyio/abc/_resources.pyc
${PYSITELIB}/anyio/abc/_resources.pyo
${PYSITELIB}/anyio/abc/_sockets.py
${PYSITELIB}/anyio/abc/_sockets.pyc
${PYSITELIB}/anyio/abc/_sockets.pyo
${PYSITELIB}/anyio/abc/_streams.py
${PYSITELIB}/anyio/abc/_streams.pyc
${PYSITELIB}/anyio/abc/_streams.pyo
${PYSITELIB}/anyio/abc/_subprocesses.py
${PYSITELIB}/anyio/abc/_subprocesses.pyc
${PYSITELIB}/anyio/abc/_subprocesses.pyo
${PYSITELIB}/anyio/abc/_tasks.py
${PYSITELIB}/anyio/abc/_tasks.pyc
${PYSITELIB}/anyio/abc/_tasks.pyo
${PYSITELIB}/anyio/abc/_testing.py
${PYSITELIB}/anyio/abc/_testing.pyc
${PYSITELIB}/anyio/abc/_testing.pyo
${PYSITELIB}/anyio/from_thread.py
${PYSITELIB}/anyio/from_thread.pyc
${PYSITELIB}/anyio/from_thread.pyo
${PYSITELIB}/anyio/functools.py
${PYSITELIB}/anyio/functools.pyc
${PYSITELIB}/anyio/functools.pyo
${PYSITELIB}/anyio/itertools.py
${PYSITELIB}/anyio/itertools.pyc
${PYSITELIB}/anyio/itertools.pyo
${PYSITELIB}/anyio/lowlevel.py
${PYSITELIB}/anyio/lowlevel.pyc
${PYSITELIB}/anyio/lowlevel.pyo
${PYSITELIB}/anyio/py.typed
${PYSITELIB}/anyio/pytest_plugin.py
${PYSITELIB}/anyio/pytest_plugin.pyc
${PYSITELIB}/anyio/pytest_plugin.pyo
${PYSITELIB}/anyio/streams/__init__.py
${PYSITELIB}/anyio/streams/__init__.pyc
${PYSITELIB}/anyio/streams/__init__.pyo
${PYSITELIB}/anyio/streams/buffered.py
${PYSITELIB}/anyio/streams/buffered.pyc
${PYSITELIB}/anyio/streams/buffered.pyo
${PYSITELIB}/anyio/streams/file.py
${PYSITELIB}/anyio/streams/file.pyc
${PYSITELIB}/anyio/streams/file.pyo
${PYSITELIB}/anyio/streams/memory.py
${PYSITELIB}/anyio/streams/memory.pyc
${PYSITELIB}/anyio/streams/memory.pyo
${PYSITELIB}/anyio/streams/stapled.py
${PYSITELIB}/anyio/streams/stapled.pyc
${PYSITELIB}/anyio/streams/stapled.pyo
${PYSITELIB}/anyio/streams/text.py
${PYSITELIB}/anyio/streams/text.pyc
${PYSITELIB}/anyio/streams/text.pyo
${PYSITELIB}/anyio/streams/tls.py
${PYSITELIB}/anyio/streams/tls.pyc
${PYSITELIB}/anyio/streams/tls.pyo
${PYSITELIB}/anyio/to_interpreter.py
${PYSITELIB}/anyio/to_interpreter.pyc
${PYSITELIB}/anyio/to_interpreter.pyo
${PYSITELIB}/anyio/to_process.py
${PYSITELIB}/anyio/to_process.pyc
${PYSITELIB}/anyio/to_process.pyo
${PYSITELIB}/anyio/to_thread.py
${PYSITELIB}/anyio/to_thread.pyc
${PYSITELIB}/anyio/to_thread.pyo
@


1.12
log
@Remove scm info from PLIST - fixed in latest setuptools_scm
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.11 2026/06/25 08:51:55 adam Exp $
d26 3
d41 3
d74 3
@


1.11
log
@py-anyio: updated to 4.14.1

4.14.1

Fixed teardown of higher-scoped async fixtures failing on asyncio with RuntimeError: Attempted to exit cancel scope in a different task than it was entered in when an async test raise an outcome exception (e.g., pytest.skip(), pytest.xfail(), or pytest.fail())
Fixed CapacityLimiter.total_tokens rejecting a value of 0 when the limiter was instantiated outside of an event loop, contradicting the documented behavior of allowing 0 total tokens
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.10 2026/06/22 15:43:40 adam Exp $
a6 2
${PYSITELIB}/${WHEEL_INFODIR}/scm_file_list.json
${PYSITELIB}/${WHEEL_INFODIR}/scm_version.json
@


1.10
log
@py-anyio: updated to 4.14.0

4.14.0

- Added support for Python 3.15
- Added an asynchronous implementation of the ``itertools`` module

- Added the ``local_port`` parameter to ``connect_tcp()`` to allow binding to a
  specific local port before connecting

- Added support for custom capacity limiters in async path and file I/O
  functions and classes
- Added the ``create_task()`` task group method for easier asyncio migration (returns a
  ``TaskHandle``)

- Changed ``TaskGroup.start_soon()`` to return a ``TaskHandle``
- Added an option for ``TaskGroup.start()`` to return a ``TaskHandle`` (which then
  contains the start value in the ``start_value`` property)
- Added the ``cancel()`` convenience method to ``TaskGroup`` as a shortcut for
  cancelling the task group's cancel scope
- Improved the error message when a known backend is not installed to suggest the
  install command

- Improved ``anyio.Path`` to preserve subclass types by returning ``Self`` in methods
  that return path objects

- Changed the parameter type annotation in ``anyio.Path.write_bytes()`` to accept
  any ``ReadableBuffer``, thus allowing it to accept ``bytearray`` and ``memoryview`` to
  match ``pathlib.Path.write_bytes()``

- Changed several type annotations to only accept callables returning coroutine-like
  objects instead of arbitrary awaitables:

  - ``TaskGroup.start_soon()``
  - ``TaskGroup.start()``
  - ``anyio.from_thread.run()``

  This reverts an earlier change from v3.7.0 which was made in error.

- Changed ``anyio.run`` to support callables returning arbitrary awaitables at runtime
  on all backends. Previously, this only worked on asyncio
- Changed several classes (and their subclasses) to have ``__slots__`` (with
  ``__weakref__``):

  * ``anyio.CancelScope``
  * ``anyio.CapacityLimiter``
  * ``anyio.Condition``
  * ``anyio.Event``
  * ``anyio.Lock``
  * ``anyio.ResourceGuard``
  * ``anyio.Semaphore``
- Fixed cancellation exception escaping a cancel scope when triggered via
  ``check_cancelled()`` in a worker thread

- Fixed ``TaskGroup`` raising ``AttributeError`` instead of a clear error when entered
  more than once

- Fixed lost type information when passing arguments to ``lru_cache``

- Fixed test resumption after ``KeyboardInterrupt`` in async generator fixtures on the
  asyncio backend

- Fixed import of ``__main__`` in ``to_process`` workers when entrypoint script
  doesn't end in ``.py``, such as when using ``console_script`` entrypoints.

- Fixed ``SocketListener.from_socket()`` returning a TCP listener for ``AF_UNIX``
  listening sockets, causing ``accept()`` to fail with ``ENOTSUP``

- Fixed ``UDPSocket.aclose()`` and ``ConnectedUDPSocket.aclose()`` on asyncio returning
  before the underlying socket FD was actually released

- Fixed trio backend test runner hanging indefinitely instead of raising an error
  when dynamically accessing an async fixture via ``request.getfixturevalue``

- Fixed cancelling tasks started through a ``BlockingPortal`` after the portal has been
  stopped

- Fixed ``backend_options`` being ignored when running the Trio backend via
  ``anyio.run()``; the options are now passed as keyword arguments to ``trio.run()``
  again, as documented (a regression from AnyIO 3)

- Fixed asyncio ``Lock`` and ``Semaphore`` deadlocks caused by cancelled waiters
  left queued during release
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.9 2025/11/29 17:47:22 adam Exp $
d7 2
@


1.9
log
@py-anyio: updated to 4.12.0

4.12.0

- Added support for asyncio's `task call graphs`_ on Python 3.14 and later when using
  AnyIO's task groups
- Added an asynchronous implementation of the ``functools`` module
- Added support for ``uvloop=True`` on Windows via the winloop_ implementation
- Added support for use as a context manager to ``anyio.lowlevel.RunVar``
- Added ``__all__`` declarations to public submodules (``anyio.lowlevel`` etc.)
- Added the ability to set the token count of a ``CapacityLimiter`` to zero
- Added parameters ``case_sensitive`` and ``recurse_symlinks`` along with support for
  path-like objects to ``anyio.Path.glob()`` and ``anyio.Path.rglob()``
- Dropped ``sniffio`` as a direct dependency and added the ``get_available_backends()``
  function
- Fixed ``Process.stdin.send()`` not raising ``ClosedResourceError`` and
  ``BrokenResourceError`` on asyncio. Previously, a non-AnyIO exception was raised in
  such cases
- Fixed ``Process.stdin.send()`` not checkpointing before writing data on asyncio
- Fixed a race condition where cancelling a ``Future`` from
  ``BlockingPortal.start_task_soon()`` would sometimes not cancel the async function
- Fixed the presence of the pytest plugin causing breakage with older versions of
  pytest (<= 6.1.2)
- Fixed a rarely occurring ``RuntimeError: Set changed size during iteration`` while
  shutting down the process pool when using the asyncio backend
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.8 2025/08/05 05:53:28 adam Exp $
d98 3
@


1.8
log
@py-anyio: updated to 4.10.0

4.10.0

- Added the ``feed_data()`` method to the ``BufferedByteReceiveStream`` class, 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.ContextManagerMixin`` and
  ``anyio.AsyncContextManagerMixin``) to help write classes that embed other context
  managers, particularly cancel scopes or task groups
- Added the ability to specify the thread name in ``start_blocking_portal()``
- Added ``anyio.notify_closing`` to allow waking ``anyio.wait_readable``
  and ``anyio.wait_writable`` before closing a socket. Among other things,
  this prevents an OSError on the ``ProactorEventLoop``.
- 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_interpreters`` module to use the public ``concurrent.interpreters``
  API on Python 3.14 or later
- Fixed ``anyio.Path.copy()`` and ``anyio.Path.copy_into()`` failing on Python 3.14.0a7
- Fixed return annotation of ``__aexit__`` on async context managers. CMs which can
  suppress exceptions should return ``bool``, or ``None`` otherwise.
- Fixed rollover boundary check in ``SpooledTemporaryFile`` so that rollover
  only occurs when the buffer size exceeds ``max_size``
- Migrated testing and documentation dependencies from extras to dependency groups
- Fixed compatibility of ``anyio.to_interpreter`` with Python 3.14.0b2
- Fixed ``SyntaxWarning`` on Python 3.14 about ``return`` in ``finally``
- Fixed RunVar name conflicts. RunVar instances with the same name should not share
  storage
- Renamed the ``BrokenWorkerIntepreter`` exception to ``BrokenWorkerInterpreter``.
  The old name is available as a deprecated alias.
- Fixed an edge case in ``CapacityLimiter`` 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
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.7 2025/04/12 08:05:04 adam Exp $
d95 3
@


1.7
log
@py-anyio: updated to 4.9.0

4.9.0

- Fixed ``connect_tcp()`` producing cyclic references in tracebacks when raising
  exceptions
- Added 4 new fixtures for the AnyIO ``pytest`` plugin:

  * ``free_tcp_port_factory``: session scoped fixture returning a callable that
    generates unused TCP port numbers
  * ``free_udp_port_factory``: session scoped fixture returning a callable that
    generates unused UDP port numbers
  * ``free_tcp_port``: function scoped fixture that invokes the
    ``free_tcp_port_factory`` fixture to generate a free TCP port number
  * ``free_udp_port``: function scoped fixture that invokes the
    ``free_udp_port_factory`` fixture to generate a free UDP port number
- Added ``stdin`` argument to ``anyio.run_process()`` akin to what
  ``anyio.open_process()``, ``asyncio.create_subprocess_…()``, ``trio.run_process()``,
  and ``subprocess.run()`` already accept
- Added the ``info`` property to ``anyio.Path`` on Python 3.14
- Changed ``anyio.getaddrinfo()`` to ignore (invalid) IPv6 name resolution results when
  IPv6 support is disabled in Python
- Changed ``EndOfStream`` raised from ``MemoryObjectReceiveStream.receive()`` to leave
  out the ``AttributeError`` from the exception chain which was merely an implementation
  detail and caused some confusion
- Fixed traceback formatting growing quadratically with level of ``TaskGroup``
  nesting on asyncio due to exception chaining when raising ``ExceptionGroups``
  in ``TaskGroup.__aexit__``
- Fixed ``anyio.Path.iterdir()`` making a blocking call in Python 3.13
- 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
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.6 2025/01/09 10:13:10 adam Exp $
d26 3
@


1.6
log
@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
@
text
@d1 1
a1 2
@@comment $NetBSD: PLIST,v 1.5 2024/12/06 08:07:12 adam Exp $
${PYSITELIB}/${WHEEL_INFODIR}/LICENSE
d6 1
d56 3
@


1.5
log
@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
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.4 2023/10/28 19:56:56 wiz Exp $
d117 3
@


1.4
log
@python/wheel.mk: simplify a lot, and switch to 'installer' for installation

This follows the recommended bootstrap method (flit_core, build, installer).

However, installer installs different files than pip, so update PLISTs
for all packages using wheel.mk and bump their PKGREVISIONs.
@
text
@d1 1
a1 1
@@comment $NetBSD$
d23 3
@


1.3
log
@py-anyio: updated to 4.0.0

**4.0.0**

- **BACKWARDS INCOMPATIBLE** Replaced AnyIO's own ``ExceptionGroup`` class with the PEP
  654 ``BaseExceptionGroup`` and ``ExceptionGroup``
- **BACKWARDS INCOMPATIBLE** Changes to cancellation semantics:

  - Any exceptions raising out of a task groups are now nested inside an
    ``ExceptionGroup`` (or ``BaseExceptionGroup`` if one or more ``BaseException`` were
    included)
  - Fixed task group not raising a cancellation exception on asyncio at exit if no child
    tasks were spawned and an outer cancellation scope had been cancelled before
  - Ensured that exiting a ``TaskGroup`` always hits a yield point, regardless of
    whether there are running child tasks to be waited on
  - On asyncio, cancel scopes will defer cancelling tasks that are scheduled to resume
    with a finished future
  - On asyncio and Python 3.9/3.10, cancel scopes now only suppress cancellation
    exceptions if the cancel message matches the scope
  - Task groups on all backends now raise a single cancellation exception when an outer
    cancel scope is cancelled, and no exceptions other than cancellation exceptions are
    raised in the group
- **BACKWARDS INCOMPATIBLE** Changes the pytest plugin to run all tests and fixtures in
  the same task, allowing fixtures to set context variables for tests and other fixtures
- **BACKWARDS INCOMPATIBLE** Changed ``anyio.Path.relative_to()`` and
  ``anyio.Path.is_relative_to()`` to only accept one argument, as passing multiple
  arguments is deprecated as of Python 3.12
- **BACKWARDS INCOMPATIBLE** Dropped support for spawning tasks from old-style coroutine
  functions (``@@asyncio.coroutine``)
- **BACKWARDS INCOMPATIBLE** The ``policy`` option on the ``asyncio`` backend was
  changed to ``loop_factory`` to accommodate ``asyncio.Runner``
- Changed ``anyio.run()`` to use ``asyncio.Runner`` (or a back-ported version of it on
  Pythons older than 3.11) on the ``asyncio`` backend
- Dropped support for Python 3.7
- Added support for Python 3.12
- Bumped minimum version of trio to v0.22
- Added the ``anyio.Path.is_junction()`` and ``anyio.Path.walk()`` methods
- Added ``create_unix_datagram_socket`` and ``create_connected_unix_datagram_socket`` to
  create UNIX datagram sockets (PR by Jean Hominal)
- Fixed ``from_thread.run`` and ``from_thread.run_sync`` not setting sniffio on asyncio.
  As a result:

  - Fixed ``from_thread.run_sync`` failing when used to call sniffio-dependent functions
    on asyncio
  - Fixed ``from_thread.run`` failing when used to call sniffio-dependent functions on
    asyncio from a thread running trio or curio
  - Fixed deadlock when using ``from_thread.start_blocking_portal(backend="asyncio")``
    in a thread running trio or curio (PR by Ganden Schaffner)
- Improved type annotations:

  - The ``item_type`` argument of ``create_memory_object_stream`` was deprecated.
    To indicate the item type handled by the stream, use
    ``create_memory_object_stream[T_Item]()`` instead. Type checking should no longer
    fail when annotating memory object streams with uninstantiable item types (PR by
    Ganden Schaffner)
- Added the ``CancelScope.cancelled_caught`` property which tells users if the cancel
  scope suppressed a cancellation exception
- Fixed ``fail_after()`` raising an unwarranted ``TimeoutError`` when the cancel scope
  was cancelled before reaching its deadline
- Fixed ``MemoryObjectReceiveStream.receive()`` causing the receiving task on asyncio to
  remain in a cancelled state if the operation was cancelled after an item was queued to
  be received by the task (but before the task could actually receive the item)
- Fixed ``TaskGroup.start()`` on asyncio not responding to cancellation from the outside
- Fixed tasks started from ``BlockingPortal`` not notifying synchronous listeners
  (``concurrent.futures.wait()``) when they're cancelled
- Removed unnecessary extra waiting cycle in ``Event.wait()`` on asyncio in the case
  where the event was not yet set
- Fixed processes spawned by ``anyio.to_process()`` being "lost" as unusable to the
  process pool when processes that have idled over 5 minutes are pruned at part of the
  ``to_process.run_sync()`` call, leading to increased memory consumption
@
text
@d1 1
a1 2
@@comment $NetBSD: PLIST,v 1.2 2023/05/29 17:58:23 adam Exp $
${PYSITELIB}/${WHEEL_INFODIR}/INSTALLER
a4 1
${PYSITELIB}/${WHEEL_INFODIR}/REQUESTED
a5 1
${PYSITELIB}/${WHEEL_INFODIR}/direct_url.json
d10 1
d13 1
d16 1
d19 1
d22 1
d25 1
d28 1
d31 1
d34 1
d37 1
d40 1
d43 1
d46 1
d49 1
d52 1
d55 1
d58 1
d61 1
d64 1
d67 1
d70 1
d73 1
d76 1
d79 1
d82 1
d85 1
d88 1
d92 1
d95 1
d98 1
d101 1
d104 1
d107 1
d110 1
d113 1
d116 1
d119 1
@


1.2
log
@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
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.1 2021/07/08 08:33:21 adam Exp $
a20 2
${PYSITELIB}/anyio/_core/_compat.py
${PYSITELIB}/anyio/_core/_compat.pyc
d47 2
@


1.1
log
@py-anyio: added version 3.2.1

AnyIO 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)
@
text
@d1 10
a10 8
@@comment $NetBSD$
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
${PYSITELIB}/${EGG_INFODIR}/not-zip-safe
${PYSITELIB}/${EGG_INFODIR}/requires.txt
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
a12 1
${PYSITELIB}/anyio/__init__.pyo
a14 1
${PYSITELIB}/anyio/_backends/__init__.pyo
a16 1
${PYSITELIB}/anyio/_backends/_asyncio.pyo
a18 1
${PYSITELIB}/anyio/_backends/_trio.pyo
a20 1
${PYSITELIB}/anyio/_core/__init__.pyo
a22 1
${PYSITELIB}/anyio/_core/_compat.pyo
a24 1
${PYSITELIB}/anyio/_core/_eventloop.pyo
a26 1
${PYSITELIB}/anyio/_core/_exceptions.pyo
a28 1
${PYSITELIB}/anyio/_core/_fileio.pyo
a30 1
${PYSITELIB}/anyio/_core/_resources.pyo
a32 1
${PYSITELIB}/anyio/_core/_signals.pyo
a34 1
${PYSITELIB}/anyio/_core/_sockets.pyo
a36 1
${PYSITELIB}/anyio/_core/_streams.pyo
a38 1
${PYSITELIB}/anyio/_core/_subprocesses.pyo
a40 1
${PYSITELIB}/anyio/_core/_synchronization.pyo
a42 1
${PYSITELIB}/anyio/_core/_tasks.pyo
a44 1
${PYSITELIB}/anyio/_core/_testing.pyo
a46 1
${PYSITELIB}/anyio/_core/_typedattr.pyo
a48 1
${PYSITELIB}/anyio/abc/__init__.pyo
a50 1
${PYSITELIB}/anyio/abc/_resources.pyo
a52 1
${PYSITELIB}/anyio/abc/_sockets.pyo
a54 1
${PYSITELIB}/anyio/abc/_streams.pyo
a56 1
${PYSITELIB}/anyio/abc/_subprocesses.pyo
a58 1
${PYSITELIB}/anyio/abc/_tasks.pyo
a60 1
${PYSITELIB}/anyio/abc/_testing.pyo
a62 1
${PYSITELIB}/anyio/from_thread.pyo
a64 1
${PYSITELIB}/anyio/lowlevel.pyo
a67 1
${PYSITELIB}/anyio/pytest_plugin.pyo
a69 1
${PYSITELIB}/anyio/streams/__init__.pyo
a71 1
${PYSITELIB}/anyio/streams/buffered.pyo
a73 1
${PYSITELIB}/anyio/streams/file.pyo
a75 1
${PYSITELIB}/anyio/streams/memory.pyo
a77 1
${PYSITELIB}/anyio/streams/stapled.pyo
a79 1
${PYSITELIB}/anyio/streams/text.pyo
a81 1
${PYSITELIB}/anyio/streams/tls.pyo
a83 1
${PYSITELIB}/anyio/to_process.pyo
a85 1
${PYSITELIB}/anyio/to_thread.pyo
@

