Skip to main content

config-enhance

config-enhance adds re-use capabilities to ConfigParser style config files.

It introduces a reserved key: ‘<<=’

The ‘<<=’ key should be assigned a list of enhancements like:

[section]
<<=
    <other1
    +other2
    <other3
    -other4

Each enhancement is composed of an operator followed by a section name. The operators are:

  • ‘<’ : mix things in from another section if they don’t already exist

  • ‘+’ : pull config from another section, overwrite settings in the current section if there is a clash.

  • ‘-’ : remove config items that exist in the source section from this section

You can use it like this:

from config_enhance import enhance

cp = ConfigParser (file ("my.cfg"))
enhance(cp)

Suppose that my.cfg contains content like:

[common]
flup = 1.0
requests = 2.0

[tes_100]
<<= <common
requests = 5.0
tornado = 6.0

[dev_tes_common]
tornado = 6.0d

[dev_unpin]
flup = unpin

[dev_tes_100]
<<=
    <tes_100
    +dev_tes_common
    -dev_unpin

After running enhance, ‘cp’ will be modified to contain:

[common]
flup = 1.0
requests = 2.0

[tes_100]
flup = 1.0
requests = 5.0
tornado = 6.0

[dev_tes_common]
tornado = 6.0d

[dev_unpin]
flup = unpin

[dev_tes_100]
requests = 5.0
tornado = 6.0d

target audience

config-enhance is useful when managing version requirement sections in buildout. Buildout already contains limited reuse features through the ‘<=’ idiom. But, version management is easier with an extended set.

Other docs of interest

config parser documentation

Release files for config-enhance 1.2.2

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

Source distribution (sdist)

Source distribution for config-enhance 1.2.2
File Size Uploaded
config-enhance-1.2.2.tar.gz 4.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for config-enhance 1.2.2
File Interpreter ABI Platform
config_enhance-1.2.2-py2.7.egg Legacy Egg format - - Details

Total release size: 12.6 kB

Release files / config-enhance-1.2.2.tar.gz

Download URL config-enhance-1.2.2.tar.gz
Size 4.7 kB
Tags Source
SHA-256 checksum
How to use checksums
0b6efe72209dc310f7e221963f0eb12a71f9ab3e56524b1249024fc13a6ca7ad
BLAKE2b-256 checksum
How to use checksums
c4eb3af9f2cd833057a02ff1110c632d6721aeb831ed7085865c6998a243648a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / config_enhance-1.2.2-py2.7.egg

Download URL config_enhance-1.2.2-py2.7.egg
Size 7.9 kB
Tags Egg
SHA-256 checksum
How to use checksums
4132f1d884bc64fd5327835cd06166e161b31db0676e2ddf076bfa5a1166023e
BLAKE2b-256 checksum
How to use checksums
01f4534d649b261d8b83ee12c4678e8533e6f3f8b51b1d6cf4fadc6aca9d3d50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.2.2 This release

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.1

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