带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)的指针 适当的证书。在

信用证和其他文件

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java等效mvn eclipse:clean eclipse:eclipse m2e命令   JDBC中SQL更新查询中的java错误   java试图从远程SSL地址为WebSocket连接下载并设置证书,但收到“签名不匹配”异常   java中hh:mm:ss格式的时间毫秒   java让精灵在碰撞中消失?   java在删除certan数据包的情况下创建新的wireshark文件   java将整数调用为布尔值   在从Java中的URL读取内容之前,请等待页面加载   java MediaPlayer在图像列表中仅播放一次有问题   在hibernate中使用注释时出现java异常   maven java。lang.NoClassDefFoundError:org/apache/http/HttpException在AWS EC2 ubuntu实例上   java我必须初始化所有变量吗?   java如何使用JavaSpark有效地处理数百万条记录   JavaDB/Derby错误08006   java如何在HQL中转义HQL特殊列“index”   如果没有得到输出,则使用java嵌套   java为Scanner方法编写模式   java创建了一个基于度分布和聚类系数分布的随机图   java Hibernate,用于获取subselect的基本整数列表