PyPI version Build status Downloads Documentation Status

In wildness is the salvation of the world. — Aldo Leopold

Wilderness is a light wrapper around argparse for creating command line applications with multiple subcommands, in the style of Git. Wilderness also makes it easy to generate man pages for your application.

Wilderness is heavily inspired by Cleo and argparse-manpage, but aims to stick as closely as possible to argparse to avoid users having to learn a new API.


Wilderness is available on PyPI:

$ pip install wilderness


Building command line applications with Wilderness is straightforward, but it does expect a certain structure of the application. You can create applications with or without subcommands, as illustrated with the fakegit and fakedf examples, respectively.

Creating wilderness applications consist of the following steps:

  1. Subclassing the wilderness.Application class to hold the main application.

  2. Adding one or more wilderness.Command objects for each of the subcommands, optionally organized into wilderness.Groups.

  3. Minor changes to setup.py to build the manpages.


Here are some examples that use Wilderness to build command line applications:




A multi-level command line application similar to Git


An application without subcommands similar to df


CleverCSV is a package for handling messy CSV files


Easy command line analytics

Add your example here by opening a pull request!


License: See the LICENSE file.

Author: Gertjan van den Burg

Indices and tables