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_configfor 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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file typer_config-1.5.0.tar.gz.
File metadata
- Download URL: typer_config-1.5.0.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06de6f9a361439cb405825a1467f726041fe556129c74a2ba7118ef78eee2fc5
|
|
| MD5 |
e0cb3eae1bcc1b32c402ceb063ee4365
|
|
| BLAKE2b-256 |
c5c909173df20d74675362d67d46a92accdc7d2750098276bcf20d071995375b
|
File details
Details for the file typer_config-1.5.0-py3-none-any.whl.
File metadata
- Download URL: typer_config-1.5.0-py3-none-any.whl
- Upload date:
- Size: 13.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef6ee98b0eba8286c14f9b512b97df927a892b0616c6b10aff151c0db561e1ce
|
|
| MD5 |
995c268cacedbae4ab772a74e30db344
|
|
| BLAKE2b-256 |
d9dbb21ad8e67440183b8c4426623bca3a9afff38f5f99032b02e7269354ce4e
|