A configuration system using YAML and entry points
Project description
repoze.configuration README
repoze.configuration is a package that software developers can use as a configuration system. It allows the use of YAML as a configuration language. Application-defined “directives” can be plugged in to repoze.configuration using one or more Python setuptools entry points. For example, you could make sense out of the following YAML using repoze.configuration and a custom “appsettings” directive:
--- !appsettings port_number = 8080 reload_templates = true --- !include filename = anotherfile.yml
Please see docs/index.rst or http://docs.repoze.org/configuration for more documentation.
repoze.configuration Changelog
0.4 (2009-07-25)
Totally backwards incompatible.
Instead of accepting “context”, “structure” and “node”, directives now accept “declaration” objects. A declaration object has most of the methods that used to be supplied by the “context”, and some new ones. The docs have been updated.
0.3 (2009-07-24)
Backwards incompatibility: directives must now accept three arguments: context, structure, and node (previously they had only accepted context and structure).
error method added to context.
Make discriminator conflict detection actually work.
Show actual lines from conflicting files when possible during a discriminator conflict.
Ignore import errors when trying to resolve entry point loads.
Add a popvalue method to the context; it works like getvalue except it pops the value out of the structure supplied instead of just getting it.
It was not possible to resolve the single dot . using repoze.configuration.context.Context.resolve to the current package.
Using a Python %(interpolation)s marker in any string value allows you to replace values in strings. For example, using “%(here)s” in a string value would attempt to resolve the name “here” from the registry as a key.
Use pyyaml’s SafeLoader rather than Loader: we don’t really need to be able to construct arbitrary Python objects.
0.2 (2009-07-13)
Trying to read any directive section that wasn’t a YAML mapping caused a TypeError (e.g. construct_scalar takes no argument 'deep').
0.1 (2009-06-22)
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.