.. This README is meant for consumption by humans and pypi. Pypi can render rst files so please do not use Sphinx features.
This text does not appear on pypi or github. It is a comment.
================
buildout.environ
================
Expose system environment variables into `zc.buildout <https://pypi.org/project/zc.buildout/>`_ section.
It is an extension for buildout.
All variables seen by Pythons ``os.environ`` are available in buildout.
Installation
------------
Install ``buildout.environ`` by adding it to your buildout extensions::
[buildout]
extensions = buildout.environment
Usage
-----
Use ``${__environ__:VARIABLENAME}`` to address any environment variable.
Example::
[buildout]
extensions = buildout.environ
parts = print
[print]
recipe = mr.scripty
install =
print("Found in environ: PATH=${__environ__:PATH}")
To show some variables while running buildout, add a line like this::
[buildout]
extensions = buildout.environ
environ-output =
PATH
HOME
This results into an output like this::
buildout.environ: PATH=/home/fido/bin/:/usr/bin/:....
buildout.environ: HOME=/home/fido
To ensure that some required variables were set,
an list of required keys is supported::
[buildout]
extensions = buildout.environ
environ-required =
PATH
SOMEOTHER
Without setting `SOMEOTHER` this results into an output like this::
buildout.environ: Missing required environment variables: SOMEOTHER
Source Code
-----------
The sources are in a GIT DVCS with its main branches at `github <http://github.com/collective/buildout.environ>`_.
There you can report issue too.
We'd be happy to see many forks and pull-requests to make this addon even better.
We use `black <https://black.readthedocs.io/en/stable/>`_ (default settings) and `isort <https://readthedocs.org/projects/isort/>`_ (see `setup.cfg`) for code formatting.
Maintainers are `Jens Klein <mailto:jk@kleinundpartner.at>`_ and the BlueDynamics Alliance developer team.
We appreciate any contribution and if a release is needed to be done on pypi, please just contact one of us.
We also offer commercial support, training, coaching, integration or adaptions.
Contributions
-------------
Initial implementation by Jens W. Klein.
Further Authors:
- no others so far
License
-------
The project is licensed under Zope Public License (ZPL) Version 2.1
Changelog
=========
1.2.0 (2019-01-25)
------------------
- Add ``environ-required`` feature.
[jensens]
1.1.1 (2019-01-18)
------------------
- Fix problem with dollar (``$``) in environment values.
Use os.path.expandvars first, then replace with ``__DOLLAR___``.
[jensens]
1.1.0 (2019-01-15)
------------------
- Add ``environ-output`` feature.
[jensens]
1.0.2 (2019-01-15)
------------------
- Minimize needed code.
[jensens]
1.0.1 (2019-01-15)
------------------
- Fix misformated readme.
[jensens]
1.0 (2019-01-15)
----------------
- Initial release. Make it work.
[jensens]
Zope Public License (ZPL) Version 2.1
-------------------------------------
A copyright notice accompanies this license document that identifies the copyright holders.
This license has been certified as open source.
It has also been designated as GPL compatible by the Free Software Foundation (FSF).
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions in source code must retain the accompanying copyright
notice, this list of conditions, and the following disclaimer.
2. Redistributions in binary form must reproduce the accompanying copyright notice, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Names of the copyright holders must not be used to endorse or promote products derived from this software without prior written permission from the copyright holders.
4. The right to distribute this software or to use it for any purpose does not give you the right to use Servicemarks (sm) or Trademarks (tm) of the copyright holders.
Use of them is covered by separate agreement with the copyright holders.
5. If any files are modified, you must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
**Disclaimer**
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS *AS IS* AND ANY EXPRESSED
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright Holder
----------------
Klein & Partner KG, Innsbruck, Austria