Skip to content

# 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.

1. 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 `App`:

Creating a class inherited from cmd2.Cmd

    1
    2
    3

    from cmd2 import Cmd
    class App(Cmd):
       # customized attributes and methods here

1. Instantiate `App` and start the command loop:

Instantiating and starting a cmd2 app

    1
    2
    3
    4
    5
    6

    from cmd2 import Cmd
    class App(Cmd):
       # customized attributes and methods here

    app = App()
    app.cmdloop()

## Getting Started

See the Getting Started section for info on how to get started building a `cmd2` application.

## Migrating from cmd2

See the Migrating from cmd2 section for info on how to migrate a `cmd` application to `cmd2`.

## Features

See the Features section for a detailed guide to the features available within `cmd2`.

## Examples

See the Examples section for various examples of using `cmd2`.

## Mixins

See the Mixins section for info on how to extend `cmd2` using mixins.

## Testing

See the Testing section for special considerations when writing unit or integration tests for a `cmd2` application.

## API Reference

See the API Reference for detailed information on the public API of `cmd2`.

## Meta

See the Documentation Conventions for info on conventions used in this documentation.