A package to share config accross modules
Project description
Introduction
config_bat is a package helps developers easily config the app using config.json file.
Getting Started
- Installation process:
pip install config_bat
- Usage:
Getting config: if there is no config in config.json, return default_value
from config_bat import config
your_config = config.get("config_key",default_value)
# Get nested config data
# You can get nested dict data for cases that you have many value spread out for the same master key
# Example dict: two mongodb master key config, but only username is different from dev and prod
# The "common" key is readed by default.
# If the config apears both in "common" and other stages, the stage config will be used.
nestedConfig = {
"common":{
"mongodb":{
"host":"localhost"
},
"development":{
"mongodb":{
"username":"test"
}
}
}
}
host = config.get("mongodb",default_value)["host"] # Return KeyError
host = config.get("mongodb.host",default_value) # Return "test"
The default_value is optional, if default_value is not provided, the function will return None.
- API references:
Environment variables:
The package behavior can be overrided by export these environment variables:
CONFIG_PATH: the path to config file. Default: "/config/config.json".
APP_STAGE: define in config.json.
config.json file:
The first level key is the stage of the app. You can define the config nested in those keys.
The "common" key is readed by default. If the config apears both in "common" and other stages, the stage config will be used.
If you want to use environmen variables, place a "$" character before you variable name.
Example of config.json:
{
"common": {
// Environmental variables
"JWT_SECRET": "$SEC_KEY",
"port": 8080
},
"development": {
// Nested config
"mongodb": {
"host": "localhost",
"user": "dev_user",
"pass": "dev_pass"
}
},
"production": {
"mongodb": {
"host": "your.domain",
"user": "prod_user",
"pass": "prod_pass"
}
}
}
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
File details
Details for the file config_bat-0.4.1.tar.gz
.
File metadata
- Download URL: config_bat-0.4.1.tar.gz
- Upload date:
- Size: 2.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 315d7fc9d8e4029e42e918b61ce20959b0ece144591188d44376aee31aa84321 |
|
MD5 | 39517eff8a488c86660e52793da11324 |
|
BLAKE2b-256 | 5d80855c65c52c47c93d9a1a17424f010faa98cd51aef019e231809eb7b53b77 |
File details
Details for the file config_bat-0.4.1-py3-none-any.whl
.
File metadata
- Download URL: config_bat-0.4.1-py3-none-any.whl
- Upload date:
- Size: 3.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1e66e2268011d81e7809cb2f6650f98d6c97b1c4d5aecc3c6fa40ddc7afd296 |
|
MD5 | 03d39258c07d1f9b31922e6941802e46 |
|
BLAKE2b-256 | bf02d3ac64ea5334fea61d0302239bcfb7bf303e1c974b7b94ef249630de1d96 |