- update to 4.1.0:
* Adapted to API changes made in Trio v0.23 * Removed a checkpoint when exiting a task group * Renamed the ``cancellable`` argument in ``anyio.to_thread.run_sync()`` to * ``abandon_on_cancel`` (and deprecated the old parameter name) * Added support for voluntary thread cancellation via * ``anyio.from_thread.check_cancelled()`` * Bumped minimum version of trio to v0.23 * Exposed the ``ResourceGuard`` class in the public API * Fixed ``RuntimeError: Runner is closed`` when running higher- scoped async generator fixtures in some cases * Fixed discrepancy between ``asyncio`` and ``trio`` where reraising a cancellation exception in an ``except*`` block would incorrectly bubble out of its cancel scope * 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 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=36
This commit is contained in:
parent
6cc0fdae53
commit
e684201f2d
BIN
anyio-3.7.1.tar.gz
(Stored with Git LFS)
BIN
anyio-3.7.1.tar.gz
(Stored with Git LFS)
Binary file not shown.
3
anyio-4.1.0.tar.gz
Normal file
3
anyio-4.1.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:5a0bec7085176715be77df87fc66d6c9d70626bd752fcc85f57cdbee5b3760da
|
||||||
|
size 155773
|
@ -1,3 +1,66 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Dec 1 16:52:20 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 4.1.0:
|
||||||
|
* Adapted to API changes made in Trio v0.23
|
||||||
|
* Removed a checkpoint when exiting a task group
|
||||||
|
* Renamed the ``cancellable`` argument in
|
||||||
|
``anyio.to_thread.run_sync()`` to
|
||||||
|
* ``abandon_on_cancel`` (and deprecated the old parameter name)
|
||||||
|
* Added support for voluntary thread cancellation via
|
||||||
|
* ``anyio.from_thread.check_cancelled()``
|
||||||
|
* Bumped minimum version of trio to v0.23
|
||||||
|
* Exposed the ``ResourceGuard`` class in the public API
|
||||||
|
* Fixed ``RuntimeError: Runner is closed`` when running higher-
|
||||||
|
scoped async generator fixtures in some cases
|
||||||
|
* Fixed discrepancy between ``asyncio`` and ``trio`` where
|
||||||
|
reraising a cancellation exception in an ``except*`` block
|
||||||
|
would incorrectly bubble out of its cancel scope
|
||||||
|
* 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
|
||||||
|
``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``
|
||||||
|
* Dropped support for Python 3.7
|
||||||
|
* Added support for Python 3.12
|
||||||
|
* 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
|
||||||
|
- drop tests-test_fileio.py-don-t-follow-symlinks-in-dev.patch
|
||||||
|
(upstream)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Nov 16 15:31:07 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
Thu Nov 16 15:31:07 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
@ -18,14 +18,12 @@
|
|||||||
|
|
||||||
%{?sle15_python_module_pythons}
|
%{?sle15_python_module_pythons}
|
||||||
Name: python-anyio
|
Name: python-anyio
|
||||||
Version: 3.7.1
|
Version: 4.1.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: High level compatibility layer for asynchronous event loop implementations
|
Summary: High level compatibility layer for asynchronous event loop implementations
|
||||||
License: MIT
|
License: MIT
|
||||||
URL: https://github.com/agronholm/anyio
|
URL: https://github.com/agronholm/anyio
|
||||||
Source: https://files.pythonhosted.org/packages/source/a/anyio/anyio-%{version}.tar.gz
|
Source: https://files.pythonhosted.org/packages/source/a/anyio/anyio-%{version}.tar.gz
|
||||||
# PATCH-FIX-UPSTREAM see gh#agronholm/anyio#626
|
|
||||||
Patch2: tests-test_fileio.py-don-t-follow-symlinks-in-dev.patch
|
|
||||||
BuildRequires: %{python_module contextlib2 if %python-base < 3.7}
|
BuildRequires: %{python_module contextlib2 if %python-base < 3.7}
|
||||||
BuildRequires: %{python_module dataclasses if %python-base < 3.7}
|
BuildRequires: %{python_module dataclasses if %python-base < 3.7}
|
||||||
BuildRequires: %{python_module idna >= 2.8}
|
BuildRequires: %{python_module idna >= 2.8}
|
||||||
@ -42,7 +40,7 @@ BuildRequires: %{python_module hypothesis >= 4.0}
|
|||||||
BuildRequires: %{python_module mock >= 4.0 if %python-base < 3.8}
|
BuildRequires: %{python_module mock >= 4.0 if %python-base < 3.8}
|
||||||
BuildRequires: %{python_module pytest >= 7.0}
|
BuildRequires: %{python_module pytest >= 7.0}
|
||||||
BuildRequires: %{python_module pytest-mock >= 3.6.1}
|
BuildRequires: %{python_module pytest-mock >= 3.6.1}
|
||||||
BuildRequires: %{python_module trio >= 0.16}
|
BuildRequires: %{python_module trio >= 0.23}
|
||||||
BuildRequires: %{python_module trustme}
|
BuildRequires: %{python_module trustme}
|
||||||
# /SECTION
|
# /SECTION
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
@ -55,7 +53,7 @@ Requires: python-typing_extensions
|
|||||||
Requires: python-contextvars
|
Requires: python-contextvars
|
||||||
Requires: python-dataclasses
|
Requires: python-dataclasses
|
||||||
%endif
|
%endif
|
||||||
Suggests: python-trio >= 0.16
|
Suggests: python-trio >= 0.23
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
%python_subpackages
|
%python_subpackages
|
||||||
|
|
||||||
|
@ -1,33 +0,0 @@
|
|||||||
From: Jiri Slaby <jirislaby@gmail.com>
|
|
||||||
Date: Thu, 2 Nov 2023 11:37:44 +0100
|
|
||||||
Subject: tests: test_fileio.py: don't follow symlinks in /dev
|
|
||||||
Patch-mainline: submitted https://github.com/agronholm/anyio/pull/626
|
|
||||||
References: fix for kernel 6.6
|
|
||||||
|
|
||||||
There might be a broken one like /dev/log and this causes the tests to
|
|
||||||
fail.
|
|
||||||
|
|
||||||
This is highly is unpredictable, because os.scandir() sometimes returns
|
|
||||||
a block device, sometimes the broken link is hit.
|
|
||||||
|
|
||||||
So pass follow_symlinks=False to entry.stat().
|
|
||||||
---
|
|
||||||
tests/test_fileio.py | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/tests/test_fileio.py b/tests/test_fileio.py
|
|
||||||
index 9e6b2a8325..c4801187db 100644
|
|
||||||
--- a/tests/test_fileio.py
|
|
||||||
+++ b/tests/test_fileio.py
|
|
||||||
@@ -218,7 +218,7 @@ class TestPath:
|
|
||||||
assert not await Path("/btelkbee").is_block_device()
|
|
||||||
with os.scandir("/dev") as iterator:
|
|
||||||
for entry in iterator:
|
|
||||||
- if stat.S_ISBLK(entry.stat().st_mode):
|
|
||||||
+ if stat.S_ISBLK(entry.stat(follow_symlinks=False).st_mode):
|
|
||||||
assert await Path(entry.path).is_block_device()
|
|
||||||
break
|
|
||||||
else:
|
|
||||||
--
|
|
||||||
2.42.0
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user