skillfed

aioconsole

Asynchronous console and interfaces for asyncio

aioconsole v0.8.2 833.9K downloads/30d#4,937 on PyPI485
Copyleft license GPL-3.0-or-later Active released

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 aioconsole

uv

uv add aioconsole

poetry

poetry add aioconsole

Installing 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

License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)Programming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

async input promptasyncio console replasync print functioninteractive asyncio shellapython command lineasync code executionasyncio interactive loop
asyncioreplinteractive-console

More Terminals packages