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.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0508148911d42e6395e84ede6954be21d06d016800bf344e43a76f76ae0b515 |
|
MD5 | 877f2b262e254ef6d38584eba459a033 |
|
BLAKE2b-256 | 059ae7021293aec006e46b0e418945bd8d5f2098e61558e49474e919472316c1 |