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.1.tar.gz (8.1 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.1-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: configula-0.5.1.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.10.4 Linux/5.15.0-43-generic

File hashes

Hashes for configula-0.5.1.tar.gz
Algorithm Hash digest
SHA256 1d3e31195b83bf17591e3df5203cd10bcb4e4b5e6acbf9482f026fb9181cd70c
MD5 1be884f2912dfaf738f48f9cabde02d5
BLAKE2b-256 06b1893ab60656f79d1206949a274a79387c134bcdf4ad30dcf1791b42869d9c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for configula-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8bb64cc9ba1b8006200540b0af031f278ab8eca379c7fac3efce9d870b8934d2
MD5 a00e6d300a3ceab4a1fc35bd2cf2ec63
BLAKE2b-256 f86d4f9480498ca95ba70044d8f5544b1bf82dddebf9b2d482815a2263e2611d

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