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:           Wed Oct 18 08:58:38 UTC 2023

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

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


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 pkgsrc/devel/py-anyio/Makefile
cvs rdiff -u -r1.2 -r1.3 pkgsrc/devel/py-anyio/PLIST
cvs rdiff -u -r1.14 -r1.15 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.15 pkgsrc/devel/py-anyio/Makefile:1.16
--- pkgsrc/devel/py-anyio/Makefile:1.15 Sat Jul  8 05:33:19 2023
+++ pkgsrc/devel/py-anyio/Makefile      Wed Oct 18 08:58:38 2023
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.15 2023/07/08 05:33:19 adam Exp $
+# $NetBSD: Makefile,v 1.16 2023/10/18 08:58:38 adam Exp $
 
-DISTNAME=      anyio-3.7.1
+DISTNAME=      anyio-4.0.0
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME}
 CATEGORIES=    devel python
 MASTER_SITES=  ${MASTER_SITE_PYPI:=a/anyio/}
@@ -14,7 +14,6 @@ TOOL_DEPENDS+=        ${PYPKGPREFIX}-setuptools
 TOOL_DEPENDS+= ${PYPKGPREFIX}-wheel-[0-9]*:../../devel/py-wheel
 DEPENDS+=      ${PYPKGPREFIX}-idna>=2.8:../../www/py-idna
 DEPENDS+=      ${PYPKGPREFIX}-sniffio>=1.1:../../misc/py-sniffio
-TEST_DEPENDS+= ${PYPKGPREFIX}-uvloop>=0.17:../../devel/py-uvloop
 TEST_DEPENDS+= ${PYPKGPREFIX}-coverage>=4.5:../../devel/py-coverage
 TEST_DEPENDS+= ${PYPKGPREFIX}-hypothesis>=4.0:../../devel/py-hypothesis
 TEST_DEPENDS+= ${PYPKGPREFIX}-psutil>=5.9:../../sysutils/py-psutil
@@ -29,7 +28,10 @@ PYTHON_VERSIONS_INCOMPATIBLE=        27
 
 .include "../../lang/python/pyversion.mk"
 .if ${PYTHON_VERSION} < 311
-DEPENDS+=      ${PYPKGPREFIX}-exceptiongroup-[0-9]*:../../devel/py-exceptiongroup
+DEPENDS+=      ${PYPKGPREFIX}-exceptiongroup>=1.0.2:../../devel/py-exceptiongroup
+.endif
+.if ${PYTHON_VERSION} < 312
+TEST_DEPENDS+= ${PYPKGPREFIX}-uvloop>=0.17:../../devel/py-uvloop
 .endif
 
 do-test:

Index: pkgsrc/devel/py-anyio/PLIST
diff -u pkgsrc/devel/py-anyio/PLIST:1.2 pkgsrc/devel/py-anyio/PLIST:1.3
--- pkgsrc/devel/py-anyio/PLIST:1.2     Mon May 29 17:58:23 2023
+++ pkgsrc/devel/py-anyio/PLIST Wed Oct 18 08:58:38 2023
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.2 2023/05/29 17:58:23 adam Exp $
+@comment $NetBSD: PLIST,v 1.3 2023/10/18 08:58:38 adam Exp $
 ${PYSITELIB}/${WHEEL_INFODIR}/INSTALLER
 ${PYSITELIB}/${WHEEL_INFODIR}/LICENSE
 ${PYSITELIB}/${WHEEL_INFODIR}/METADATA
@@ -18,8 +18,6 @@ ${PYSITELIB}/anyio/_backends/_trio.py
 ${PYSITELIB}/anyio/_backends/_trio.pyc
 ${PYSITELIB}/anyio/_core/__init__.py
 ${PYSITELIB}/anyio/_core/__init__.pyc
-${PYSITELIB}/anyio/_core/_compat.py
-${PYSITELIB}/anyio/_core/_compat.pyc
 ${PYSITELIB}/anyio/_core/_eventloop.py
 ${PYSITELIB}/anyio/_core/_eventloop.pyc
 ${PYSITELIB}/anyio/_core/_exceptions.py
@@ -46,6 +44,8 @@ ${PYSITELIB}/anyio/_core/_typedattr.py
 ${PYSITELIB}/anyio/_core/_typedattr.pyc
 ${PYSITELIB}/anyio/abc/__init__.py
 ${PYSITELIB}/anyio/abc/__init__.pyc
+${PYSITELIB}/anyio/abc/_eventloop.py
+${PYSITELIB}/anyio/abc/_eventloop.pyc
 ${PYSITELIB}/anyio/abc/_resources.py
 ${PYSITELIB}/anyio/abc/_resources.pyc
 ${PYSITELIB}/anyio/abc/_sockets.py

Index: pkgsrc/devel/py-anyio/distinfo
diff -u pkgsrc/devel/py-anyio/distinfo:1.14 pkgsrc/devel/py-anyio/distinfo:1.15
--- pkgsrc/devel/py-anyio/distinfo:1.14 Sat Jul  8 05:33:19 2023
+++ pkgsrc/devel/py-anyio/distinfo      Wed Oct 18 08:58:38 2023
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.14 2023/07/08 05:33:19 adam Exp $
+$NetBSD: distinfo,v 1.15 2023/10/18 08:58:38 adam Exp $
 
-BLAKE2s (anyio-3.7.1.tar.gz) = 0a05a6d21319df203c16bd2fb62eeac8e4fb0d779ffba6cbd002c5bf741c8da6
-SHA512 (anyio-3.7.1.tar.gz) = 067bbffa9e0d6ce339a4999a677c857e839aa3bf5a056d841fec8cbd3be17023c9158df907ff66b9a5437a78158bc9bbb3b9ebe30c57ef98660642bc057d7d10
-Size (anyio-3.7.1.tar.gz) = 142927 bytes
+BLAKE2s (anyio-4.0.0.tar.gz) = 910d8caae919f292c5b3c1dee1d6f946783851cb41c7b056cba12158cf63578c
+SHA512 (anyio-4.0.0.tar.gz) = b0ec5aa912c973206d8677a6aba25957cd669dfe890ee7d39af064f1620f9a5103a39bd6d35f4ea680b86d13964daf1e982ac6873bf5903eeaaa6e74ea974948
+Size (anyio-4.0.0.tar.gz) = 153297 bytes



Home | Main Index | Thread Index | Old Index