A configuration engine for Python frameworks
Dectate: a configuration engine for Python frameworks
Dectate is a powerful configuration engine for Python frameworks.
It is used by Morepath.
Removed: autocommit was removed from the Dectate API. Rely on the commit class method of the App class instead for a more explicit alternative.
Removed: auto_query_tool was removed from the Dectate API. Use query_tool(App.commit()) instead.
Fix repr of directives so that you can at least see their name.
he execution order of filters is now reproducible, to ensure consistent test covearge reports.
Use abstract base classes from the standard library for the Action and Composite classes.
Use feature detection instead of version detection to ensure Python 2/3 compatibility.
Increased test coverage.
Set up Travis CI and Coverall as continuous integration services for quality assurance purposes.
Add support for Python 3.3 and 3.5.
Make Python 3.5 the default testing environment.
If nothing is found for an app in the query tool, don’t mention it in the output so as to avoid cluttering the results.
Fix a major bug in the query tool where if an app resulted in no results, any subsequent apps weren’t even searched.
Create proper deprecation warnings instead of plain warnings for autocommit and auto_query_tool.
Deprecated The autocommit function is deprecated. Rely on the commit class method of the App class instead for a more explicit alternative.
Deprecated The auto_query_tool function is deprecated. Rely on dectate.query_tool(MyApp.commit()) instead. Since the commit method returns an iterable of App classes that are required to commit the app class it is invoked on, this returns the right information.
topological_sort function is exposed as the public API.
A commit class method on App classes.
Report on inconsistent uses of factories between different directives’ config settings as well as factory_arguments for registries. This prevents bugs where a new directive introduces the wrong factory for an existing directive.
Expanded internals documentation.
Fix a subtle bug introduced in the last release. If factory_arguments were in use with a config name only created in that context, it was not properly cleaned up, which in some cases can make a commit of a subclass get the same config object as that of the base class.
Change the behavior of query_tool so that if it cannot find an action class for the directive name the query result is empty instead of making this an error. This makes auto_query_tool work better.
Introduce auto_query_tool which uses the automatically found app classes as the default app classes to query.
Fix tests that use __builtin__ that were failing on Python 3.
Dependencies only listed in factory_arguments are also created during config creation.
Document how to refer to builtins in Python 3.
Expose is_committed method on App subclasses.
Fix a few documentation issues.
Expose convert_dotted_name and document it.
Implement new convert_bool.
Allow use of directive name instead of Action subclass as argument to Query.
A query_app function which is especially helpful when writing tests for the query tool – it takes unconverted filter arguments.
Use newer version of with_metaclass from six.
Expose NOT_FOUND and document it.
Introduce a new filter_get_value method you can implement if the normal attribute getting and filter_name are not enough.
Introduce a query system for actions and a command-line tool that lets you query actions.
Breaking change The signature of commit has changed. Just pass in one or more arguments you want to commit instead of a list. See #8.
Expose code_info attribute for action. The path in particular can be useful in implementing a directive such as Morepath’s template_directory. Expose it for composite too.
Report a few more errors; you cannot use config, before or after after in an action class if group_class is set.
Raise a DirectiveReportError if a DirectiveError is raised in a composite actions method.
Document importscan package that can be used in combination with this one.
Introduced factory_arguments feature on config factories, which can be used to create dependency relationships between configuration.
Fix a bug where config items were not always properly reused. Now only the first one in the action class dependency order is used, and it is not recreated.
Remove clear_autocommit as it was useless during testing anyway. In tests just use explicit commit.
Add a dectate.sphinxext module that can be plugged into Sphinx so that directives are documented properly.
Document how Dectate deals with double imports.
Initial public release.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.