Turn functions into command-line interfaces
Project description
Clize is an argument parser for Python. You can use Clize as an alternative to argparse if you want an even easier way to create command-line interfaces.
With Clize, you can:
- Create command-line interfaces by creating functions and passing them to clize.run.
- Enjoy a CLI automatically created from your functions’ parameters.
- Bring your users familiar --help messages generated from your docstrings.
- Reuse functionality across multiple commands using decorators.
- Extend Clize with new parameter behavior.
Here’s an example:
from clize import run def hello_world(name=None, *, no_capitalize=False): """Greets the world or the given name. :param name: If specified, only greet this person. :param no_capitalize: Don't capitalize the given name. """ if name: if not no_capitalize: name = name.title() return 'Hello {0}!'.format(name) return 'Hello world!' if __name__ == '__main__': run(hello_world)
Python 2.7 is supported through decorators.
The python code above can now be used on the command-line as follows:
$ pip install clize $ python3 hello.py --help Usage: hello.py [OPTIONS] name Greets the world or the given name. Positional arguments: name If specified, only greet this person. Options: --no-capitalize Don't capitalize the given name. Other actions: -h, --help Show the help $ python3 hello.py Hello world! $ python3 hello.py john Hello John! $ python3 hello.py dave --no-capitalize Hello dave!
You can find the documentation and tutorials at https://clize.readthedocs.io/
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
clize-4.2.1.tar.gz
(66.5 kB
view hashes)
Built Distribution
clize-4.2.1-py2.py3-none-any.whl
(71.8 kB
view hashes)
Close
Hashes for clize-4.2.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61dd0bbdb84b85fb8bbe31c19507a4400d175624f6a48b6c6e051a9b5b8be7e8 |
|
MD5 | 5d9fee3a172b059a3b39c320615668bb |
|
BLAKE2-256 | 8f9758a4c2ce225658d004f4c89c536911e70531c2a6a093b39ee0ac64c2ff06 |