Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

Provide reuse to ConfigParser files.

Project description

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

Project details


Release history Release notifications

This version
History Node

1.2.2

History Node

1.2.1

History Node

1.2.0

History Node

1.1.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
config_enhance-1.2.2-py2.7.egg (7.9 kB) Copy SHA256 hash SHA256 Egg 2.7 Nov 16, 2013
config-enhance-1.2.2.tar.gz (4.7 kB) Copy SHA256 hash SHA256 Source None Nov 16, 2013

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page