Skip to main content

A loader interface around multiple config file formats.

Project description

https://img.shields.io/pypi/v/plaster.svg master CI Status 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 https://docs.pylonsproject.org/projects/plaster/en/latest/ or docs/index.rst in this distribution for detailed documentation.

1.1.2 (2022-11-20)

  • Fix a bug in which plaster would crash harder than expected if a URI is specified to a distribution that does not have the specified entry points. Now a LoaderNotFound exception will be raised instead of a bad unpacking of tuples.

1.1.1 (2022-11-20)

  • Add support for Python 3.11.

  • Fix an bug introduced in 1.1 on some systems where plaster.exceptions.MultipleLoadersFound would be raised due to lib and lib64 being symlinked to each other and both added to the sys.path. See https://github.com/Pylons/plaster/pull/27

1.1 (2022-10-06)

  • Drop support for Python 2.7, 3.4, 3.5, 3.6.

  • Add support for Python 3.8, 3.9, 3.10.

  • Drop runtime dependency on setuptools / pkg_resources by switching to importlib.metadata.

1.0 (2017-10-11)

0.5 (2017-06-02)

  • When a scheme is not supplied, plaster.parse_uri will now autogenerate a scheme from the file extension with the format file+<ext> instead of simply <ext> (for example, file+ini instead of ini). See https://github.com/Pylons/plaster/pull/16

  • Absolute lookups are now pulled from the start of the scheme instead of the end. This means that if you want to explicitly define the package that the loader is pulled from, use package+scheme instead of scheme+package. See https://github.com/Pylons/plaster/pull/16

0.4 (2017-03-30)

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)

0.1 (2016-06-12)

  • 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

plaster-1.1.2.tar.gz (33.2 kB view details)

Uploaded Source

Built Distribution

plaster-1.1.2-py2.py3-none-any.whl (11.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file plaster-1.1.2.tar.gz.

File metadata

  • Download URL: plaster-1.1.2.tar.gz
  • Upload date:
  • Size: 33.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for plaster-1.1.2.tar.gz
Algorithm Hash digest
SHA256 f8befc54bf8c1147c10ab40297ec84c2676fa2d4ea5d6f524d9436a80074ef98
MD5 b81c4d828a78c05a099b43285c62b66d
BLAKE2b-256 269366df0f87f1442d8afea8531ae8a4a9eca656006a54eac2b4489427e92c10

See more details on using hashes here.

File details

Details for the file plaster-1.1.2-py2.py3-none-any.whl.

File metadata

  • Download URL: plaster-1.1.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for plaster-1.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 42992ab1f4865f1278e2ad740e8ad145683bb4022e03534265528f0c23c0df2d
MD5 5ce2c34c782a115e132c833720be413b
BLAKE2b-256 e78b3f98db1448e3b4d2d142716874a7e02f6101685fdaa0f55a8668e9ffa048

See more details on using hashes here.

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