Metadata-Version: 2.0
Name: envdir
Version: 0.2
Summary: A Python port of daemontools' envdir.
Home-page: http://github.com/jezdez/envdir
Author: Jannis Leidel
Author-email: jannis@leidel.info
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Software Development :: Build Tools
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.5
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.1
Classifier: Programming Language :: Python :: 3.2

envdir
======

.. image:: https://api.travis-ci.org/jezdez/envdir.png
   :alt: Build Status
   :target: https://travis-ci.org/jezdez/envdir

This is a Python port of daemontools_' envdir_.

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/.

.. _daemontools: http://cr.yp.to/daemontools.html
.. _envdir: http://cr.yp.to/daemontools/envdir.html

Changelog
---------

0.2 (07/10/2013)
^^^^^^^^^^^^^^^^

* Added ability to use envdir from Python.

0.1 (07/10/2013)
^^^^^^^^^^^^^^^^

* Initial release.


