python-anyio/python-anyio.spec

98 lines
3.4 KiB
RPMSpec
Raw Normal View History

#
# spec file for package python-anyio
#
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
%define skip_python36 1
Name: python-anyio
Accepting request 897158 from home:alarrosa:branches:devel:languages:python - Update to 3.1.0: * Added env and cwd keyword arguments to run_process() and open_process. * Added support for mutation of CancelScope.shield (PR by John Belmonte) * Added the sleep_forever() and sleep_until() functions * Changed asyncio task groups so that if the host and child tasks have only raised CancelledErrors, just one CancelledError will now be raised instead of an ExceptionGroup, allowing asyncio to ignore it when it propagates out of the task * Changed task names to be converted to str early on asyncio (PR by Thomas Grainger) * Fixed sniffio._impl.AsyncLibraryNotFoundError: unknown async library, or not in async context on asyncio and Python 3.6 when to_thread.run_sync() is used from loop.run_until_complete() * Fixed odd ExceptionGroup: 0 exceptions were raised in the task group appearing under certain circumstances on asyncio * Fixed wait_all_tasks_blocked() returning prematurely on asyncio when a previously blocked task is cancelled (PR by Thomas Grainger) * Fixed declared return type of TaskGroup.start() (it was declared as None, but anything can be returned from it) * Fixed TextStream.extra_attributes raising AttributeError (PR by Thomas Grainger) * Fixed await maybe_async(current_task()) returning None (PR by Thomas Grainger) * Fixed: pickle.dumps(current_task()) now correctly raises TypeError instead of pickling to None (PR by Thomas Grainger) * Fixed return type annotation of Event.wait() (bool → None) (PR by Thomas Grainger) OBS-URL: https://build.opensuse.org/request/show/897158 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=5
2021-06-03 14:46:02 +02:00
Version: 3.1.0
Release: 0
Summary: High level compatibility layer for asynchronous event loop implementations
License: MIT
URL: https://github.com/agronholm/anyio
Source: https://files.pythonhosted.org/packages/source/a/anyio/anyio-%{version}.tar.gz
- Update to 2.2.0: * Added the ``maybe_async()`` and ``maybe_async_cm()`` functions to facilitate forward compatibility with AnyIO 3 * Fixed socket stream bug on asyncio where receiving a half-close from the peer would shut down the entire connection * Fixed native task names not being set on asyncio on Python 3.8+ * Fixed ``TLSStream.send_eof()`` raising ``ValueError`` instead of the expected ``NotImplementedError`` * Fixed ``open_signal_receiver()`` on asyncio and curio hanging if the cancel scope was cancelled before the function could run * Fixed Trio test runner causing unwarranted test errors on ``BaseException``s * Fixed formatted output of ``ExceptionGroup`` containing too many newlines * Added the ``spawn_task()`` and ``wrap_async_context_manager()`` methods to ``BlockingPortal`` * Added the ``handshake_timeout`` and ``error_handler`` parameters to ``TLSListener`` * Fixed ``Event`` objects on the trio backend not inheriting from ``anyio.abc.Event`` * Fixed ``run_sync_in_worker_thread()`` raising ``UnboundLocalError`` on asyncio when cancelled * Fixed ``send()`` on socket streams not raising any exception on asyncio, and an unwrapped * ``BrokenPipeError`` on trio and curio when the peer has disconnected * Fixed ``MemoryObjectSendStream.send()`` raising ``BrokenResourceError`` when the last receiver is closed right after receiving the item * Fixed ``ValueError: Invalid file descriptor: -1`` when closing a ``SocketListener`` on asyncio OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=3
2021-03-15 06:59:35 +01:00
BuildRequires: %{python_module async_generator if %python-base < 3.7}
BuildRequires: %{python_module dataclasses if %python-base < 3.7}
BuildRequires: %{python_module idna >= 2.8}
- Update to 2.2.0: * Added the ``maybe_async()`` and ``maybe_async_cm()`` functions to facilitate forward compatibility with AnyIO 3 * Fixed socket stream bug on asyncio where receiving a half-close from the peer would shut down the entire connection * Fixed native task names not being set on asyncio on Python 3.8+ * Fixed ``TLSStream.send_eof()`` raising ``ValueError`` instead of the expected ``NotImplementedError`` * Fixed ``open_signal_receiver()`` on asyncio and curio hanging if the cancel scope was cancelled before the function could run * Fixed Trio test runner causing unwarranted test errors on ``BaseException``s * Fixed formatted output of ``ExceptionGroup`` containing too many newlines * Added the ``spawn_task()`` and ``wrap_async_context_manager()`` methods to ``BlockingPortal`` * Added the ``handshake_timeout`` and ``error_handler`` parameters to ``TLSListener`` * Fixed ``Event`` objects on the trio backend not inheriting from ``anyio.abc.Event`` * Fixed ``run_sync_in_worker_thread()`` raising ``UnboundLocalError`` on asyncio when cancelled * Fixed ``send()`` on socket streams not raising any exception on asyncio, and an unwrapped * ``BrokenPipeError`` on trio and curio when the peer has disconnected * Fixed ``MemoryObjectSendStream.send()`` raising ``BrokenResourceError`` when the last receiver is closed right after receiving the item * Fixed ``ValueError: Invalid file descriptor: -1`` when closing a ``SocketListener`` on asyncio OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=3
2021-03-15 06:59:35 +01:00
BuildRequires: %{python_module setuptools_scm}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module sniffio >= 1.1}
- Update to 2.2.0: * Added the ``maybe_async()`` and ``maybe_async_cm()`` functions to facilitate forward compatibility with AnyIO 3 * Fixed socket stream bug on asyncio where receiving a half-close from the peer would shut down the entire connection * Fixed native task names not being set on asyncio on Python 3.8+ * Fixed ``TLSStream.send_eof()`` raising ``ValueError`` instead of the expected ``NotImplementedError`` * Fixed ``open_signal_receiver()`` on asyncio and curio hanging if the cancel scope was cancelled before the function could run * Fixed Trio test runner causing unwarranted test errors on ``BaseException``s * Fixed formatted output of ``ExceptionGroup`` containing too many newlines * Added the ``spawn_task()`` and ``wrap_async_context_manager()`` methods to ``BlockingPortal`` * Added the ``handshake_timeout`` and ``error_handler`` parameters to ``TLSListener`` * Fixed ``Event`` objects on the trio backend not inheriting from ``anyio.abc.Event`` * Fixed ``run_sync_in_worker_thread()`` raising ``UnboundLocalError`` on asyncio when cancelled * Fixed ``send()`` on socket streams not raising any exception on asyncio, and an unwrapped * ``BrokenPipeError`` on trio and curio when the peer has disconnected * Fixed ``MemoryObjectSendStream.send()`` raising ``BrokenResourceError`` when the last receiver is closed right after receiving the item * Fixed ``ValueError: Invalid file descriptor: -1`` when closing a ``SocketListener`` on asyncio OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=3
2021-03-15 06:59:35 +01:00
BuildRequires: %{python_module toml}
BuildRequires: %{python_module typing_extensions if %python-base < 3.8}
- Update to 2.2.0: * Added the ``maybe_async()`` and ``maybe_async_cm()`` functions to facilitate forward compatibility with AnyIO 3 * Fixed socket stream bug on asyncio where receiving a half-close from the peer would shut down the entire connection * Fixed native task names not being set on asyncio on Python 3.8+ * Fixed ``TLSStream.send_eof()`` raising ``ValueError`` instead of the expected ``NotImplementedError`` * Fixed ``open_signal_receiver()`` on asyncio and curio hanging if the cancel scope was cancelled before the function could run * Fixed Trio test runner causing unwarranted test errors on ``BaseException``s * Fixed formatted output of ``ExceptionGroup`` containing too many newlines * Added the ``spawn_task()`` and ``wrap_async_context_manager()`` methods to ``BlockingPortal`` * Added the ``handshake_timeout`` and ``error_handler`` parameters to ``TLSListener`` * Fixed ``Event`` objects on the trio backend not inheriting from ``anyio.abc.Event`` * Fixed ``run_sync_in_worker_thread()`` raising ``UnboundLocalError`` on asyncio when cancelled * Fixed ``send()`` on socket streams not raising any exception on asyncio, and an unwrapped * ``BrokenPipeError`` on trio and curio when the peer has disconnected * Fixed ``MemoryObjectSendStream.send()`` raising ``BrokenResourceError`` when the last receiver is closed right after receiving the item * Fixed ``ValueError: Invalid file descriptor: -1`` when closing a ``SocketListener`` on asyncio OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=3
2021-03-15 06:59:35 +01:00
BuildRequires: python-rpm-macros >= 20210127.3a18043
# SECTION test requirements
BuildRequires: %{python_module hypothesis >= 4.0}
Accepting request 897158 from home:alarrosa:branches:devel:languages:python - Update to 3.1.0: * Added env and cwd keyword arguments to run_process() and open_process. * Added support for mutation of CancelScope.shield (PR by John Belmonte) * Added the sleep_forever() and sleep_until() functions * Changed asyncio task groups so that if the host and child tasks have only raised CancelledErrors, just one CancelledError will now be raised instead of an ExceptionGroup, allowing asyncio to ignore it when it propagates out of the task * Changed task names to be converted to str early on asyncio (PR by Thomas Grainger) * Fixed sniffio._impl.AsyncLibraryNotFoundError: unknown async library, or not in async context on asyncio and Python 3.6 when to_thread.run_sync() is used from loop.run_until_complete() * Fixed odd ExceptionGroup: 0 exceptions were raised in the task group appearing under certain circumstances on asyncio * Fixed wait_all_tasks_blocked() returning prematurely on asyncio when a previously blocked task is cancelled (PR by Thomas Grainger) * Fixed declared return type of TaskGroup.start() (it was declared as None, but anything can be returned from it) * Fixed TextStream.extra_attributes raising AttributeError (PR by Thomas Grainger) * Fixed await maybe_async(current_task()) returning None (PR by Thomas Grainger) * Fixed: pickle.dumps(current_task()) now correctly raises TypeError instead of pickling to None (PR by Thomas Grainger) * Fixed return type annotation of Event.wait() (bool → None) (PR by Thomas Grainger) OBS-URL: https://build.opensuse.org/request/show/897158 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=5
2021-06-03 14:46:02 +02:00
BuildRequires: %{python_module mock >= 4.0}
BuildRequires: %{python_module pytest >= 6.0}
Accepting request 897158 from home:alarrosa:branches:devel:languages:python - Update to 3.1.0: * Added env and cwd keyword arguments to run_process() and open_process. * Added support for mutation of CancelScope.shield (PR by John Belmonte) * Added the sleep_forever() and sleep_until() functions * Changed asyncio task groups so that if the host and child tasks have only raised CancelledErrors, just one CancelledError will now be raised instead of an ExceptionGroup, allowing asyncio to ignore it when it propagates out of the task * Changed task names to be converted to str early on asyncio (PR by Thomas Grainger) * Fixed sniffio._impl.AsyncLibraryNotFoundError: unknown async library, or not in async context on asyncio and Python 3.6 when to_thread.run_sync() is used from loop.run_until_complete() * Fixed odd ExceptionGroup: 0 exceptions were raised in the task group appearing under certain circumstances on asyncio * Fixed wait_all_tasks_blocked() returning prematurely on asyncio when a previously blocked task is cancelled (PR by Thomas Grainger) * Fixed declared return type of TaskGroup.start() (it was declared as None, but anything can be returned from it) * Fixed TextStream.extra_attributes raising AttributeError (PR by Thomas Grainger) * Fixed await maybe_async(current_task()) returning None (PR by Thomas Grainger) * Fixed: pickle.dumps(current_task()) now correctly raises TypeError instead of pickling to None (PR by Thomas Grainger) * Fixed return type annotation of Event.wait() (bool → None) (PR by Thomas Grainger) OBS-URL: https://build.opensuse.org/request/show/897158 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=5
2021-06-03 14:46:02 +02:00
BuildRequires: %{python_module pytest-mock >= 3.6.1}
- Update to 2.2.0: * Added the ``maybe_async()`` and ``maybe_async_cm()`` functions to facilitate forward compatibility with AnyIO 3 * Fixed socket stream bug on asyncio where receiving a half-close from the peer would shut down the entire connection * Fixed native task names not being set on asyncio on Python 3.8+ * Fixed ``TLSStream.send_eof()`` raising ``ValueError`` instead of the expected ``NotImplementedError`` * Fixed ``open_signal_receiver()`` on asyncio and curio hanging if the cancel scope was cancelled before the function could run * Fixed Trio test runner causing unwarranted test errors on ``BaseException``s * Fixed formatted output of ``ExceptionGroup`` containing too many newlines * Added the ``spawn_task()`` and ``wrap_async_context_manager()`` methods to ``BlockingPortal`` * Added the ``handshake_timeout`` and ``error_handler`` parameters to ``TLSListener`` * Fixed ``Event`` objects on the trio backend not inheriting from ``anyio.abc.Event`` * Fixed ``run_sync_in_worker_thread()`` raising ``UnboundLocalError`` on asyncio when cancelled * Fixed ``send()`` on socket streams not raising any exception on asyncio, and an unwrapped * ``BrokenPipeError`` on trio and curio when the peer has disconnected * Fixed ``MemoryObjectSendStream.send()`` raising ``BrokenResourceError`` when the last receiver is closed right after receiving the item * Fixed ``ValueError: Invalid file descriptor: -1`` when closing a ``SocketListener`` on asyncio OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=3
2021-03-15 06:59:35 +01:00
BuildRequires: %{python_module trio >= 0.16}
BuildRequires: %{python_module trustme}
BuildRequires: %{python_module uvloop}
# Note to packagers: future versions will drop curio (https://github.com/agronholm/anyio/pull/182)
BuildRequires: %{python_module curio >= 1.4}
# /SECTION
BuildRequires: fdupes
Requires: python-idna >= 2.8
Requires: python-sniffio >= 1.1
%if 0%{?python_version_nodots} < 38
Requires: python-typing_extensions
%endif
%if 0%{?python_version_nodots} < 37
Requires: python-async_generator
Requires: python-dataclasses
%endif
Suggests: python-trio >= 0.1
# See note above
Suggests: python-curio >= 1.4
BuildArch: noarch
%python_subpackages
%description
Accepting request 897158 from home:alarrosa:branches:devel:languages:python - Update to 3.1.0: * Added env and cwd keyword arguments to run_process() and open_process. * Added support for mutation of CancelScope.shield (PR by John Belmonte) * Added the sleep_forever() and sleep_until() functions * Changed asyncio task groups so that if the host and child tasks have only raised CancelledErrors, just one CancelledError will now be raised instead of an ExceptionGroup, allowing asyncio to ignore it when it propagates out of the task * Changed task names to be converted to str early on asyncio (PR by Thomas Grainger) * Fixed sniffio._impl.AsyncLibraryNotFoundError: unknown async library, or not in async context on asyncio and Python 3.6 when to_thread.run_sync() is used from loop.run_until_complete() * Fixed odd ExceptionGroup: 0 exceptions were raised in the task group appearing under certain circumstances on asyncio * Fixed wait_all_tasks_blocked() returning prematurely on asyncio when a previously blocked task is cancelled (PR by Thomas Grainger) * Fixed declared return type of TaskGroup.start() (it was declared as None, but anything can be returned from it) * Fixed TextStream.extra_attributes raising AttributeError (PR by Thomas Grainger) * Fixed await maybe_async(current_task()) returning None (PR by Thomas Grainger) * Fixed: pickle.dumps(current_task()) now correctly raises TypeError instead of pickling to None (PR by Thomas Grainger) * Fixed return type annotation of Event.wait() (bool → None) (PR by Thomas Grainger) OBS-URL: https://build.opensuse.org/request/show/897158 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=5
2021-06-03 14:46:02 +02:00
Asynchronous compatibility API that allows applications and libraries written
against it to run unmodified on asyncio, curio and trio.
%prep
%setup -q -n anyio-%{version}
%build
%python_build
%install
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
# bind and resolution failures inside OBS
donttest+=" or (TestTCPStream and (ipv4 or ipv6))"
donttest+=" or (TestTCPListener and (ipv4 or ipv6))"
donttest+=" or (TestConnectedUDPSocket and (ipv4 or ipv6))"
donttest+=" or (TestUDPSocket and (ipv4 or ipv6))"
# wrong localhost address
donttest+=" or (TestTCPStream and test_happy_eyeballs)"
donttest+=" or (TestTCPStream and test_connection_refused)"
donttest+=" or test_getaddrinfo"
%pytest -k "not (${donttest:4})" -ra
%files %{python_files}
%doc README.rst
%license LICENSE
%{python_sitelib}/anyio
%{python_sitelib}/anyio-%{version}*-info
%changelog