A python package for building powerful command-line interpreter (CLI) programs. Extends the Python Standard Library's cmd package.
The basic use of cmd2
is identical to that of cmd.
python
Create a subclass of
cmd2.Cmd
. Define attributes anddo_*
methods to control its behavior. Throughout this documentation, we will assume that you are naming your subclassApp
:from cmd2 import Cmd class App(Cmd): # customized attributes and methods here
Instantiate
App
and start the command loop:app = App() app.cmdloop()
Note
The tab-completion feature provided by cmd relies on underlying capability provided by GNU readline or an equivalent library. Linux distros will almost always come with the required library installed. For macOS, we recommend using the gnureadline Python module which includes a statically linked version of GNU readline. Alternatively on macOS the conda
package manager that comes with the Anaconda Python distro can be used to install readline
(preferably from conda-forge) or the Homebrew package manager can be used to to install the readline
package. For Windows, we recommend installing the pyreadline Python module.
- cmd
- cmd2 project page
- project bug tracker
- Florida PyCon 2017: slides, video
These docs will refer to App
as your cmd2.Cmd
subclass, and app
as an instance of App
. Of course, in your program, you may name them whatever you want.
Contents:
install overview freefeatures settingchanges unfreefeatures transcript argument_processing integrating hooks alternatives
Tested and working with Python 3.4+ on Windows, macOS, and Linux.
genindex