从环境中读取12因素应用程序的配置

bienvenue的Python项目详细描述


PyPIBuild StatusCoverage Report

python模块,用于从环境中读取12-factor apps的配置。 支持Python3.4+

基本原理

在一个12因素的应用程序中,config comes from the environment。 例如,在heroku上,在命令行上使用heroku config:set设置配置变量, 然后passed to the application in the environment

从环境中读取和解析配置是冗长且容易出错的。为了 例如,django应用程序有settings.DEBUG,应该是 可以是TrueFalse。运算符运行heroku config:set DJANGO_DEBUG off以禁用它,但应用程序只看到非空字符串 并将该值视为True

这类问题可以逐案处理,但不需要。很明显 具有回退布尔值的配置设置应解释为 环境中的布尔值。同样,回退整数设置指示 关联的环境变量应从字符串转换为int。

听起来像是一个小型的、经过良好测试的python模块的工作,对吧?

安装

PyPI

安装
pip install bienvenue

用法

bienvenue提供函数make_env_reader,该函数返回一个新的 访问环境的功能。例如:

frombienvenueimportmake_env_readerenv=make_env_reader(prefix='MY_')DEBUG=env('DEBUG',False)SECRET_KEY=env('SECRET_KEY','fallback-secret-for-dev')ALLOWED_HOSTS=env('ALLOWED_HOSTS',[])

env reader在os.environ中查找MY_DEBUG。如果它不在那里, 将返回默认值False。但是如果找到了,那么 这里的值将根据默认值的类型进行解释,在这里 大小写布尔型。常见的字符串如on/off、true/false和yes/no 解释为TrueFalse

同样地,SECRET_KEY将从MY_SECRET_KEY中提取,然后 解释为字符串值。

ALLOWED_HOSTS将从MY_ALLOWED_HOSTS和json中提取 解码为列表,因为默认值是列表。

如果bienvenue在解析期间遇到未知类型或值,它将记录 错误并返回到提供的默认值。

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

推荐PyPI第三方库


热门话题
java正在寻找Java8中的内置函数以忽略异常   javascript JQuery更改Div的颜色   java PostgreSQL使用JDBC写入inet列   java为什么体重指数计算结果不正确?   java禁用linux中的log4j控制台日志记录   java我可以让我的JMS主题在新订阅者连接时通知发布者(使用ActiveMQ)   基于三个浮点输入的java过滤器JTable?   Java OpenGL/LWJGL体素纹理   在SpringBoot java应用程序中,有没有一种方法可以通过不同的机器使用hostIP作为主机远程连接到redis服务器   java Struts 2 s:提交按钮语法以在映射中设置值   java源代码:setDomainEnv。windows 7中的cmd文件   缺少货币计算java的返回语句   JavaHibernate没有注意到从其他源进行的数据库更新   无法在OpenCV/Java中生成负矩阵   Java不做循环   java无法使用类对象写入文件ArrayList   jpa使用数组作为调用Java的存储过程的输入   java使用文件提供程序检索内容Uri失败   需要java程序来创建方法模板