Adam
Adam

Reputation: 510

Custom Interactive Shell with AutoComplete

I have been tasked to create an interactive shell to be embedded in python, such that, when called from the command line it will be dropped into that shell. Can anyone recommend me a library that does this?

I would need the ability to create custom words, "actions," so when the user types those words, my program can execute the correct function that I have created. I would also like the ability of auto complete / tab complete on the custom words I created.

Example:

$ python myapplication.py
$ myapp> 
$ myapp> help
   ... prints the help menu
$ myapp> run service blah
   .. service blah runs ...
$ myapp> exit
$ 

Upvotes: 10

Views: 13147

Answers (2)

Travis
Travis

Reputation: 2787

Try this cmd module from the standard library. It's designed for that purpose.

Upvotes: 9

pratikone
pratikone

Reputation: 113

Python Prompt toolkit is a very good module to use when you want to make a fully featured interactive shell. It comes with all the needed features like :

  • Auto-complete (with visual dropdowns)
  • Command history and search
  • Works cross-platform

Upvotes: 5

Related Questions