跳转到主要内容

一个使您的应用程序配置与其配置后端无关的Python库。

项目描述

Gitlab Pipeline Status Gitlab Code Coverage License PyPI version Supported Python versions Supported Python implementations

一个使您的应用程序配置与其配置后端无关的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。

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

omniconf-1.5.1.tar.gz (45.1 kB 查看哈希值)

上传时间

构建分布

omniconf-1.5.1-py3-none-any.whl (50.1 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面