Manage enviroment variables
Project description
About
Package to manage environment variables similar to npm config from nodejs
Start
pip install config_env
mkdir configenv
vi configenv/default.json
// default.json
{
// Customer module configs
"Customer": {
"dbConfig": {
"host": "localhost",
"port": 5984,
"dbName": "customers"
},
"credit": {
"initialLimit": 100,
// Set low for development
"initialDays": 1
}
}
}
vi configenv/production.json
{
"Customer": {
"dbConfig": {
"host": "prod-db-server"
},
"credit": {
"initialDays": 30
}
}
}
And if is necessary to hide secret values, it is recommended to use custom_environment_varibles.json to get environment variables:
vi configenv/custom_environment_varibles.json
{
"Customer": {
"dbConfig": {
"user": "MY_USERNAME",
"password": "MY_PASSWORD"
}
}
}
Values preference order:
- custom_environment_varibles -> production -> default
If custom_environment_varibles.json file does not exist or do not contain some key:value, it will come from produciton.json.
If producion.json file does not exist or do not contain some key:value, it will come from default.json.
Using config_env
The name of the environment variable PYTHON_ENV must be the same as your json file created. If PYTHON_ENV is not defined, the values defined in default.json will be used.
Example:
export PYTHON_ENV=production
# app.py
from config_env import ConfigEnv
config = ConfigEnv()
customer_host = config.get("Customer.dbConfig.host")
customer_credit = config.get("Customer.credit")
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
Hashes for config_env-0.0.14-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8bfd365b95afde5503b19e23f605a58c24ade5236e4712cf54e5ac35f73fc25f |
|
MD5 | 9bf0de77ab319d179a8100ed0ed2fb5b |
|
BLAKE2b-256 | 60729b20324a60c4c4e4ba9d59b4ea34bae7641633805ebb727844165c037671 |