toolcli makes it easy to create structured hierarchical cli tools
Project description
toolcli
toolcli
makes it simple to create modular command line interfaces
the main usecase for toolcli
is allowing many cli subcommands to be defined across many files in a performant way
toolcli
uses argparse
under the hood, making it easy to transition from argparse
to toolcli
when a project is ready to scale to multiple subcommands or multiple files
Features
- lazy loading of files for fast startup times
- is agnostic to synchronous functions or
async
functions - uses
rich
for colorized help output - uses
argparse
under the hood for parsing arguments - no user-facing objects, just simple functions
- built-in support for common subcommands like
help
,cd
, andversion
- can use middleware before and/or after main command execution (e.g. for logging or additional context injection)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
toolcli-0.6.4.tar.gz
(24.0 kB
view details)
Built Distribution
toolcli-0.6.4-py3-none-any.whl
(33.5 kB
view details)
File details
Details for the file toolcli-0.6.4.tar.gz
.
File metadata
- Download URL: toolcli-0.6.4.tar.gz
- Upload date:
- Size: 24.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.27.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ab0abc24afad03ac3922ed135ab5f64c355cb2fcb94f1ed910609af2ef00150 |
|
MD5 | 701a7965250fcdd96708d80a573e898b |
|
BLAKE2b-256 | 154f5449c7da9559d087be9e59575ac439284c68927518387a6130c9a9cdc811 |
File details
Details for the file toolcli-0.6.4-py3-none-any.whl
.
File metadata
- Download URL: toolcli-0.6.4-py3-none-any.whl
- Upload date:
- Size: 33.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.27.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | df626075875bc1e92a6dc025b24454dca0a0839671b05faa1a3b9276e135e363 |
|
MD5 | 21d3855de90df78fc02203dd60244276 |
|
BLAKE2b-256 | 8df1221d62d28f2d7855f3f632d7bd6209f75f04313526627b81f2a1d94775ee |