Asynchronous console and interfaces for asyncio
aioconsole provides:
asynchronous equivalents to input, print, exec and code.interact
an interactive loop running the asynchronous python console
a way to customize and run command line interface using argparse
stream support to serve interfaces instead of using standard streams
the apython script to access asyncio code at runtime without modifying the sources
Requirements
python >= 3.4
Installation
aioconsole is available on PyPI and GitHub. Both of the following commands install the aioconsole package and the apython script.
$ pip3 install aioconsole # from PyPI
$ python3 setup.py install # or from the sources
$ apython -h
usage: apython [-h] [--serve [HOST:] PORT] [--no-readline]
[--banner BANNER] [--locals LOCALS]
[-m MODULE | FILE] ...
Run the given python file or module with a modified asyncio policy replacing
the default event loop with an interactive loop. If no argument is given, it
simply runs an asynchronous python console.
positional arguments:
FILE python file to run
ARGS extra arguments
optional arguments:
-h, --help show this help message and exit
--serve [HOST:] PORT, -s [HOST:] PORT
serve a console on the given interface instead
--no-readline force readline disabling
--banner BANNER provide a custom banner
--locals LOCALS provide custom locals as a dictionary
-m MODULE run a python module
Simple usage
The following example demonstrates the use of await inside the console:
$ apython
Python 3.5.0 (default, Sep 7 2015, 14:12:03)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
---
This console is running in an asyncio event loop.
It allows you to wait for coroutines using the 'await' syntax.
Try: await asyncio.sleep(1, result=3, loop=loop)
---
>>> await asyncio.sleep(1, result=3)
# Wait one second...
3
>>>
Documentation
Find more examples in the documentation and the example directory.
Limitations
The python console exposed by aioconsole is quite limited compared to modern consoles such as IPython or ptpython. Luckily, those projects gained greater asyncio support over the years. In particular, the following use cases overlap with aioconsole capabilities:
Contact
Vincent Michel: vxgmichel@gmail.com
Metadata
Release files for aioconsole 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| aioconsole-0.2.1.tar.gz | 14.3 kB | Without provenance | Details for aioconsole-0.2.1.tar.gz |
Release files / aioconsole-0.2.1.tar.gz
| Download URL | aioconsole-0.2.1.tar.gz |
|---|---|
| Size | 14.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f63d007c5c0fd5a30769af0a6b749307ea86001c4f217d3e5e9e248ccdfec1d0
|
|
BLAKE2b-256 checksum How to use checksums |
0624d88c186e84457b6a7a2a01c21ccf1e9a1125b5d33157acb28388bfc0a73c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.32.1 CPython/3.7.4
|
Security for aioconsole 0.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.