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.


Features

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


Installation

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

Documentation for getting started, the API, and common recipes are available at cmdkit.readthedocs.io.


Contributions

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.

Source Distribution

cmdkit-2.2.1.tar.gz (21.1 kB view details)

Uploaded Source

Built Distributions

cmdkit-2.2.1-py3-none-any.whl (29.8 kB view details)

Uploaded Python 3

cmdkit-2.2.1-py2-none-any.whl (29.8 kB view details)

Uploaded Python 2

File details

Details for the file cmdkit-2.2.1.tar.gz.

File metadata

  • Download URL: cmdkit-2.2.1.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.2.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.8.7

File hashes

Hashes for cmdkit-2.2.1.tar.gz
Algorithm Hash digest
SHA256 4021d2b3a0b38066bf3ef8c25d92461d02a2179ae33c8fbb30bc65a442e8f77d
MD5 ec348422ff3be1535494175346d24b89
BLAKE2b-256 5a0be99f7c57960ab5bc2c6d61ee716801d615af93112cc8417794e3d884142a

See more details on using hashes here.

File details

Details for the file cmdkit-2.2.1-py3-none-any.whl.

File metadata

  • Download URL: cmdkit-2.2.1-py3-none-any.whl
  • Upload date:
  • Size: 29.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.2.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.8.7

File hashes

Hashes for cmdkit-2.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 758e60d6b070e36a238b10da67c1ca76714f3f0a0671eb804b3844de514d0c59
MD5 3b166eb4c6762eb7d5f75d6e242e6405
BLAKE2b-256 62aeb1d9e2c5e5dc80cde6bdae9b95ea155abdfd741d5fc5dc9cf82b9c7ef573

See more details on using hashes here.

File details

Details for the file cmdkit-2.2.1-py2-none-any.whl.

File metadata

  • Download URL: cmdkit-2.2.1-py2-none-any.whl
  • Upload date:
  • Size: 29.8 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.2.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.8.7

File hashes

Hashes for cmdkit-2.2.1-py2-none-any.whl
Algorithm Hash digest
SHA256 c50d516193922d6141b8d7e8c6a675a49b6a3e0f2a2a5e8951ea189bf88645f5
MD5 1a863df9abf172212b582756a9dc1139
BLAKE2b-256 41910f300b05cb81781537c3ceac8d7e2e3eae0e34e9d7be58bac63cab14e920

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page