跳转到主要内容

忘掉configparser,YAML或JSON解析器。专注于配置。

项目描述

更新于2019-05-13:版本1.35及以上需要Python 3.6+。

更新于2018-10-20:我不再使用这个库。它试图做太多事情。它是用Python 2.7编写的,并使其与Python 3兼容。在Python 3.6+中,您可以使用类型提示、dataclasses和其他许多酷功能以更优雅的方式表达相同的内容。


https://travis-ci.org/jbasko/configmanager.svg?branch=master

不要让标准库的configparser驱动您的配置值访问设计。让它做它最擅长的事情——解析和写入配置文件。然后让configmanager做其余的事情。

主要功能

  • 每个配置项都是一个具有类型、默认值、自定义值和其他元数据的对象

  • 不需要部分

  • 允许任何深度的部分

  • INI (ConfigParser)、JSON、YAML格式

  • click框架集成

文档

https://jbasko.github.io/configmanager/

源代码和问题跟踪

https://github.com/jbasko/configmanager

快速入门

使用pip install configmanager从Python包索引安装。

声明您的配置、源文件,然后开始。请记住,每个配置项都是一个对象,而不仅仅是普通的配置值。如果您不需要配置项的丰富功能,请使用 configmanager.PlainConfig

import warnings
from configmanager import Config

config = Config({
    'uploads': {
        'threads': 1,
        'enabled': False,
        'db': {
            'user': 'root',
            'password': {
                '@default': 'root',
                '@envvar': 'MY_UPLOADER_DB_PASSWORD',
            },
        }
    }
}, load_sources=[
    '/etc/my-uploader/config.ini',
    '~/.config/my-uploader/config.json',
], auto_load=True)

if config.uploads.db.user.is_default:
    warnings.warn('Using default db user!')

if config.uploads.enabled.get():
    connect_to_database(
        user=config.uploads.db.user.get(),
        password=config.uploads.db.password.get(),
    )

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

configmanager-1.35.1.tar.gz (55.5 kB 查看哈希)

上传时间