跳转到主要内容

语言无关的配置解析器

项目描述

Downloads this month Linux tests (Travis) Windows tests (Appveyor) Test coverage (coverall.io) Latest version License

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

更多示例请参阅 文档

主要功能

  • 支持 YAMLJSONINITOML 序列化格式。

  • 可以轻松扩展以支持其他格式。

  • 支持 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 (44.8 kB 查看哈希值)

上传时间 源代码

由以下支持