Metadata-Version: 2.0
Name: plaster
Version: 0.3
Summary: A loader interface around multiple config file formats.
Home-page: https://github.com/Pylons/plaster
Author: Michael Merickel
Author-email: michael@merickel.org
License: UNKNOWN
Keywords: plaster pastedeploy ini config
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*
Requires-Dist: setuptools
Provides-Extra: docs
Requires-Dist: Sphinx; extra == 'docs'
Requires-Dist: pylons-sphinx-themes; extra == 'docs'
Provides-Extra: testing
Requires-Dist: pytest; extra == 'testing'
Requires-Dist: pytest-cov; extra == 'testing'

=======
plaster
=======

.. image:: https://img.shields.io/pypi/v/plaster.svg
    :target: https://pypi.python.org/pypi/plaster

.. image:: https://img.shields.io/travis/Pylons/plaster.svg
    :target: https://travis-ci.org/Pylons/plaster

.. image:: https://readthedocs.org/projects/plaster/badge/?version=latest
    :target: https://readthedocs.org/projects/plaster/?badge=latest
    :alt: Documentation Status

``plaster`` is a loader interface around multiple config file formats. It
exists to define a common API for applications to use when they wish to load
configuration. The library itself does not aim to handle anything except
a basic API that applications may use to find and load configuration settings.
Any specific constraints should be implemented in a pluggable loader which can
be registered via an entrypoint.

See http://docs.pylonsproject.org/projects/plaster/en/latest/ or
``docs/index.rst`` in this distribution for detailed documentation.


0.3 (2017-03-27)
================

- Lookup now works differently. First "foo+bar" looks for an installed project
  distribution named "bar" with a loader named "foo". If this fails then it
  looks for any loader named "foo+bar".

- Rename the loader entry point to ``plaster.loader_factory``.

- Add the concept of protocols to ``plaster.get_loader`` and
  ``plaster.find_loaders``.

- ``plaster.find_loaders`` now works on just schemes and protocols
  instead of full ``PlasterURL`` objects and implements the lookup
  algorithm for finding loader factories.

- Change the ``ILoaderInfo`` interface to avoid being coupled to a
  particular uri. ``ILoaderInfo.load`` now takes a ``config_uri``
  parameter.

- Add a ``options`` dictionary to ``PlasterURL`` containing any arguments
  decoded from the query string. Loaders may use these for whatever they wish
  but one good option is default values in a config file.

- Define the ``IWSGIProtocol`` interface which addons can use to implement
  a loader that can return full wsgi apps, servers and filters.

- The scheme is now case-insensitive.

0.2 (2016-06-15)
================

- Allow ``config_uri`` syntax ``scheme:path`` alongside ``scheme://path``.
  See https://github.com/Pylons/plaster/issues/3

- Improve errors to show the user-supplied values in the error message.
  See https://github.com/Pylons/plaster/pull/4

- Add ``plaster.find_loaders`` which can be used by people who need a way
  to recover when ambiguous loaders are discovered via ``plaster.get_loader``.
  See https://github.com/Pylons/plaster/pull/5

- Rename ``plaster.Loader`` to ``plaster.ILoader`` to signify its purpose
  as an interface with no actual implementation.
  See https://github.com/Pylons/plaster/pull/5

- Introduce ``plaster.ILoaderFactory`` to document what the entry point targets
  are expected to implement.
  See https://github.com/Pylons/plaster/pull/5

0.1 (2016-06-12)
================

- Initial release.


