跳转到主要内容

自动配置文件、命令行、环境变量解析器

项目描述

https://travis-ci.org/gsemet/cfgtree.svg?branch=master Documentation Status https://coveralls.io/repos/github/gsemet/cfgtree/badge.svg Pypi package MIT licensed

描述

此软件包提供了一种简单但全面的方法来描述、存储、解析和修改现代应用程序的用户配置。

需要以下认可

  • 应用程序设置存储在层次结构中,可以组织成设置组、子组,完全依赖于应用程序本身。

    在cfgtree中,这种结构称为“裸配置”或“配置树”,并由“模型”描述。

  • 用户设置可能来自不同的输入

    • 环境变量(“12因素”方法)。例如: MYAPP_VERBOSE

    • 命令行参数。例如: --verbose

    • 配置存储,如文件(json、yaml、ini)或配置服务器。例如

      {
          "verbose": true
      {

这允许您一次性定义设置结构,并让您的应用程序用户通过不同的方式定义设置。例如,您的应用程序可以通过命令行参数读取一些设置,这对于应用程序的容器化非常有用。实际上,它被Heroku的12因素最佳实践推荐。

通过模型描述配置也允许您拥有配置验证器,而无需同时维护文件模式(例如:JSON Schema)和解析逻辑代码。

访问设置

在您的应用程序中,类似于xpath的语法允许您访问配置中的任何项目: cfg.get_cfg_value("key1.key2.key3.item")

要修改键配置,使用 cfg.set_cfg_value("key1.key2.key3.item", "new_value")。文件实际上在调用 cfg.save_configuration() 或自动保存设置时写入。

请参阅文档以获取完整解释。

类似的开源项目

文档

完整文档提供在ReadTheDocs

项目详情


下载文件

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

源分布

cfgtree-1.1.1.tar.gz (21.7 kB 查看哈希)

上传时间

构建分布

cfgtree-1.1.1-py2.py3-none-any.whl (23.6 kB 查看哈希)

上传时间 Python 2 Python 3

由以下机构支持

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