aconsole

Async console like GUI built top of tkinter and asyncio.


License
MIT
Install
pip install aconsole==0.0.3

Documentation

aconsole

Asynchorous Commandline like GUI for Python 3. You can now get this lib from pip: https://pypi.org/project/aconsole

Provides async await for print and input. It also supports having multiple awaiting inputs, which are queued and then processed one by one.

See: Multiple inputs awaiting.

Other supported features:

  • Canceling input.
  • Changing color theme
  • Chaging transparency

Controls

Mouse for navigating the output. Keys for input:

[Enter] Submits input.
[Up/Down] Navigates input history.

Keys for output:

[Ctrl+C] Copy selected content.
[Ctrl+R] Clears output.

Depencies

Just Python 3.5 or above. For GUI it uses Tkinter, which is built-in module in Python.
Tested on: Mac, Linux and Windows.


A Simple Example

import asyncio
import aconsole

if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    
    console = AsyncConsole()
    console.title('echo test')

    async def echo():
        while True:
            result = await console.input('echo to out: ')
            console.print('echo:', result)

    run_task = console.run(loop)
    loop.create_task(echo())
    loop.run_until_complete(run_task) # wait until window closed

image


Other Examples