Package: plaster
plasteris 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.Seehttps://docs.pylonsproject.org/projects/plaster/en/latest/ordocs/index.rstin 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 whereplaster.exceptions.MultipleLoadersFoundwould be raised due tolibandlib64being symlinked to each other and both added to thesys.path.
Seehttps://github.com/Pylons/plaster/pull/271.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 toimportlib.metadata.1.0 (2017-10-11)Improve the exception message forInvalidURIto show theconfig_uri.
Seehttps://github.com/Pylons/plaster/pull/170.5 (2017-06-02)When a scheme is not supplied,plaster.parse_uriwill now autogenerate
a scheme from the file extension with the formatfile+<ext>instead of
simply<ext>(for example,file+iniinstead ofini).
Seehttps://github.com/Pylons/plaster/pull/16Absolute 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, usepackage+schemeinstead ofscheme+package.
Seehttps://github.com/Pylons/plaster/pull/160.4 (2017-03-30)Removed theplaster.NoSectionErrorexception. It’s expected that
individual loaders should return an empty dictionary of settings in the
case that a section cannot be found.
Seehttps://github.com/Pylons/plaster/pull/12Expect thewsgiprotocol to raiseLookupErrorexceptions when
a named wsgi component cannot be found.
Seehttps://github.com/Pylons/plaster/pull/120.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 toplaster.loader_factory.Add the concept of protocols toplaster.get_loaderandplaster.find_loaders.plaster.find_loadersnow works on just schemes and protocols
instead of fullPlasterURLobjects and implements the lookup
algorithm for finding loader factories.Change theILoaderInfointerface to avoid being coupled to a
particular uri.ILoaderInfo.loadnow takes aconfig_uriparameter.Add aoptionsdictionary toPlasterURLcontaining 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 theIWSGIProtocolinterface 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)Allowconfig_urisyntaxscheme:pathalongsidescheme://path.
Seehttps://github.com/Pylons/plaster/issues/3Improve errors to show the user-supplied values in the error message.
Seehttps://github.com/Pylons/plaster/pull/4Addplaster.find_loaderswhich can be used by people who need a way
to recover when ambiguous loaders are discovered viaplaster.get_loader.
Seehttps://github.com/Pylons/plaster/pull/5Renameplaster.Loadertoplaster.ILoaderto signify its purpose
as an interface with no actual implementation.
Seehttps://github.com/Pylons/plaster/pull/5Introduceplaster.ILoaderFactoryto document what the entry point targets
are expected to implement.
Seehttps://github.com/Pylons/plaster/pull/50.1 (2016-06-12)Initial release.