backports.asyncio.runner
Backport of asyncio.Runner, a context manager that controls event loop life cycle.
Install
backports-asyncio-runner on PyPI
pip
pip install backports-asyncio-runneruv
uv add backports-asyncio-runnerpoetry
poetry add backports-asyncio-runnerPackage facts
| License | PSF-2.0 (permissive) |
| Python support | capped below the current Python release (<3.11,>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | aging — 407 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: backports_asyncio_runner-1.2.0-py3-none-any.whl
Keywords: asyncio, asyncio.Runner, backports, backports.asyncio, backports.asyncio.Runner
About backports.asyncio.runner
from the package's own PyPI description — quoted content, verbatim
backports.asyncio.runner
PyPI version (image) GitHub Actions (image) Hatch (image) Ruff (image) Uv (image) Type checked with mypy (image) Coverage (image)
Read as markdown · JSON record · Source repository · Homepage
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
Provides Python 3.8–3.10 with asyncio.Runner, a context manager that simplifies running multiple async functions in the same event loop context, matching Python 3.11's standard library implementation.
Zero runtime dependencies and a pure-wheel distribution keep installation friction minimal. The package is aging (407 days since last release), but the repository remains active with a recent commit on 2025-07-02 and no archived status.
Licensed under PSF-2.0 (Python Software Foundation License), a permissive license that poses no restrictions on commercial or private use.
Usage
import sys
if sys.version_info < (3, 11):
from backports.asyncio.runner import Runner
else:
from asyncio import Runner
async def echo(msg: str) -> None:
print(f"Hello {msg}")
with Runner() as runner:
runner.run(echo("World"))
Python 3.8, 3.9, or 3.10 required; package is not meant for Python 3.11 or above where asyncio.Runner is built-in.
Verdict: A stable, dependency-free backport of Python 3.11's asyncio.Runner for older Python versions, with no known vulnerabilities. The aging maintenance status (407 days since release) is expected for a reference implementation backport; the package remains production-ready for its narrow, well-defined scope.
Needs verification
- Whether the slight performance degradation from using _PyTask instead of _CTask is acceptable for your use case.
- Compatibility with event loop implementations other than asyncio and uvloop.
Similar packages
permissive · top 1,000 on PyPI
pkgutil_resolve_namepermissive · top 1,000 on PyPI
backports.tarfilepermissive · top 1,000 on PyPI
asynciopermissive · top 1,000 on PyPI
zipppermissive · top 100 on PyPI
importlib-resourcespermissive · top 1,000 on PyPI
exceptiongrouppermissive · top 1,000 on PyPI
hatchpermissive · top 1,000 on PyPI
ruffpermissive · top 1,000 on PyPI
typermissive · top 1,000 on PyPI