Utilities for building CLI scripts in Python
Project description
Example usage
You can create your CLI script like this:
from clitools import CliApp
cli = CliApp()
@cli.command
def hello(name='world', bye=False):
greet = 'Bye' if bye else 'Hello'
print("{0}, {1}".format(greet, name))
if __name__ == '__main__':
cli.run()
and then run it right away!
% python sample_app.py usage: cli-app [-h] {hello} ... cli-app: error: too few arguments >>> exited 2 % python sample_app.py --help usage: cli-app [-h] {hello} ... positional arguments: {hello} sub-commands hello optional arguments: -h, --help show this help message and exit % python sample_app.py hello Hello, world % python sample_app.py hello --name=Python Hello, Python % python sample_app.py hello --help usage: cli-app hello [-h] [--bye] [--name NAME] optional arguments: -h, --help show this help message and exit --bye --name NAME % python sample_app.py hello --bye --name=Spam Bye, Spam
..super-cool, isn’t it?
What’s the difference with other libraries, such as Cliff?
Cliff is meant for building complex, fully-featured CLI applications. CliTools just acts as a “bridge” to quickly expose a Python function as a script in the “most obvious” way, without need for extensibility or support for more complex use cases.
The main goal is to provide something you can quickly use without having to continuously refer to the documentation :)
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
CliTools-0.4a.tar.gz
(4.3 kB
view details)
File details
Details for the file CliTools-0.4a.tar.gz
.
File metadata
- Download URL: CliTools-0.4a.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62161b6b6ce76d4022ba81e5d07cb01ac89aacc82fe2177d325664569653b8b3 |
|
MD5 | 3077635b04972b55b6cc2831d7788fd4 |
|
BLAKE2b-256 | c376c8fc71e8f54c9c0dfb3aaf18fb01236afe7500ef9fba222c0881257c6300 |