Commit Graph

24 Commits

Author SHA256 Message Date
Steve Kowalik
ee39414b64 Correct BuildRequires for exceptiongroup, it is always required.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=40
2024-03-11 23:38:02 +00:00
Steve Kowalik
87b4f920e6 - Update to 4.3.0:
* Added support for the Python 3.12 ``walk_up`` keyword argument in
    ``anyio.Path.relative_to()``
  * Fixed passing ``total_tokens`` to ``anyio.CapacityLimiter()`` as a
    keyword argument not working on the ``trio`` backend
  * Fixed ``Process.aclose()`` not performing the minimum level of
    necessary cleanup when cancelled
  * Fixed ``Process.stdin.aclose()``, ``Process.stdout.aclose()``, and
    ``Process.stderr.aclose()``
- Add exceptiongroup to {Build,}Requires.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=39
2024-03-11 06:15:59 +00:00
5bf63236e0 - update to 4.2.0:
* Add support for byte-based paths in connect_unix,
    create_unix_listeners, create_unix_datagram_socket, and
    create_connected_unix_datagram_socket. (PR by Lura Skye)
  * Enabled the Event and CapacityLimiter classes to be
    instantiated outside an event loop thread
  * Broadly improved/fixed the type annotations. Among other
    things, many functions and methods that take variadic
    positional arguments now make use of PEP 646 TypeVarTuple to
    allow the positional arguments to be validated by static type
    checkers. These changes affected numerous methods and
    functions, including: * anyio.run() * TaskGroup.start_soon()
    * anyio.from_thread.run() * anyio.from_thread.run_sync() *
    anyio.to_thread.run_sync() * anyio.to_process.run_sync() *
    BlockingPortal.call() * BlockingPortal.start_task_soon() *
    BlockingPortal.start_task() (also resolves #560)
  * Fixed various type annotations of anyio.Path to match
    Typeshed: * anyio.Path.__lt__() * anyio.Path.__le__() *
    anyio.Path.__gt__() * anyio.Path.__ge__() *
    anyio.Path.__truediv__() * anyio.Path.__rtruediv__() *
    anyio.Path.hardlink_to() * anyio.Path.samefile() *
    anyio.Path.symlink_to() * anyio.Path.with_segments() (PR by
    Ganden Schaffner)
  * Fixed adjusting the total number of tokens in a
    CapacityLimiter on asyncio failing to wake up tasks waiting
    to acquire the limiter in certain edge cases (fixed with help
    from Egor Blagov)
  * Fixed loop_factory and use_uvloop options not being used on
    the asyncio backend
  * Fixed cancellation propagating on asyncio from a task group

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=37
2024-01-02 20:52:48 +00:00
e684201f2d - 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
2023-12-01 16:55:19 +00:00
6cc0fdae53 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=34 2023-11-16 15:50:07 +00:00
1d74ee67c4 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=33 2023-11-16 15:40:25 +00:00
fc8767e10e - update to 3.7.1:
* Fixed sending large buffers via UNIX stream sockets on
    asyncio
  * Fixed several minor documentation issues (broken links to
    classes, missing classes or attributes)
  * 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()``
  * 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)
  * 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

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=31
2023-11-16 15:34:42 +00:00
Markéta Machová
3bb72dd601 Accepting request 1122463 from home:jirislaby:branches:devel:languages:python
- add tests-test_fileio.py-don-t-follow-symlinks-in-dev.patch (kernel
  6.6 fix)

OBS-URL: https://build.opensuse.org/request/show/1122463
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=29
2023-11-02 12:31:00 +00:00
Steve Kowalik
b74ade8ee7 - Add patch fix-failing-tls-tests.patch:
* Fix test failures with Python TLS changes.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=25
2023-05-04 07:30:14 +00:00
86be3f0bba Accepting request 1081325 from home:dirkmueller:acdc:as_python3_module
SR for python stack proposal

OBS-URL: https://build.opensuse.org/request/show/1081325
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=23
2023-04-22 06:22:18 +00:00
Steve Kowalik
f09f600ddb - Add patc support-trio-0.22.patch:
* Support trio >= 0.22 just enough for asyncclick.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=21
2023-03-07 06:29:47 +00:00
Markéta Machová
d519806b6e Accepting request 1043350 from home:mcalabkova:branches:devel:languages:python
- Skip trio exception tests for now 
  * https://github.com/agronholm/anyio/issues/508
  * 787cb0c2e5

OBS-URL: https://build.opensuse.org/request/show/1043350
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=19
2022-12-16 15:19:18 +00:00
fa1f76c10b - update to 3.6.2:
- Pinned Trio to < 0.22 to avoid incompatibility with AnyIO's ``ExceptionGroup`` class
    causing ``AttributeError: 'NonBaseMultiError' object has no attribute '_exceptions'``
    (AnyIO 4 is unaffected)
  - Fixed exception handler in the asyncio test runner not properly handling a context
    that does not contain the ``exception`` key
  - Fixed ``TypeError`` in ``get_current_task()`` on asyncio when using a custom ``Task`` factory
  - Updated type annotations on ``run_process()`` and ``open_process()``:
    * ``command`` now accepts accepts bytes and sequences of bytes
    * ``stdin``, ``stdout`` and ``stderr`` now accept file-like objects
  - Changed the pytest plugin to run both the setup and teardown phases of asynchronous
    generator fixtures within a single task to enable use cases such as cancel scopes and
    task groups where a context manager straddles the ``yield``

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=16
2022-11-21 21:18:11 +00:00
a3f51b5e5c Accepting request 965236 from home:bnavigator:branches:devel:languages:python
- Add anyio-pytest7.patch -- gh#agronholm/anyio#420

OBS-URL: https://build.opensuse.org/request/show/965236
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=14
2022-03-28 06:41:48 +00:00
1d329a3888 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=12 2022-02-15 15:59:30 +00:00
cdf47aacfa - update to 3.5.0:
- Added ``start_new_session`` keyword argument to ``run_process()`` and ``open_process()``
  - Fixed deadlock in synchronization primitives on asyncio which can happen if a task acquiring a
    primitive is hit with a native (not AnyIO) cancellation with just the right timing, leaving the
    next acquiring task waiting forever
  - Added workaround for bpo-46313_ to enable compatibility with OpenSSL 3.0

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=11
2022-01-15 16:36:52 +00:00
eb1c491f08 - update to 3.4.0:
* Added context propagation to/from worker threads in ``to_thread.run_sync()``,
  ``from_thread.run()`` and ``from_thread.run_sync()``
  * Fixed race condition in ``Lock`` and ``Semaphore`` classes when a task waiting on ``acquire()``
  is cancelled while another task is waiting to acquire the same primitive
  * Fixed async context manager's ``__aexit__()`` method not being called in
  ``BlockingPortal.wrap_async_context_manager()`` if the host task is cancelled
  * Fixed worker threads being marked as being event loop threads in sniffio
  * Fixed task parent ID not getting set to the correct value on asyncio
  * Enabled the test suite to run without IPv6 support, trio or pytest plugin autoloading

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=10
2021-11-29 12:07:20 +00:00
5efc7ea1c2 - update to 3.3.4:
* Fixed ``BrokenResourceError`` instead of ``EndOfStream`` being raised in
   ``TLSStream`` when the peer abruptly closes the connection while
   ``TLSStream`` is receiving data with ``standard_compatible=False`` set

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=9
2021-10-26 20:20:48 +00:00
f51d5b7640 - update to 3.3.3:
* Fixed UNIX socket listener not setting accepted sockets to non-blocking
    mode on asyncio
  * Changed unconnected UDP sockets to be always bound to a local port (on
    "any" interface) to avoid errors on asyncio + Windows
  * Fixed cancellation problem on asyncio where level-triggered cancellation
    for **all** parent cancel scopes would not resume after exiting a 
    shielded nested scope

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=8
2021-10-16 21:06:17 +00:00
a3e7e910c9 Accepting request 919874 from home:bnavigator:branches:devel:languages:python
- Update to v3.3.1
  * Added missing documentation for the ExceptionGroup.exceptions
   attribute
  * Changed the asyncio test runner not to use uvloop by default
    (to match the behavior of anyio.run())
  * Fixed RuntimeError on asyncio when a CancelledError is raised
    from a task spawned through a BlockingPortal (#357)
  * Fixed asyncio warning about a Future with an exception that
    was never retrieved which happened when a socket was already
    written to but the peer abruptly closed the connection
- Release 3.3.0
  * Added asynchronous Path class
  * Added the wrap_file() function for wrapping existing files as
    asynchronous file objects
  * Relaxed the type of the path initializer argument to
    FileReadStream and FileWriteStream so they accept any
    path-like object (including the new asynchronous Path class)
  * Dropped unnecessary dependency on the async_generator library
  * Changed the generics in AsyncFile so that the methods
    correctly return either str or bytes based on the argument to
    open_file()
  * Fixed an asyncio bug where under certain circumstances, a
    stopping worker thread would still accept new assignments,
    leading to a hang
- Release 3.2.1
  * Fixed idle thread pruning on asyncio sometimes causing an
    expired worker thread to be assigned a task
- Release 3.2.0
  * Added Python 3.10 compatibility
  * Added the ability to close memory object streams synchronously

OBS-URL: https://build.opensuse.org/request/show/919874
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=7
2021-09-17 20:42:57 +00:00
e7b101075a Accepting request 919658 from home:dimstar:Factory
- Do not build for python 3.6: the required dependency uvloop does
  no longer support Python 3.6 since version 0.16.

OBS-URL: https://build.opensuse.org/request/show/919658
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=6
2021-09-17 13:23:37 +00:00
30c403eec8 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 12:46:02 +00:00
Steve Kowalik
39814719e6 - 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 05:59:35 +00:00
7f2a513f44 Accepting request 868484 from home:bnavigator:branches:devel:languages:python
Required by updated jupyter-server

(In expectation that Staging:A will be merged tomorrow)

OBS-URL: https://build.opensuse.org/request/show/868484
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-anyio?expand=0&rev=1
2021-02-02 00:11:01 +00:00