带ENV插值的YAML阅读器。
envyconfig的Python项目详细描述
环境配置
Envyconfig是一个python包,用于读取带有指向外部键的指针的YAML配置文件。它读取指定的YAML文件,从配置的源获取数据,并返回相应的dict结构。在
主要目的是允许秘密配置项的密钥存储在YAML文件中,以便于在程序加载期间使用。在
在PyYAML包的基础上构建,添加了以下内容:
- 环境变量可以指定为配置值。在
- GCP机密可以指定为配置值。在
- 嵌套的YAML结构可以扁平化以获得简单的键/值dict
- 可以指定默认值,例如从命令行。在
基本用途
>>>importenvyconfig>>>config=envyconfig.load('config.yaml')>>>print(config){'foo':{'bar':'baz'}}
配置文件示例。
^{pr2}$使用详细信息
插值键。
您可以通过包装器指定要由其中一个配置的引擎插值的值
${<method>:<key>:<default>}
,例如${env:MY_VAR:my_default}
。当前支持的引擎是
- 环境(
os.environ
)变量(键:env
),以及 - 谷歌秘密管理器(密钥:
gs
)。 引擎是延迟加载的,因此除非您请求其中一个引擎的插值,否则不会加载配置。 这对于依赖外部库和配置的高级引擎(目前是gs
)非常有用。在
作为方法,键和默认值用:
分隔,方法或中不允许使用此字符
关键字名称。但在默认值中是允许的。所以$(env:REDIRECT_PAGE:https://localhost/}
是合法语法。在
环境变量
环境变量的行为与您期望的一样。在
谷歌秘密管理器
此引擎需要可选的依赖项(或单独安装)googlesecrets
(即pip install envyconfig[googlesecrets]
),以及指向GCP密钥(GOOGLE_APPLICATION_CREDENTIALS
)的指针
适当的证书。在
信用证和其他文件
- 项目
标签: