Skip to main content

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

configula-0.5.0.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

configula-0.5.0-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file configula-0.5.0.tar.gz.

File metadata

  • Download URL: configula-0.5.0.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.10.4 Linux/5.15.0-39-generic

File hashes

Hashes for configula-0.5.0.tar.gz
Algorithm Hash digest
SHA256 1c9fe592adeff34b52e9341bc0ba6b5243099f4aef4164bf86d1a55e62b1a35b
MD5 10e6d0c73e115c0085f40f5885711c6a
BLAKE2b-256 50e5d813f987ee14a6e2b784080ef95c997b26ee58ae87bd3b2538a04bec2898

See more details on using hashes here.

File details

Details for the file configula-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: configula-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.10.4 Linux/5.15.0-39-generic

File hashes

Hashes for configula-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d908814062793eea6303b6d74a26c54d6c283e3cb26fbf1617498ba724f30a58
MD5 8401d23ed7971cd10730dadf342c3449
BLAKE2b-256 39ad25a7e7e769a34c347e400ca98675d58ee4d95b375a87ed5dffd78d30c927

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page