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