Skip to content

A console for Python that will keep all output above the input line without interrupting the input line.

License

Notifications You must be signed in to change notification settings

nathan-fiscaletti/inputconsole

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

InputConsole

PyPI version Downloads GitHub issues GitHub license

InputConsole is a console for Python that will keep all output above the input line without interrupting the input line.

Looking for the GoLang Version?

Demo

Install

$ pip3 install inputconsole

Example

from inputconsole import InputConsole

# Create the console
console = InputConsole()

# Register a command
def help(args):
    console.write("I don't want to help you {0}.\n".format(args[0]))
console.register_command('help', help)

# Set unknown command handler, Return 'True' for command handled or
# 'False' for command not handled.
def unknown_command_handler(command):
    console.write("Unknown command: " + command)
    return True
console.set_unknown_command_handler(unknown_command_handler)

# Start listening for input on a new thread
# Input line will always stay at the bottom
console.listen_for_input()

# Generate random output to keep the output thread active.
def steady_flow():
    num = 0
    while True:
        console.write("this is an output message: {0}\n".format(num))
        time.sleep(2)
        num += 1
t = Thread(target=steady_flow)
t.start()
t.join()

About

A console for Python that will keep all output above the input line without interrupting the input line.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published