Manage enviroment variables
Project description
About
Package to manage environment variables similar to npm config from nodejs
Start
pip install config_env
mkdir config
vi config/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 config/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 config/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.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1190d7257f6ed09717b7fe88b3626e6ff14c5e3e9ce4dc6c7699b971802de243 |
|
MD5 | 2a22fab8210f054e1bdbe5b7ca9262eb |
|
BLAKE2b-256 | 342b333f9249eecc9711bbe0b98fffa115d18c27a500739858b35c3f2df94a8e |