Skip to main content

ConfigTree

https://travis-ci.com/Cottonwood-Technology/ConfigTree.svg?branch=master https://badge.fury.io/py/ConfigTree.svg https://readthedocs.org/projects/configtree/badge/?version=latest

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.

Changes

0.6

  • Dropped deprecated features.

  • Fixed deprecation warnings on Python 3.7 and higher.

  • Migrated tests from Nose to PyTest.

0.5.3

  • Fixed bug in Walker.environment method.

0.5.2

  • Fixed bugs in ITree.rare_copy and ITree.rare_keys methods.

0.5.1

  • Fixed bugs in Loader class.

0.5

  • 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.

0.4

  • 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.

0.3

  • 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.

0.2

  • 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.

0.1

  • Initial release.

Release files for ConfigTree 0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ConfigTree 0.6
File Size Uploaded
ConfigTree-0.6.tar.gz 18.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ConfigTree 0.6
File Interpreter ABI Platform
ConfigTree-0.6-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size:39.2 kB

Release files / ConfigTree-0.6.tar.gz

Download URL ConfigTree-0.6.tar.gz
Size 18.5 kB
Tags Source
SHA-256 checksum
How to use checksums
c94994c8ded1829ae41367b396ee1a7fc7707b4742ba243c88ca52adfa6707cf
BLAKE2b-256 checksum
How to use checksums
1ec1630728642358a519b4480a2f8d6f13a8066227a561d066469b67e02cb67d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/44.1.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/2.7.15

Release files / ConfigTree-0.6-py2.py3-none-any.whl

Download URL ConfigTree-0.6-py2.py3-none-any.whl
Size 20.7 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
1b9c35d871335ad4d6b3bbfa2b92d489aab69f635333549abffc34cb43915607
BLAKE2b-256 checksum
How to use checksums
cb8f0804c49181d6a2fe599f08f4bedc5c129f0b7ad7221a1902820ba5a3fde1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/44.1.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/2.7.15

Release history Release notifications | RSS feed

This release

0.6 This release

2 release files

0.5.3

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5

1 release file

0.4

1 release file

0.3

1 release file

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page