Skip to main content

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

Release files for thermite 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for thermite 0.1.1
File Size Uploaded
thermite-0.1.1.tar.gz 39.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for thermite 0.1.1
File Interpreter ABI Platform
thermite-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 69.6 kB

Release files / thermite-0.1.1.tar.gz

Download URL thermite-0.1.1.tar.gz
Size 39.4 kB
Tags Source
SHA-256 checksum
How to use checksums
df829c5711cb653357388496ca5f0b6c184068febc38f295b47f83b7d1461c9e
BLAKE2b-256 checksum
How to use checksums
54b6ddaf4cf098cce0c5fd99a686713fa3a10f038bd4c15dac19af445ed5d16b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.28.2

Release files / thermite-0.1.1-py3-none-any.whl

Download URL thermite-0.1.1-py3-none-any.whl
Size 30.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
deca810e1c9c4a04bcaf2ce9556ea078c237acc1b0426665f363528224e9fbd6
BLAKE2b-256 checksum
How to use checksums
6c7b68acd5c64d3afc7617a2a4d6d47dbcd8c166ec7bb3f2c1772764f6d6f15b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.28.2

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page