skillfed

backports.asyncio.runner

Backport of asyncio.Runner, a context manager that controls event loop life cycle.

backports-asyncio-runner Permissive license PSF-2.0 AGING 4 v1.2.0 released

Install

backports-asyncio-runner on PyPI

pip

pip install backports-asyncio-runner

uv

uv add backports-asyncio-runner

poetry

poetry add backports-asyncio-runner

Package 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Python Software Foundation LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Python ModulesTyping :: Typed

About backports.asyncio.runner

from the package's own PyPI description — quoted content, verbatim

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.
asyncio runner backportpython 3.8 3.9 3.10 async context managerasyncio.Runner for older pythonevent loop lifecycle managementbackport asyncio runnerrun async functions with contextpython 3.11 asyncio runner backport

Similar packages