Skip to main content

Easily find and read application configuration files.

Project description

ccaConfig

a config file utility. Will read yaml formatted config files from various locations in the following order, so that the 'nearer' files override the further ones. Finally, it checks the environment for variables and overrides any set in the config file.

The order of files to read is

/etc/appname.yaml
/etc/appname/appname.yaml
$HOME/.config/appname.yaml
$HOME/.appname.yaml
$(pwd)/appname.yaml

Any environment variables of the form

APPNAME_VARIABLENAME

will be found, chopped at the underscore, lower cased and set into the final configuration i.e: config[variablename] will exist if there is an environment variable APPNAME_VARIABLENAME.

Usage

from ccaconfig import ccaConfig

cf = ccaConfig(appname="appname")
config = cf.envOverride()

or, to not take environment variables into account:

from ccaconfig import ccaConfig

cf = ccaConfig(appname="appname")
config = cf.findConfig()

Two additional dictionaries can be supplied, the first defaultd can be used to set a default config, and the 2nd, overrided can be used for config variables that you do not want overridden by any config file found or from the environment.

from ccaconfig import ccaConfig

defd = {"environment": "dev"}
overd = {"product": "myapp"}
cf = ccaConfig(appname="appname", defaultd=defd, overrided=overd)
config = cf.envOverride()
# config["environment"] == "dev" if it is not overridden by a subsequent
# config file or from an environment variable
#
# config["product"] == "myapp" and will not be overridden, at all

Project details


Download files

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

Source Distribution

ccaconfig-0.3.1.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

ccaconfig-0.3.1-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

Details for the file ccaconfig-0.3.1.tar.gz.

File metadata

  • Download URL: ccaconfig-0.3.1.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.0 CPython/3.8.0 Linux/5.4.2-1-MANJARO

File hashes

Hashes for ccaconfig-0.3.1.tar.gz
Algorithm Hash digest
SHA256 08fa5908475fb19844dada15d4518ec48c28a7e48af4aa4508b2239e58de3418
MD5 dd2a07e591b269f685a054c64ec8a625
BLAKE2b-256 71438569ffc287dda1540fdc7c3ec2091673301db6d5efe1e99906528f6a2b8c

See more details on using hashes here.

Provenance

File details

Details for the file ccaconfig-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: ccaconfig-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 3.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.0 CPython/3.8.0 Linux/5.4.2-1-MANJARO

File hashes

Hashes for ccaconfig-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2aba41e4e3fe3a69a653fffda48ac7ab610ededf8d60de40f73867f3fc1693d2
MD5 1c6c6f1be58237096bbdac89b78ad628
BLAKE2b-256 e99ff234e7e5d65c4b4641dea89917a6bb8b2b0059ca5fc8b488d40a9827323d

See more details on using hashes here.

Provenance

Supported by

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