Skip to main content

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)

Source distribution for django-environ-ppb 1.0.1
File Size Uploaded
django_environ_ppb-1.0.1.tar.gz 4.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-environ-ppb 1.0.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page