Skip to main content

A Python port of daemontools' envdir.

Project description

Build Status

This is a Python port of daemontoolsenvdir.

Why?

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.

Installation

pip install envdir

or:

easy_install envdir

Usage

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 runs child.

If d contains a file named s whose first line is t, envdir removes an environment variable named s if one exists, and then adds an environment variable named s with value t. The name s must not contain =. Spaces and tabs at the end of t are removed. Nulls in t are changed to newlines in the environment variable.

If the file s is completely empty (0 bytes long), envdir removes an environment variable named s if one exists, without adding a new variable.

envdir exits 111 if it has trouble reading d, 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')

Feedback

Feel free to open tickets at https://github.com/jezdez/envdir/issues. Say thanks at https://www.gittip.com/jezdez/.

Changelog

0.2 (07/10/2013)

  • Added ability to use envdir from Python.

0.1 (07/10/2013)

  • Initial release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

envdir-0.2.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

envdir-0.2-py2.py3-none-any.whl (6.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file envdir-0.2.tar.gz.

File metadata

  • Download URL: envdir-0.2.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for envdir-0.2.tar.gz
Algorithm Hash digest
SHA256 72e73a1780c32ee7bfe7c450e97d3efb9a5855f74fa8cb1fa8b3b73db23fbb28
MD5 cc6eabb5b699b35189826eb8808a3f4a
BLAKE2b-256 9b575d1a116c8d8287a256bffcd467fda346fe7dd8bbbe2afab6354c391f8f3e

See more details on using hashes here.

Provenance

File details

Details for the file envdir-0.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for envdir-0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 cf4ec645e11f696afcddab78d48b9e5f9bd1363bca1a2a11eed305c1e72f2719
MD5 fedc3c0c4d7085601f590c10def1f281
BLAKE2b-256 1924b0082cf817c39f4e70a8ec3e58ea175d50541ea132a0c91c2375f1d73845

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page