Skip to main content
Help us improve Python packaging – donate today!

cmd2 - a tool for building interactive command line applications in Python

Project Description

cmd2 is a tool for building interactive command line applications in Python. Its goal is to make it quick and easy for developers to build feature-rich and user-friendly interactive command line applications. It provides a simple API which is an extension of Python’s built-in cmd module. cmd2 provides a wealth of features on top of cmd to make your life easier and eliminates much of the boilerplate code which would be necessary when using cmd.

The latest documentation for cmd2 can be read online here: https://cmd2.readthedocs.io/

Main features:

  • Searchable command history (history command and <Ctrl>+r)
  • Text file scripting of your application with load (@) and _relative_load (@@)
  • Python scripting of your application with pyscript
  • Run shell commands with !
  • Pipe command output to shell commands with |
  • Redirect command output to file with >, >>; input from file with <
  • Bare >, >> with no filename send output to paste buffer (clipboard)
  • py enters interactive Python console (opt-in ipy for IPython console)
  • Multi-line commands
  • Special-character command shortcuts (beyond cmd’s ? and !)
  • Settable environment parameters
  • Parsing commands with arguments using argparse, including support for sub-commands
  • Unicode character support (Python 3 only)
  • Good tab-completion of commands, sub-commands, file system paths, and shell commands
  • Python 2.7 and 3.4+ support
  • Linux, macOS and Windows support
  • Trivial to provide built-in help for all commands
  • Built-in regression testing framework for your applications (transcript-based testing)
  • Transcripts for use with built-in regression can be automatically generated from history -t

Usable without modification anywhere cmd is used; simply import cmd2.Cmd in place of cmd.Cmd.

Release history Release notifications

This version
History Node

0.8.5

History Node

0.8.4

History Node

0.8.3

History Node

0.8.2

History Node

0.8.1

History Node

0.8.0

History Node

0.7.9

History Node

0.7.8

History Node

0.7.7

History Node

0.7.6

History Node

0.7.5

History Node

0.7.4

History Node

0.7.3

History Node

0.7.2

History Node

0.7.1

History Node

0.7.0

History Node

0.6.9

History Node

0.6.8

History Node

0.6.7

History Node

0.6.6.1

History Node

0.6.6

History Node

0.6.5.1

History Node

0.6.5

History Node

0.6.4

History Node

0.6.3

History Node

0.6.2

History Node

0.6.1

History Node

0.6.0

History Node

0.5.5

History Node

0.5.4

History Node

0.5.3

History Node

0.5.2

History Node

0.5.1

History Node

0.5.0

History Node

0.4.8

History Node

0.4.7

History Node

0.4.6

History Node

0.4.5

History Node

0.4.4

History Node

0.4.3

History Node

0.4.2

History Node

0.4.1

History Node

0.4

History Node

0.3.7

History Node

0.3.6

History Node

0.3.5

History Node

0.3.4.1

History Node

0.3.4

History Node

0.3.3

History Node

0.3.2

History Node

0.3.1

History Node

0.3.0

History Node

0.2.3

History Node

0.2.2

History Node

0.2.1

History Node

0.2

History Node

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
cmd2-0.8.5-py2.py3-none-any.whl (51.5 kB) Copy SHA256 hash SHA256 Wheel 3.6 Apr 15, 2018
cmd2-0.8.5.tar.gz (108.6 kB) Copy SHA256 hash SHA256 Source None Apr 15, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page