pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/devel/py-anyio



Module Name:    pkgsrc
Committed By:   adam
Date:           Fri Sep  4 05:29:18 UTC 2026

Modified Files:
        pkgsrc/devel/py-anyio: Makefile PLIST distinfo

Log Message:
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


To generate a diff of this commit:
cvs rdiff -u -r1.37 -r1.38 pkgsrc/devel/py-anyio/Makefile
cvs rdiff -u -r1.12 -r1.13 pkgsrc/devel/py-anyio/PLIST
cvs rdiff -u -r1.33 -r1.34 pkgsrc/devel/py-anyio/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/devel/py-anyio/Makefile
diff -u pkgsrc/devel/py-anyio/Makefile:1.37 pkgsrc/devel/py-anyio/Makefile:1.38
--- pkgsrc/devel/py-anyio/Makefile:1.37 Tue Jul 14 09:08:48 2026
+++ pkgsrc/devel/py-anyio/Makefile      Fri Sep  4 05:29:17 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.37 2026/07/14 09:08:48 adam Exp $
+# $NetBSD: Makefile,v 1.38 2026/09/04 05:29:17 adam Exp $
 
-DISTNAME=      anyio-4.14.2
+DISTNAME=      anyio-4.15.0
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME}
 CATEGORIES=    devel python
 MASTER_SITES=  ${MASTER_SITE_PYPI:=a/anyio/}
@@ -20,8 +20,8 @@ TEST_DEPENDS+=        ${PYPKGPREFIX}-exceptiong
 TEST_DEPENDS+= ${PYPKGPREFIX}-hypothesis>=4.0:../../devel/py-hypothesis
 TEST_DEPENDS+= ${PYPKGPREFIX}-psutil>=5.9:../../sysutils/py-psutil
 TEST_DEPENDS+= ${PYPKGPREFIX}-test-mock>=3.6.1:../../devel/py-test-mock
-TEST_DEPENDS+= ${PYPKGPREFIX}-trustme-[0-9]*:../../security/py-trustme
-TEST_DEPENDS+= ${PYPKGPREFIX}-trio-[0-9]*:../../devel/py-trio
+TEST_DEPENDS+= ${PYPKGPREFIX}-trustme>=0:../../security/py-trustme
+TEST_DEPENDS+= ${PYPKGPREFIX}-trio>=0:../../devel/py-trio
 TEST_DEPENDS+= ${PYPKGPREFIX}-truststore>=0.9.1:../../security/py-truststore
 TEST_DEPENDS+= ${PYPKGPREFIX}-uvloop>=0.21:../../devel/py-uvloop
 

Index: pkgsrc/devel/py-anyio/PLIST
diff -u pkgsrc/devel/py-anyio/PLIST:1.12 pkgsrc/devel/py-anyio/PLIST:1.13
--- pkgsrc/devel/py-anyio/PLIST:1.12    Wed Jul 22 08:24:14 2026
+++ pkgsrc/devel/py-anyio/PLIST Fri Sep  4 05:29:18 2026
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.12 2026/07/22 08:24:14 adam Exp $
+@comment $NetBSD: PLIST,v 1.13 2026/09/04 05:29:18 adam Exp $
 ${PYSITELIB}/${WHEEL_INFODIR}/METADATA
 ${PYSITELIB}/${WHEEL_INFODIR}/RECORD
 ${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
@@ -23,6 +23,9 @@ ${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
@@ -35,6 +38,9 @@ ${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
@@ -65,6 +71,9 @@ ${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

Index: pkgsrc/devel/py-anyio/distinfo
diff -u pkgsrc/devel/py-anyio/distinfo:1.33 pkgsrc/devel/py-anyio/distinfo:1.34
--- pkgsrc/devel/py-anyio/distinfo:1.33 Tue Jul 14 09:08:48 2026
+++ pkgsrc/devel/py-anyio/distinfo      Fri Sep  4 05:29:18 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.33 2026/07/14 09:08:48 adam Exp $
+$NetBSD: distinfo,v 1.34 2026/09/04 05:29:18 adam Exp $
 
-BLAKE2s (anyio-4.14.2.tar.gz) = 5db93b44be803767a54283d7475e48be6e2cf8b5b8b16b74a7339563a672f517
-SHA512 (anyio-4.14.2.tar.gz) = 94f52ab81fbfab5d30937a0a7f4714f5cc9d8265f5450ccce1fff1f953f234f8c286d484f06f91e8737fa8d4d325275a1a62cce31fd66d4447c55eddcca87f2e
-Size (anyio-4.14.2.tar.gz) = 260176 bytes
+BLAKE2s (anyio-4.15.0.tar.gz) = 4cc2de57ef9c52f5b427c4b72ebb6e7e0ebecffade709869c966cf0e23e0b93a
+SHA512 (anyio-4.15.0.tar.gz) = 947b5cb49475b301dcc435fc950108c8dee280dec00b810bdbbbad1224fd0dfde97f32e3bf6df94755d6ce983055019fd4b10d0f2b9c221a714686ad463fb5f0
+Size (anyio-4.15.0.tar.gz) = 276504 bytes



Home | Main Index | Thread Index | Old Index