Skip to main content

开发人员的配置处理

项目描述

rfc2119 关键字

目的

  • 提供统一的配置python2python3应用方式
  • 方便具有技术背景的开发人员、devops、QA 和用户

读数

要求

  1. 必须开箱即用地支持 yaml
  2. 必须通过递归合并开发人员定义的配置(默认)和运行时提供的配置来配置程序(独立模块或 python 包)。
  3. 每个配置层(例如默认值、运行时配置等)必须是嵌套映射
  4. 合并层的数量是无限的,可以由开发人员重新定义
  5. 层合并顺序可以由开发人员重新定义
  6. 必须包含一组 yaml构造函数
    • !url
    • !date
    • !datetime
    • !timedelta
    • !strjoin
    • !envvar
    • !regexp
    • !filecontent
  7. 应该包含一组危险的 yaml 构造函数
    • !file
    • !socket
    • !yamlfile- 通过文件路径或 url 包含 yaml
  8. 可以使用递归检测处理构造函数(请参阅要求说明)
  9. 可能包含 cli arg 映射构造函数
  10. 应该提供一种在加载配置之前扩展构造函数集的方法
  11. 必须提供一种使用logging.dictConfig合并配置中的值来配置日志记录的方法
  12. 运行时配置路径可以用 envvar 重新定义(如$ CONFIG=./some-config.yml program.py
  13. 运行时配置路径可以用 cli arg 重新定义(如$ program.py --config=./some-config.yml
  14. 应该允许在层之间共享锚点
  15. 不应允许重新定义已在先前层中定义的锚点
  16. 必须支持文件系统路径作为配置路径
  17. 必须支持file://, http(s)://urls 作为配置路径
  18. 可以支持ftp://urls 作为配置路径
  19. 可以支持git://urls 作为配置路径

要求说明

  • !class, !object, 并且!yamlfile被认为是危险的,因为创建类或对象可能需要在构造函数调用期间不存在的现有配置。!yamlfile可以引用!class!object内部和/或导致无限的 yaml 加载递归或模块加载递归。
  • !file并且!socket被认为是危险的,因为它们不可序列化

执行

  • 提供<module>.<config>包含结果配置作为映射的子模块

???

项目详情


下载文件

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

源分布

devconfig-0.4.8.tar.gz (19.1 kB 查看哈希

已上传 source