语言无关的配置解析器
项目描述
Confix
快速链接
关于
Confix 是一个针对 Python 的语言无关配置解析器。它允许您将应用程序的默认配置定义为标准 Python 类,然后从静态配置文件(无论是 YAML、JSON、INI 还是 TOML)以及 / 或通过 环境变量 覆盖其属性。在这样做的同时,它会通过以下方式验证覆盖的设置
确保它们具有相同的类型
(可选) 标记为必需(对密码很有用)
(可选) 通过可调用的函数进行验证
示例
配置文件
# config.yml
password: secret
python 文件
# main.py
from confix import register, parse
@register()
class config:
username = 'ftp'
password = None
parse('config.yaml')
print(config.username)
print(config.password)
shell
$ python main.py
ftp
secret
更多示例请参阅 文档。
主要功能
支持 YAML、JSON、INI 和 TOML 序列化格式。
可以轻松扩展以支持其他格式。
支持 Python 3
小型代码库
100% 测试覆盖率
允许您定义“模式”以验证字段并将它们标记为必填
# ftp.py from confix import register, schema @register() class config: port = schema(default=21, validator=lambda x: isinstance(x, int)) password = schema(required=True)
状态
代码坚实且完全测试(100%覆盖率)。不过,其API可能在主要版本之间发生变化(中断)。
项目详情
关闭
confix-0.2.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e993af189ed64898c152c1444c129d1f4056d6e5cec3dbc9675574fc1da2c92e |
|
MD5 | 34986dbacc8b57af42447696646ac12a |
|
BLAKE2b-256 | d540d972a8d9dc02ff4ac2cad4bbbd7936a2344a22aae0d820515c72e34c3e6c |