denv
Run your script with your env
Ultra simple runner that injects vars from the implicit .env file into your commands of choice.
denv COMMAND [ARGS]
Expects a .env file in the current directory of format:
KEY=VALUE FOO=BAR AGE=29 host=hostname=foo user=bar password=false
Examples
Create an .env file holding your vars
$ cat .env
CONNECTION_STRING=host=foo user=bar password=baz
Use them in posix commands:
$ denv env | grep CONNECTION_STRING
host=foo user=bar password=baz
Use them when running python scripts:
$ denv python -c 'import os;print(os.environ["host"])'
foo user=bar password=baz
Why?
At Trustpilot we strictly follow the 12-factors of designing software-as-a-service apps, especially the concept of isolating your configuration outside your app.
Using environment vars is the accepted practice for injecting these configs into apps during deployment. But running locally i wanted something very simple to inject these env-vars into the runtime myself.
Looking around you will quickly find many implementations:
But i tend to disagree with them in two ways:
They tend to aim for being a replacement for your runtimes default environment lib and just overload with reading from a file
Some of them lack support for connection-strings where there can be many =’s per line.
I wanted to seperate it completely so the runtime only cared about env-vars and its standard way of accessing these, and then have the runner inject these vars as the only thing it did.
- `sloev <sloev.github.io>`__
Metadata
Release files for denv 2.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 | Provenance | Actions |
|---|---|---|---|---|
| denv-2.0.1.tar.gz | 3.1 kB | Without provenance | Details for denv-2.0.1.tar.gz |
Release files / denv-2.0.1.tar.gz
| Download URL | denv-2.0.1.tar.gz |
|---|---|
| Size | 3.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
57355ed95fe969dcd444dc5ef8a4f10fb3aa74f3d4271a5f43e6676e33a9c7b2
|
|
BLAKE2b-256 checksum How to use checksums |
e47493a0667549399e401fe2f297e822537aab8112c25320ce0b45873701c4db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.0 CPython/2.7.14
|
Security for denv 2.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.