Skip to content

vEpiphyte/aioconsole

 
 

Repository files navigation

aioconsole

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.

console

$ 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:

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) ---

python3

>>> await asyncio.sleep(1, result=3) # Wait one second... 3 >>>

Documentation

Find more examples in the documentation and the example directory.

Contact

Vincent Michel: vxgmichel@gmail.com

About

Asynchronous console and interfaces for asyncio

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.4%
  • Shell 0.6%