Merges configuration from toml file and environment variables
Project description
Configula
Creates a single configuration by merging settings defined in: 1. in environment variables 2. in toml file
Values provided in environment variables have priority over values from toml configuration file.
By default all environment variables are prefixed with 'PAPERMERGE'.
By default __
(two underscores) is used as delimiter in environment variables
names. For example, given following toml file:
[main]
secret_key = 1234
[ocr]
default_language = 'deu'
corespondent environment variables names are PAPERMERGE__MAIN__SECRET_KEY and PAPERMERGE__OCR__DEFAULT_LANGUAGE - notice two underscores separate section name from prefix and variable name. Environment variable name format is (all in uppercase):
<prefix><delimiter><section_name><delimiter><variable_name>
Although in toml files you can place variable names outside sections, in Papermerge all variables must be placed in sections.
By default Configula looks up for following toml file:
- /etc/papermerge/papermerge.toml
- /etc/papermerge.toml
- papermerge.toml
If you have custom location (or custom file name), use PAPERMERGE__CONFIG
(notice double underscores) environment variable to point to it:
PAPERMERGE__CONFIG=/app/config/pm.toml
Installation
$ poetry add configula
Usage
from configula import Configula
config = Configula()
default_language = config.get('ocr', 'default_language')
secret_key = config.get('main', 'secret_key')
Where papermerge.toml
has the following content:
[main]
secret_key = 5432
[ocr]
default_language = 'deu'
Default language can be overwritten by environment
variable PAPERMERGE__OCR__DEFAULT_LANGUAGE
and secret_key can overwritten
by environment variable PAPERMERGE__MAIN__SECRET_KEY
If you want to read variable from a section use
configula.get(section, var_name, default_value)
method.
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 configula-0.5.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d908814062793eea6303b6d74a26c54d6c283e3cb26fbf1617498ba724f30a58 |
|
MD5 | 8401d23ed7971cd10730dadf342c3449 |
|
BLAKE2b-256 | 39ad25a7e7e769a34c347e400ca98675d58ee4d95b375a87ed5dffd78d30c927 |