cmd2¶
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.
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 Homebrew package manager to install the readline
package;
alternatively for macOS the conda
package manager that comes with the Anaconda Python distro can be used to
install readline
(preferably from conda-forge).
For Windows, we recommend installing the pyreadline Python module.
Resources¶
- cmd
- cmd2 project page
- project bug tracker
- Florida PyCon 2017: slides
- PyOhio 2011: 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:
Compatibility¶
Tested and working with Python 2.7 and 3.4+.