Skip to main content

A command-line utility toolkit for Python.

Project description

A library for developing command-line applications in Python.

License PyPI Version Python Versions Documentation Downloads

The cmdkit library implements a few common patterns needed by well-formed command-line applications in Python. It only touches a few concepts but it implements them well. The idea is to reduce the boilerplate needed to get a full featured CLI off the ground. Applications developed using cmdkit are easy to implement, easy to maintain, and easy to understand.


  • An Interface class for parsing command-line arguments.
  • An Application class that provides the boilerplate for a good entry-point.
  • A Configuration class built on top of a recursive Namespace class that provides automatic depth-first merging of dictionaries from local files, as well as automatic environment variable discovery and type-coercion.


CmdKit is built on Python 3.7+ and can be installed using Pip.

➜ pip install cmdkit

Getting Started

See the Tutorial for examples.

You can also checkout how cmdkit is being used by other projects.

Project Description
REFITT Recommender Engine for Intelligent Transient Tracking
hyper-shell Hyper-shell is an elegant, cross-platform, high-performance computing utility for processing shell commands over a distributed, asynchronous queue.
delete-cli A simple, cross-platform, command-line move-to-trash.


Documentation for getting started, the API, and common recipes are available at


Contributions are welcome in the form of suggestions for additional features, pull requests with new features or bug fixes, etc. If you find bugs or have questions, open an Issue here. If and when the project grows, a code of conduct will be provided along side a more comprehensive set of guidelines for contributing; until then, just be nice.

Project details

Download files

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

Files for cmdkit, version 2.1.3
Filename, size File type Python version Upload date Hashes
Filename, size cmdkit-2.1.3-py3-none-any.whl (29.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size cmdkit-2.1.3.tar.gz (20.5 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page