Is a configuration management tool
Configuration files behave like cancer tumor. As soon as one is created with a handful of parameters, it starts to grow. And in a couple of month it becomes huge hardly supportable monster with dozens of parameters, which affects on different subsystems of the project like metastasis.
The goal of ConfigTree project is to restrain the monster, but without overkill for small projects. It can be used in Python programs as well as in programs written in other languages.
ConfigTree will be useful for you, if you want to:
- keep default configuration options and environment-specific ones separated;
- fine-tune files to load for each environment;
- validate configuration;
- have templates and automation in your configuration files.
The full documentation is available at Read the Docs.
- Fixed bug in Walker.environment method.
- Fixed bugs in ITree.rare_copy and ITree.rare_keys methods.
- Fixed bugs in Loader class.
- Added abstract base class ITree to unify type checking;
- Fixed pop method of Tree and BranchProxy;
- Added rare_copy method into Tree and BranchProxy;
- Unified rarefy function, it now handles any mapping object.
- Dropped Python 2.6 support.
- Completely reworked loading process (see migration guide):
- functions load, loaderconf are deprecated in favor of class Loader;
- function make_walk is deprecated in favor of Walker;
- function make_update is deprecated in favor of Updater;
- module configtree.conv and its plugins (from entry point with the same name) is deprecated in favor or configtree.formatter;
- shell command configtree is deprecated in favor of ctdump.
- Dropped Python 3.2 support due to coverage package. The code should still work OK, but it will not be tested anymore.
- Added loaderconf function to be able to read loader configuration from loaderconf.py module in a clean way.
- Added copy method into Tree and BranchProxy classes.
- Added human readable representation of BranchProxy class.
- Added rare iterators into Tree and BranchProxy classes.
- Added rarefy function.
- Added rare JSON converter.
- Initial release.