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>`__
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file denv-2.0.1.tar.gz.
File metadata
- Download URL: denv-2.0.1.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using 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
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57355ed95fe969dcd444dc5ef8a4f10fb3aa74f3d4271a5f43e6676e33a9c7b2
|
|
| MD5 |
6b314aa389d18b9ede735a4108e5de8e
|
|
| BLAKE2b-256 |
e47493a0667549399e401fe2f297e822537aab8112c25320ce0b45873701c4db
|