* Two new functions are added to the ``asgiref.sync`` module:
``iscoroutinefunction()`` and ``markcoroutinefunction()``.
* Python 3.12 deprecates ``asyncio.iscoroutinefunction()`` as an alias for
``inspect.iscoroutinefunction()``, whilst also removing the
``_is_coroutine`` marker. The latter is replaced with the
``inspect.markcoroutinefunction`` decorator.
* The new ``asgiref.sync`` functions are compatibility shims for these
functions that can be used until Python 3.12 is the minimum supported
version.
* The ``loop`` argument to ``asgiref.timeout.timeout`` is deprecated. As per
other ``asyncio`` based APIs, the running event loop is used by default.
Note that ``asyncio`` provides timeout utilities from Python 3.11, and
these should be preferred where available.
* Support for the ``ASGI_THREADS`` environment variable, used by
``SyncToAsync``, is removed. In general, a running event-loop is not
available to `asgiref` at import time, and so the default thread pool
executor cannot be configured. Protocol servers, or applications, should set
the default executor as required when configuring the event loop at
application startup.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-asgiref?expand=0&rev=14
- Update to 3.4.1
* Fixed an issue with the deadlock detection where it had false positives
during exception handling- Release to 3.4.0
- Release to 3.4.0
* Calling sync_to_async directly from inside itself (which causes a deadlock
when in the default, thread-sensitive mode) now has deadlock detection.
* asyncio usage has been updated to use the new versions of get_event_loop,
ensure_future, wait and gather, avoiding deprecation warnings in Python 3.10.
Python 3.6 installs continue to use the old versions; this is only for 3.7+
* sync_to_async and async_to_sync now have improved type hints that pass
through the underlying function type correctly.
* All Websocket* types are now spelled WebSocket, to match our specs and the
official spelling. The old names will work until release 3.5.0, but will
raise deprecation warnings.
* The typing for WebSocketScope and HTTPScope's `extensions` key has been
fixed.
OBS-URL: https://build.opensuse.org/request/show/915312
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-asgiref?expand=0&rev=11
- Update to 3.3.4
* The async_to_sync type error is now a warning due the
high false negative rate when trying to detect
coroutine-returning callables in Python.
- Release to 3.3.3
* The sync conversion functions now correctly detect
functools.partial and other wrappers around async
functions on earlier Python releases.
- Release to 3.3.2
* SyncToAsync now takes an optional "executor" argument if
you want to supply your own executor rather than using
the built-in one.
* async_to_sync and sync_to_async now check their
arguments are functions of the correct type.
* Raising CancelledError inside a SyncToAsync function no
longer stops a future call from functioning.
* ThreadSensitive now provides context hooks/override
options so it can be made to be sensitive in a unit
smaller than threads (e.g. per request)
OBS-URL: https://build.opensuse.org/request/show/890796
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-asgiref?expand=0&rev=8