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.2.tar.gz (7.8 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.2-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: configula-0.5.2.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.0 CPython/3.11.0 Linux/5.15.0-1024-azure

File hashes

Hashes for configula-0.5.2.tar.gz
Algorithm Hash digest
SHA256 d293087a584ff94c48b96b9bb0b1ae9cbc61ed1efdacd6bf66ffd750c91d900a
MD5 d08a28eab4fbeeb3834c7d417e8e3ab0
BLAKE2b-256 ceac5a633b068350a6fa10b5aa4972fcb2a6aaaaab9d5ed32e803d22ee3dea85

See more details on using hashes here.

File details

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

File metadata

  • Download URL: configula-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.0 CPython/3.11.0 Linux/5.15.0-1024-azure

File hashes

Hashes for configula-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f6316b276ed312f5f6669698c13e60513655b0df6b87c6f75d22a3db76db3c29
MD5 a63d497c50bee306cbe98ff2b524f79a
BLAKE2b-256 ba58ddf69b75e93ca1798e307167122b57657f7a82c0f1199d85dc9e561b7a7b

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 Sentry Error logging StatusPage Status page