Up to [cvs.NetBSD.org] / pkgsrc / www / py-asgiref
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
py-*: remove unused tool dependency py-setuptools includes the py-wheel functionality nowadays
py-asgiref: updated to 3.8.1 3.8.1 (2024-03-22) ------------------ * Fixes a regression in 3.8.0 affecting nested task cancellation inside sync_to_async. 3.8.0 (2024-03-20) ------------------ * Adds support for Python 3.12. * Drops support for (end-of-life) Python 3.7. * Fixes task cancellation propagation to subtasks when using synchronous Django middleware. * Allows nesting ``sync_to_async`` via ``asyncio.wait_for``. * Corrects WSGI adapter handling of root path. * Handles case where `"client"` is ``None`` in WsgiToAsgi adapter.
py-asgiref: updated to 3.7.2 3.7.2 (2023-05-27) ------------------ * The type annotations for SyncToAsync and AsyncToSync have been changed to more accurately reflect the kind of callables they return. 3.7.1 (2023-05-24) ------------------ * On Python 3.10 and below, the version of the "typing_extensions" package is now constrained to be at least version 4 (as we depend on functionality in that version and above) 3.7.0 (2023-05-23) ------------------ * Contextvars are now required for the implementation of `sync` as Python 3.6 is now no longer a supported version. * sync_to_async and async_to_sync now pass-through * Debug and Lifespan State extensions have resulted in a typing change for some request and response types. This change should be backwards-compatible. * ``asgiref`` frames will now be hidden in Django tracebacks by default. * Raw performance and garbage collection improvements in Local, SyncToAsync, and AsyncToSync.
py-asgiref: updated to 3.6.0 3.6.0 (2022-12-20) ------------------ * 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. **Note** that these functions are considered **beta**, and as such, whilst not likely, are subject to change in a point release, until the final release of Python 3.12. They are included in ``asgiref`` now so that they can be adopted by Django 4.2, in preparation for support of Python 3.12. * 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.
py-asgiref: updated to 3.5.2 3.5.2 (2022-05-16) ------------------ * Allow async-callables class instances to be passed to AsyncToSync without warning * Prevent giving async-callable class instances to SyncToAsync
py-asgiref: updated to 3.5.1 3.5.1 (2022-04-30) ------------------ * sync_to_async in thread-sensitive mode now works corectly when the outermost thread is synchronous
py-asgiref: updated to 3.5.0 3.5.0 (2022-01-22) ------------------ * Python 3.6 is no longer supported, and asyncio calls have been changed to use only the modern versions of the APIs as a result * Several causes of RuntimeErrors in cases where an event loop was assigned to a thread but not running * Speed improvements in the Local class
*: bump PKGREVISION for egg.mk users They now have a tool dependency on py-setuptools instead of a DEPENDS
py-asgiref: updated to 3.4.1 3.4.1 (2021-07-01) ------------------ * Fixed an issue with the deadlock detection where it had false positives during exception handling. 3.4.0 (2021-06-27) ------------------ * 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.
py-asgiref: updated to 3.3.4 3.3.4 (2021-04-06) ------------------ * 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. 3.3.3 (2021-04-06) ------------------ * The sync conversion functions now correctly detect functools.partial and other wrappers around async functions on earlier Python releases.
py-asgiref: updated to 3.3.2 3.3.2 (2021-04-05) ------------------ * 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)
py-asgiref: update to 3.3.1 3.3.1: Unknown changes
py-asgiref: updated to 3.3.0 3.3.0: * sync_to_async now defaults to thread-sensitive mode being on * async_to_sync now works inside of forked processes * WsgiToAsgi now correctly clamps its response body when Content-Length is set
py-asgiref: updated to 3.2.10 3.2.10: * Fixed bugs due to bad WeakRef handling introduced in 3.2.8
py-asgiref: updated to 3.2.9 3.2.9: * Fixed regression with exception handling in 3.2.8 related to the contextvars fix. 3.2.8: * Fixed small memory leak in local.Local * contextvars are now persisted through AsyncToSync
py-asgiref: updated to 3.2.7 3.2.7: * Bug fixed in local.Local where deleted Locals would occasionally inherit their storage into new Locals due to memory reuse.
py-asgiref: updated to 3.2.6 3.2.6: * local.Local now works in all threading situations, no longer requires periodic garbage collection, and works with libraries that monkeypatch threading (like gevent)
py-asgiref: updated to 3.2.5 3.2.5 * __self__ is now preserved on methods by async_to_sync 3.2.4 * Pending tasks/async generators are now cancelled when async_to_sync exits * Contextvars now propagate changes both ways through sync_to_async * sync_to_async now preserves attributes on functions it wraps
py-asgiref: updated to 3.2.3 3.2.3: * Added support and testing for Python 3.8.
py-asgiref: updated to 3.2.2 3.2.2: * WsgiToAsgi maps multi-part request bodies into a single WSGI input file * WsgiToAsgi passes the `root_path` scope as SCRIPT_NAME * WsgiToAsgi now checks the scope type to handle `lifespan` better * WsgiToAsgi now passes the server port as a string, like WSGI * SyncToAsync values are now identified as coroutine functions by asyncio * SyncToAsync now handles __self__ correctly for methods
py-asgiref: updated to 3.2.1 3.2.1: * sys.exc_info() is now propagated across thread boundaries 3.2.0: * New "thread_sensitive" argument to SyncToAsync allows for pinning of code into the same thread as other thread_sensitive code. * Test collection on Python 3.7 fixed
py-asgiref: updated to 3.1.4 3.1.4: * Fixed an incompatibility with Python 3.5 introduced in the last release.
py-asgiref: updated to 3.1.3 3.1.3: * async_timeout has been removed as a dependency, so there are now no required dependencies. * The WSGI adapter now sets REMOTE_ADDR from the ASGI client.
Omit mentions of python 34 and 35, after those were removed. - Includes some whitespace changes, to be handled in a separate commit.
py-asgiref: updated to 3.1.2 3.1.2: * New thread_critical argument to Local to tell it to not inherit contexts across threads/tasks. * Local now inherits across any number of sync_to_async to async_to_sync calls nested inside each other 3.1.1: * Local now cleans up storage of old threads and tasks to prevent a memory leak. 3.1.0: * Added asgiref.local module to provide threading.local drop-in replacement. 3.0.0: * Updated to match new ASGI 3.0 spec * Compatibility library added that allows adapting ASGI 2 apps into ASGI 3 apps losslessly
py-asgiref: updated to 2.3.2 2.3.2: * Packaging fix to allow old async_timeout dependencies (2.0 as well as 3.0) 2.3.1: * WSGI-to-ASGI adapter now works with empty bodies in responses * Update async-timeout dependency
py-asgiref: updated to 2.3.0 2.3.0: * ApplicationCommunicator now has a receive_nothing() test available
py-asgiref: updated to 2.2.0 2.2.0: * Cancelled tasks now correctly cascade-cancel their children * Communicator.wait() no longer re-raises CancelledError from inner coroutines
py-asgiref: updated to 2.1.6 2.1.6: * async_to_sync now works inside of threads (but is still not allowed in threads that have an active event loop)
py-asgiref: updated to 2.1.5 2.1.5: * Fixed issues with async_to_sync not setting the event loop correctly * Stop async_to_sync being called from threads with an active event loop
py-asgiref: updated to 2.1.4 2.1.4: * Values are now correctly returned from sync_to_async and async_to_sync * ASGI_THREADS environment variable now works correctly 2.1.3: * Add an ApplicationCommunicator.wait() method to allow you to wait for an application instance to exit before seeing what it did. 2.1.2: * Allow AsyncToSync to work if called from a non-async-wrapped sync context. 2.1.1: * Allow AsyncToSync constructor to be called inside SyncToAsync.
py-asgiref: updated to 2.1.0 2.1.0: * Add asgiref.testing module with ApplicationCommunicator testing helper
Added PYTHON_VERSIONS_INCOMPATIBLE
py-asgiref: updated to 2.0.1 2.0.1: * Bugfix release to have HTTP response content message as the correct "http.response.content" not the older "http.response.chunk". 2.0.0: * Complete rewrite for new async-based ASGI mechanisms and removal of channel layers.
Contains various reference ASGI implementations, including: * A base channel layer, asgiref.base_layer * An in-memory channel layer, asgiref.inmemory * WSGI-to-ASGI and ASGI-to-WSGI adapters, in asgiref.wsgi