aioconsole
Asynchronous console and interfaces for asyncio
What it is and what it does
aioconsole bridges the gap between Python's standard synchronous console functions and asyncio by providing async-aware equivalents. It lets you use `await` syntax directly in an interactive Python console via the `apython` command, and offers async versions of `input()`, `print()`, `exec()`, and the interactive code interpreter. The package has no runtime dependencies and installs cleanly on modern Python versions supporting Python >= 3.8.
The package was first released in 2016 and remains actively maintained. However, the documentation itself notes that the ecosystem has evolved since its early releases, and recommends considering other options for new projects depending on your specific use case.
Use it for:
- Quick interactive exploration of asyncio code without modifying source files using the `apython` REPL.
- Building a command-line tool that needs to prompt for user input while running async tasks.
- Embedding an async-aware Python console in an asyncio application for debugging or runtime inspection.
- Running Python scripts or modules with an event loop already active via the `apython` command.
- Serving a remote async console interface over a network socket for interactive debugging.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides asynchronous equivalents to Python's built-in `input()`, `print()`, `exec()`, and `code.interact()` functions, plus an interactive asyncio console accessible via the `apython` command-line script.
Yes, if you need a quick async REPL for exploration or are maintaining legacy code. The package is stable, actively maintained, and has no external dependencies. However, the documentation recommends evaluating alternatives for new projects, so verify whether this meets your specific needs before committing.
Install
aioconsole on PyPI
pip
pip install aioconsoleuv
uv add aioconsolepoetry
poetry add aioconsoleInstalling aioconsole
Before you install
Low install friction with no runtime dependencies. Actively maintained as of 2025-10-14 with recent commits; however, the documentation itself notes that superior alternatives now exist for async prompting and console interaction.
License in practice
Licensed under GPL-3.0-or-later (copyleft). Any derivative work or modification must be distributed under the same or compatible license; proprietary or closed-source projects cannot incorporate this package without legal review.
Quickstart
# Install
pip install aioconsole
# Use the async console
apython
# Or import and use async functions
import asyncio
from aioconsole import ainput, aprint
async def main():
name = await ainput("Enter your name: ")
await aprint(f"Hello, {name}!")
asyncio.run(main())
Requires Python >= 3.8. The package's own documentation recommends alternative libraries for new async input use cases.
Verify before relying
- Whether ainput() performance or feature set meets modern async application needs
- Current state of readline support and terminal compatibility across platforms
- Whether stream-based interface serving is actively used or maintained
- How this compares to alternatives mentioned in the documentation for new projects
Package facts
| License | GPL-3.0-or-later (copyleft) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 304 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 833,936/month — #4,937 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: aioconsole-0.8.2-py3-none-any.whl
Tags
More Terminals packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
richRich renders styled text, tables, progress…
permissive · top 100 on PyPI
coloramaColorama makes ANSI escape sequences for…
permissive · top 100 on PyPI
wcwidthMeasures the displayed width of Unicode strings…
permissive · top 1,000 on PyPI
ptyprocessRun a subprocess in a pseudo terminal (pty) and…
permissive · top 1,000 on PyPI
pexpectPexpect spawns and controls interactive console…
permissive · top 1,000 on PyPI
aiomonitorAdds a concurrent monitor and interactive…
permissive · top 15,000 on PyPI
aiostreamaiostream provides composable stream operators…
copyleft · top 5,000 on PyPI
aiofilesProvides non-blocking file I/O for asyncio…
permissive · top 1,000 on PyPI
pyserial-asyncioAdds async/await support to pyserial for…
permissive · top 15,000 on PyPI
synchronicityWraps async functions, generators, and classes…
permissive · top 1,000 on PyPI
aiomultiprocessCombines AsyncIO and multiprocessing to run…
permissive · top 5,000 on PyPI
aioserialProvides async/await serial port I/O using…
copyleft · top 15,000 on PyPI
click-replAdds an interactive REPL mode to Click…
permissive · top 1,000 on PyPI
aioshutilProvides async-friendly versions of shutil…
permissive · top 15,000 on PyPI
qasyncqasync integrates asyncio coroutines into…
permissive · top 15,000 on PyPI