Metadata-Version: 2.0
Name: exportrecipe
Version: 0.2
Summary: Buildout recipe to export buildout configuration to JSON file.
Home-page: https://bitbucket.org/sirex/rubygemsrecipe
Author: Mantas Zimnickas
Author-email: sirexas@gmail.com
License: MIT
Platform: UNKNOWN
Classifier: Framework :: Buildout :: Recipe
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Topic :: Software Development
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Requires-Dist: zc.buildout
Provides-Extra: tests
Requires-Dist: mock; extra == 'tests'

.. image:: https://travis-ci.org/sirex/exportrecipe.svg
   :target: https://travis-ci.org/sirex/exportrecipe

.. image:: https://coveralls.io/repos/sirex/exportrecipe/badge.svg
   :target: https://coveralls.io/r/sirex/exportrecipe

.. image:: https://pypip.in/d/exportrecipe/badge.svg
   :target: https://pypi.python.org/pypi/exportrecipe/

.. image:: https://pypip.in/v/exportrecipe/badge.svg
   :target: https://pypi.python.org/pypi/exportrecipe/

.. image:: https://pypip.in/license/exportrecipe/badge.svg
   :target: https://pypi.python.org/pypi/exportrecipe/

----

This is a Buildout recipe, that can export buildout configuration to JSON file.
Later this exported file can be used to get exported settings and use them in
your project.

Buildout provides extensive functionality for managing configuration, but does
not have tools to use this configuration anywhere else outside Buildout itself.
This recipe exports all settings to JSON file, allowing to use configuration
parameters outside Buildout.


Usage
=====

.. code-block:: cfg

    [buildout]
    parts = settings

    [settings]
    recipe = exportrecipe
    website-url = http://example.com/

This will generate ``settings.json`` file in your buildout directory with following content:

.. code-block:: json

    {
      "website-url": "http://localhost:8000/"
    }

``exportrecipe`` will export all parameters from recipe's section, except
``recipe`` parameter.

Now you can use this file for example in your ``settings.py``:

.. code-block:: python

    import json

    with open('settings.json') as f:
        settings = json.load(f)

    WEBSITE_URL = settings['website-url']

Also you can use a helper:

.. code-block:: python

    import exportrecipe

    config = exportrecipe.load('settings.json')

    WEBSITE_URL = config.website_url

It is possible to change destination of exported file using ``destination``
option:

.. code-block:: cfg

    [buildout]
    parts = settings

    [settings]
    recipe = exportrecipe
    destination = somewhereelse.json
    website-url = http://example.com/

This will generate ``somewhereelse.json`` file with following content:

.. code-block:: json

    {
      "destination": "somewhereelse.json",
      "website-url": "http://localhost:8000/"
    }

Change History
**************

0.2 (2015-05-17)
================

- Initial public release.


