The examples directory within the cmd2
repository contains a number of simple self-contained examples which each demonstrate a few particular features of cmd2
. None of them are representative of a full real-world complex cmd2
application, if you are looking for that then see Projects using cmd2.
Here is the list of examples in alphabetical order by filename along with a brief description of each:
- alias_startup.py
- Demonstrates how to add custom command aliases and how to run an initialization script at startup
- arg_decorators.py
- Demonstrates how to use the
cmd2.with_argparser
decorator to specify command arguments using argparse
- Demonstrates how to use the
- arg_print.py
- Demonstrates how arguments and options get parsed and passed to commands and shows how shortcuts work
- argparse_completion.py
- Shows how to integrate tab-completion with argparse-based commands
- async_printing.py
- Shows how to asynchronously print alerts, update the prompt in realtime, and change the window title
- basic.py
- Shows how to add a command, add help for it, and create persistent command history for your application
- basic_completion.py
- Show how to enable custom tab completion by assigning a completer function to
do_*
commands
- Show how to enable custom tab completion by assigning a completer function to
- cmd2_as_argument.py
- Demonstrates how to accept and parse command-line arguments when invoking a cmd2 application
- colors.py
- Show various ways of using colorized output within a cmd2 application
- custom_parser.py
- Demonstrates how to create your own customer
Cmd2ArgumentParser
; used by theoverride_parser.py
example
- Demonstrates how to create your own customer
- decorator_example.py
- Shows how to use cmd2's various argparse decorators to processes command-line arguments
- default_categories.py
- Demonstrates usage of
@with_default_category
decorator to group and categorize commands andCommandSet
use
- Demonstrates usage of
- dynamic_commands.py
- Shows how
do_*
commands can be dynamically created programatically at runtime
- Shows how
- environment.py
- Shows how to create custom
cmd2.Settable
parameters which serve as internal environment variables
- Shows how to create custom
- event_loops.py
- Shows how to integrate a
cmd2
application with an external event loop which isn't managed bycmd2
- Shows how to integrate a
- example.py
- This example is intended to demonstrate
cmd2's
build-in transcript testing capability
- This example is intended to demonstrate
- exit_code.py
- Show how to emit a non-zero exit code from your
cmd2
application when it exits
- Show how to emit a non-zero exit code from your
- first_app.py
- Short application that demonstrates 8 key features: Settings, Commands, Argument Parsing, Generating Output, Help, Shortcuts, Multiple Commands, and History
- hello_cmd2.py
- Completely bare-bones
cmd2
application suitable for rapid testing and debugging ofcmd2
itself
- Completely bare-bones
- help_categories.py
- Demonstrates command categorization and its impact on the output of the built-in
help
command
- Demonstrates command categorization and its impact on the output of the built-in
- hooks.py
- Shows how to use various
cmd2
application lifecycle hooks
- Shows how to use various
- initialization.py
- Shows how to colorize output, use multiline command, add persistent history, and more
- migrating.py
- A simple
cmd
application that you can migrate tocmd2
by changing one line
- A simple
- modular_commands_basic.py
- Demonstrates based
CommandSet
usage
- Demonstrates based
- modular_commands_dynamic.py
- Demonstrates dynamic
CommandSet
loading and unloading
- Demonstrates dynamic
- modular_commands_main.py
- Complex example demonstrating a variety of methods to load
CommandSets
using a mix of command decorators
- Complex example demonstrating a variety of methods to load
- modular_subcommands.py
- Shows how to dynamically add and remove subcommands at runtime using
CommandSets
- Shows how to dynamically add and remove subcommands at runtime using
- override-parser.py
- Shows how to override cmd2's default
Cmd2ArgumentParser
with your own customer parser class
- Shows how to override cmd2's default
- paged_output.py
- Shows how to use output pagination within
cmd2
apps via theppaged
method
- Shows how to use output pagination within
- persistent_history.py
- Shows how to enable persistent history in your
cmd2
application
- Shows how to enable persistent history in your
- pirate.py
- Demonstrates many features including colorized output, multiline commands, shorcuts, defaulting to shell, etc.
- python_scripting.py
- Shows how cmd2's built-in
run_pyscript
command can provide advanced Python scripting of cmd2 applications
- Shows how cmd2's built-in
- read_input.py
- Demonstrates the various ways to call
cmd2.Cmd.read_input()
for input history and tab completion
- Demonstrates the various ways to call
- remove_builtin_commands.py
- Shows how to remove any built-in cmd2 commands you do not want to be present in your cmd2 application
- remove_settable.py
- Shows how to remove any of the built-in cmd2
Settables
you do not want in your cmd2 application
- Shows how to remove any of the built-in cmd2
- subcommands.py
- Shows how to use
argparse
to easily support sub-commands within your cmd2 commands
- Shows how to use
- table_creation.py
- Contains various examples of using cmd2's table creation capabilities
- tmux_launch.sh
- Shell script that launches two applications using tmux in different windows/tabs
- tmux_split.sh
- Shell script that launches two applications using tmux in a split pane view
- unicode_commands.py
- Shows that cmd2 supports unicode everywhere, including within command names