django-environ
django-environ is the Python package that allows you to use Twelve-factor methodology to configure your Django application with environment variables.
This is the PPB extension of it adding _VAULT and _FILE support to environment variable name parsing to read the setting from (respectivelly) that vault key or that file.
This should probably be a fork of the package instead of keeping it as a separate package.. TODO.
Usage
Refer to testapp for a working example.
As in testapp settings, initialize environ:
import ppbenviron
ENV_VAR = ppbenviron.CustomEnv()
ENV_VAR.read_env(BASE_DIR / 'local.env')
ENV_VAR.setup_vault(
'ENVTEST_VAULT_URL',
'ENVTEST_VAULT_TOKEN',
'ENVTEST_VAULT_MOUNT',
'ENVTEST_VAULT_PATHS',
default_url='http://vault.local',
default_token='tok3n',
default_mount='/secrets',
default_paths='staging,production',
)
Define settings:
TEST_SETTING_STR = ENV_VAR('ENVTEST_STR', default='missed')
TEST_SETTING_LIST = ENV_VAR('ENVTEST_LIST', default=['missed'])
Create a testapp/local.env or define the environment variabls in the current shell:
ENVTEST_VAULT_TOKEN_FILE=/home/myuser/.vault-token
ENVTEST_VAULT_MOUNT=other_mount
ENVTEST_VAULT_PATHS=dev,prd
ENVTEST_STR_FILE=/path/to/file will load /path/to/file in TEST_SETTING_STR.
ENVTEST_STR_VAULT=somepath will load /other_mount/prd[somepath] in TEST_SETTING_STR if it exists otherwise fallback to /other_mount/qa[somepath]
Metadata
Release files for django-environ-ppb 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django_environ_ppb-1.0.1.tar.gz | 4.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_environ_ppb-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.5 kB
Release files / django_environ_ppb-1.0.1.tar.gz
| Download URL | django_environ_ppb-1.0.1.tar.gz |
|---|---|
| Size | 4.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f65ce56c7329e3feb028d44b2b1ff6ecffb932b733294403ee49348ce3656cd3
|
|
BLAKE2b-256 checksum How to use checksums |
963f317dd3c6afeb34136a04fe201005b8f2eaddfa45b762d45a8b16726753cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.12.3
|
Release files / django_environ_ppb-1.0.1-py3-none-any.whl
| Download URL | django_environ_ppb-1.0.1-py3-none-any.whl |
|---|---|
| Size | 4.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f52b3ec6711f88bccddd40677b67abc6e964a1e683eead698fa958f3f99422d5
|
|
BLAKE2b-256 checksum How to use checksums |
2a5bb840eb581e1824435a2a30b831ce8ebb29e259680088669f6b2eb6b1f40f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.12.3
|