一个使您的应用程序配置与其配置后端无关的Python库。
项目描述
一个使您的应用程序配置与其配置后端无关的Python库。
文档
请参阅Read the Docs上的完整文档。
为什么选择omniconf?
配置应用程序很困难,而且还有许多不同的(且有效)方式来做这件事
命令行参数
配置文件:ConfigObj (.ini like), JSON, YAML, TOML
环境变量
这些方法都是配置应用程序的有效方式,并且各自都有其优点。命令行参数最适合工具和守护进程。配置文件适用于具有更复杂需求的程序。环境变量和键/值存储在容器中使用时很方便。您甚至可能想使用方法的组合(尚未实现)。
这个库旨在使配置应用程序更容易,并允许您透明地使用多个配置后端。
要查看最新的示例,请点击这里。
变更
要查看最新的变更日志,请参阅ChangeLog。
在1.5.0版本中添加了完整的类型支持和实验性mypy插件。
在1.5.0版本中添加了对Python 3.9、3.10、3.11和3.12的支持。
在1.5.0版本中移除了对Python 2.7、3.5、3.6和3.7的支持。
在1.5.0版本中移除了对Vault后端的支持。
在1.4.0版本中移除了对Python 3.4的支持。
在1.4.0版本中移除了对Jython的支持。
在1.3.1版本中添加了对Python 3.8的支持。
在1.3.0版本中移除了对Python 3.3的支持。
许可协议
omniconf遵循LGPLv3许可。有关详细信息,请参阅LICENSE文件。
贡献
要贡献,请基于develop分支进行更改。使用init.sh通过pyenv安装所需的Python版本,并在vendor/中设置一个virtualenv。使用source vendor/bin/activate激活virtualenv。初始设置完成后,任何时候都可以使用init.sh来确保您的环境与最新的要求保持同步。
$ ./init.sh
Installing Python version 3.x.x using pyenv
Creating Python venv named 'vendor'
- Install uv
- Updating pip, setuptools
Resolved 2 packages in 2ms
Installed 1 package in 10ms
...
- Installing dev and docs dependencies
Installed 56 packages in 32ms
...
- Installing app in edit mode
...
Installed 1 package in 0ms
...
- Installing pre-commit hook
pre-commit installed at .git/hooks/pre-commit
确保您的贡献不会破坏任何现有的测试,并添加相关的新测试。您可以使用tox运行测试套件。
$ tox
要检查样式问题,只需运行测试套件,ruff会自动用于linting和格式化检查。
完成后,在Github上发起一个pull request。
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关安装包的更多信息。