Utilities for working with configuration files in typer CLIs.
Project description
typer-config
This is a collection of utilities to use configuration files to set parameters for a typer CLI. It is useful for typer commands with many options/arguments so you don't have to constantly rewrite long commands. This package was inspired by phha/click_config_file and prototyped in this issue. It allows you to set values for CLI parameters using a configuration file.
Installation
$ pip install typer-config[all]
Note: that will include libraries for reading from YAML, TOML, and Dotenv files as well. Feel free to leave off the optional dependencies if you don't need those capabilities.
Usage
# Long commands like this:
$ my-typer-app --opt1 foo --opt2 bar arg1 arg2
# Can become this:
$ my-typer-app --config config.yml
Quickstart
You can use a decorator to quickly add a configuration parameter to your typer
application:
import typer
from typer_config import use_yaml_config
app = typer.Typer()
@app.command()
@use_yaml_config() # MUST BE AFTER @app.command()
def main(foo: FooType):
...
if __name__ == "__main__":
app()
Your typer command will now include a --config CONFIG_FILE
option at the command line.
Note: this package also provides
@use_json_config
,@use_toml_config
, and@use_dotenv_config
for those file formats. You can also use your own loader function and the@use_config(loader_func)
decorator.
See the documentation for more examples using typer-config.
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
Hashes for typer_config-1.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 338fc1caa66ac6dc77d906f52b8815d37a27a520c97fafed206b563e25f81081 |
|
MD5 | a68e9c1087ac523737235170ad2c43f7 |
|
BLAKE2b-256 | 442bfb203778170426576d3f292f90af6018276a51a627692348c68bf0e332a2 |