Skip to content

filwaitman/configparserplus

Repository files navigation

Travis Codecov PyPI License Python versions PyPI downloads per month

configparserplus

If you have to multiple .ini files (for instance, when dealing with Pyramid's settings) you probably realized that the lack of a decent hierarchy between settings files just sucks.

configparserplus allows you to use Jinja2 templating language on your .ini files so you don't need to ctrl-C, ctrl-V your settings in your N config files. Seriously, never do it again. Just. Never.

Usage:

Just replace:

from configparser import ConfigParser  # `from ConfigParser import ConfigParser` in Python2
config = ConfigParser()

... to:

from configparserplus import ConfigParserPlus
config = ConfigParserPlus()

... and refactor your .ini files to use Jinja stuff (such as templates inheritance)

For more details, please check these examples. Ah! Configparserplus works normally on non-jinja (boring, regular) .ini files - so you can just replace it and refactor bit by bit.

Development:

Run linter:

pip install -r requirements_dev.txt
isort -rc .
tox -e lint

Run tests via tox:

pip install -r requirements_dev.txt
tox

Release a new major/minor/patch version:

pip install -r requirements_dev.txt
bump2version <PART>  # <PART> can be either 'patch' or 'minor' or 'major'

Upload to PyPI:

pip install -r requirements_dev.txt
python setup.py sdist bdist_wheel
python -m twine upload dist/*

Contributing:

Please open issues if you see one, or create a pull request when possible. In case of a pull request, please consider the following:

  • Respect the line length (132 characters)
  • Write automated tests
  • Run tox locally so you can see if everything is green (including linter and other python versions)

About

configparser module with lasers. (for now with Jinja2 support)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages