This is a Python port of daemontools' envdir.
Because it's small enough that it shouldn't be tied to a bigger software distribution like daemontools. Also, this Python port can easily be used on Windows, not only UNIX systems.
pip install envdir
or:
easy_install envdir
Quoting the envdir documentation:
envdir runs another program with environment modified according to files in a specified directory. Interface:
envdir d child
d
is a single argument.child
consists of one or more arguments.envdir sets various environment variables as specified by files in the directory named
d
. It then runschild
.If
d
contains a file nameds
whose first line ist
, envdir removes an environment variable nameds
if one exists, and then adds an environment variable nameds
with valuet
. The names
must not contain=
. Spaces and tabs at the end oft
are removed. Nulls int
are changed to newlines in the environment variable.If the file
s
is completely empty (0 bytes long), envdir removes an environment variable nameds
if one exists, without adding a new variable.envdir exits
111
if it has trouble readingd
, if it runs out of memory for environment variables, or if it cannot run child. Otherwise its exit code is the same as that of child.
Alternatively you can also use the python -m envdir
form to call envdir.
To use envdir in a Python file (e.g. Django's manage.py
) you can use:
import envdir envdir.read()
envdir will try to find an envdir
directory next to the file you modified.
It's also possible to explicitly pass the path to the envdir:
import os import envdir envdir.read('/etc/mysite/envdir')
Feel free to open tickets at https://github.com/jezdez/envdir/issues. Say thanks at https://www.gittip.com/jezdez/.
- Added ability to use envdir from Python.
- Initial release.