A package for easily creating CLIs.
Project description
Note: this package is under heavy development and breaking changes are to be expected.
Welcome to Thermite, a CLI generator
What are the main things that this package provides.
- run any python function or class that has type annotations
- Use docstrings as the source of help
- not require changing the signature of existing functions to customize
- allow for classes as parameter annotations in functions that will be translated into grouped options
- Allow for custom classes to be used as type annotations.
- provides the possibility to change the defaults in the CLI by using YAML or JSON definitions (an easy way to use configuration files with CLIs)
- provides a plugin-interface to extend functionality (e.g. the help itself is just a plugin)
Installation
The package is available on pip, so can be installed with
pip install thermite
Getting started
For any function, class or instance, just use
from thermite import run
if __name__ == "__main__":
run(obj)
and the package does the rest.
Customization, other examples and docs
For more documentation on how to customize the CLI, other options and examples visit the documentation.
Other CLI generators
There are already lots of CLI generators for python, many with lots of usage and great functionality that have inspired this package. Check them out.
- argparse
- click
- typer
- fire
- docopt
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
Built Distribution
File details
Details for the file thermite-0.1.1.tar.gz
.
File metadata
- Download URL: thermite-0.1.1.tar.gz
- Upload date:
- Size: 39.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.28.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | df829c5711cb653357388496ca5f0b6c184068febc38f295b47f83b7d1461c9e |
|
MD5 | e343290f7b5de54ab580601357810c00 |
|
BLAKE2b-256 | 54b6ddaf4cf098cce0c5fd99a686713fa3a10f038bd4c15dac19af445ed5d16b |
File details
Details for the file thermite-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: thermite-0.1.1-py3-none-any.whl
- Upload date:
- Size: 30.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.28.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | deca810e1c9c4a04bcaf2ce9556ea078c237acc1b0426665f363528224e9fbd6 |
|
MD5 | 8ea553241f921828a32c55ed47eccd2d |
|
BLAKE2b-256 | 6c7b68acd5c64d3afc7617a2a4d6d47dbcd8c166ec7bb3f2c1772764f6d6f15b |