具有激光的configparser模块(目前支持Jinja2)
项目描述
configparserplus
如果您必须处理多个.ini
文件(例如,当处理Pyramid的设置时),您可能已经意识到设置文件之间缺乏良好的层次结构真的很糟糕。
configparserplus允许您在.ini文件上使用Jinja2模板语言,因此您不需要在N个配置文件中复制粘贴设置。说真的,永远不要再这样做。绝对不要。
用法
只需将
from configparser import ConfigParser # `from ConfigParser import ConfigParser` in Python2
config = ConfigParser()
...替换为
from configparserplus import ConfigParserPlus
config = ConfigParserPlus()
...并将您的.ini文件重构为使用Jinja功能(例如,模板继承)
有关更多详细信息,请参阅这些示例。啊!Configparserplus 在非Jinja(无聊的常规).ini
文件上也能正常工作 - 因此您可以随时替换并逐步重构。
开发
运行代码检查器
pip install -r requirements_dev.txt
isort -rc .
tox -e lint
通过tox
运行测试
pip install -r requirements_dev.txt
tox
发布新的主要/次要/补丁版本
pip install -r requirements_dev.txt
bump2version <PART> # <PART> can be either 'patch' or 'minor' or 'major'
上传到PyPI
pip install -r requirements_dev.txt
python setup.py sdist bdist_wheel
python -m twine upload dist/*
贡献
如果在您看到问题时,请打开问题,或在可能的情况下创建一个pull请求。如果是pull请求,请考虑以下事项
- 尊重行长度(132个字符)
- 编写自动化测试
- 在本地运行
tox
,以便您可以查看一切是否正常(包括代码检查器和其他Python版本)