Learn to serve Stable Diffusion models on cloud infrastructure at scale. This Lightning App shows load-balancing, orchestrating, pre-provisioning, dynamic batching, GPU-inference, micro-services working together via the Lightning Apps framework.
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.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps asgiref from 3.5.2 to 3.6.0.
Changelog
Sourced from asgiref's changelog.
Commits
79a1d01
Releasing 3.6.0.7a6c631
Added release note for coroutine detection shims.bea951e
Added Python 3.11 supportea79016
Updated timeout helper to use get_running_loop(). (#337)36f37c9
Added coroutine detection shims for Python 3.12 (#360)467c154
Updated pre-commit versions and fixed linting errors.72c5ca1
Updated flake8 repo location in pre-commit config to github.8b76e05
Tweak conf.py to fix Sphinx warnings (#355)9acb1a2
Added missingHTTPResponseTrailersEvent
toASGISendEvent
3b5aaff
Added HTTP Trailers extensionDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)