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 and
do_*methods to control its behavior. Throughout this documentation, we will assume that you are naming your subclass
from cmd2 import Cmd class App(Cmd): # customized attributes and methods here
Appand start the command loop:
app = App() app.cmdloop()
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
alternatively for macOS the
conda package manager that comes with the Anaconda Python distro can be used to
readline (preferably from conda-forge).
For Windows, we recommend installing the pyreadline Python module.
- cmd2 project page
- project bug tracker
- PyCon 2010 presentation, Easy Command-Line Applications with cmd and cmd2: slides, video
These docs will refer to
App as your
app as an instance of
course, in your program, you may name them whatever
- Installation Instructions
- Features requiring no modifications
- Features requiring only parameter changes
- Features requiring application changes
- Transcript based testing
- Integrating cmd2 with external tools
- cmd2 Application Lifecycle and Hooks
- Alternatives to cmd and cmd2
Tested and working with Python 2.7 and 3.3+.