Python Application Configuration. Py-config organizes hierarchical configurations for your app deployments.
pip install py-app-configFirstly, you should have a config folder under the codebase of your application, like this:
.
├── config
│ ├── __init__.py
│ ├── default.json
│ ├── development.json
│ ├── production.json
│ └── test.json
.Secondly, set environment variable PY_ENV to one of the names of JOSN files in the config folder, and it defaults to be development.
In your __init__.py under config folder, these codes can be used:
import os
from py_config import set_config_dir, get_config
config_dir = os.path.abspath(os.path.dirname(__file__))
set_config_dir(config_dir)
config = get_config()Then, you can use from config import config to import your app config in any other places in you codebase.
The final config would merge default.json and <PY_ENV>.json. See dict-recursive-update for the recursive update rules.
# Set the config directory path
set_config_dir(
config_dir=None # Directory path of `config` folder
)
# Get final config according to the `config_dir`.
# It should be executed every time after a new `config_dir` is set.
get_config()