An easy way to manage environment specific configuration
Project description
Yamz
An easy way to manage environment specific configurations.
Requirements
- Python >=3.6
Why Yamz?
All the other names I managed to think of were already taken, so... here we are.
How to use
I recommend using environments names such as: production
, development
, etc.,
Also, if you would like to include variables from your environment, make sure to add a $
prefix ($HOME
) and Yamz will make sure it's included.
Note: global
settings will be available in all environments
pip install yamz
- Configure your environment in
config.yaml
(requires PyYAML)global: TEST: some_test production: HOME: $HOME MYSQL_DB_HOST: 1.2.3.4 MYSQL_DB_PASS: $MYSQL_DB_PASS
- Configure your environment in
config.json
{ "global": { "TEST": "some_test" }, "production": { "HOME": "$HOME", "MYSQL_DB_HOST": "1.2.3.4", "MYSQL_DB_PASS": "$MYSQL_DB_PASS" } }
import os
from yamz import Yamz
from yamz.providers.default import YamlProvider, JsonProvider
base = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
path = os.path.join(base, 'config.yaml')
env = Yamz(path, provider=YamlProvider) # or JsonProvider
prod_env = env.load("production")
prod_env.MYSQL_DB_HOST # 1.2.3.4
prod_env.YAMZ_ENV # production
Contributions
If you'd like to contribute and make Yamz better, feel free to open up a PR. I'll review it at my earliest convenience!
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 yamz-0.2.2.tar.gz
.
File metadata
- Download URL: yamz-0.2.2.tar.gz
- Upload date:
- Size: 3.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.7.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63c843568aab751ab01a97f85e38d5478e6bf4382fd2b7935c581bca33cb0fe7 |
|
MD5 | 04bd2328b9348e62f9b913b860251647 |
|
BLAKE2b-256 | 102ace285d24c6979cba1bbc4b2382362079eec0b9890baf9cc5bfc5e9f8facf |
File details
Details for the file yamz-0.2.2-py3-none-any.whl
.
File metadata
- Download URL: yamz-0.2.2-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.7.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a5ccc42ecf20b74fc417f50e97f2d4e35130ed6d1779dc7661337b610859ac7 |
|
MD5 | a8dc6982b7b7a27ef33ca64ee78bdeca |
|
BLAKE2b-256 | 91351723cf573bfb2981e753befe94b54e675625dd865976d1c2f3a91c5b2dc3 |