舒适的python应用程序配置
confi的Python项目详细描述
舒适的python从环境变量配置。
*在**导入时验证**。如果忘记了配置变量,则在启动时会发现。
*所有应用程序代码的一个配置源。不再有'flask_conf.cfg'、'myconfig.ini'、`.env'、'docker compose.yml'中的硬编码常量和变量。
*加载时的类型转换和验证。只做一次就忘了。
\quickstart
````
>;>;来自confy import baseenvironconfig
>;>;类配置(baseenvironconfig):
…debug=config field(processor=strobool,default=true)
…
>;>;config.debug
true
````
值,可以是任何
*`Required`-布尔值,默认为'False`。如果值是必需的,但未提供,则抛出“configerror”。
*`processor`-可调用。可用于验证值
*`from_var`-指定要从中获取值的环境变量。如果没有使用配置类属性名,_ case很重要,因为它是一个不能实例化的全局类,所以像这样导入它是非常重要的,从package import module
print(module.configClass.a s廑text())
````
configClass
print(configClass.as_text())
```
第一个选项允许您在测试期间对配置进行猴子修补。
pytest示例:
`````
from package.module import configClass
class test config(configClass):
pass
testconfig.test=true
monkeypatch.setattr('package.module.configClass',testconfig)
````
*在**导入时验证**。如果忘记了配置变量,则在启动时会发现。
*所有应用程序代码的一个配置源。不再有'flask_conf.cfg'、'myconfig.ini'、`.env'、'docker compose.yml'中的硬编码常量和变量。
*加载时的类型转换和验证。只做一次就忘了。
\quickstart
````
>;>;来自confy import baseenvironconfig
>;>;类配置(baseenvironconfig):
…debug=config field(processor=strobool,default=true)
…
>;>;config.debug
true
````
值,可以是任何
*`Required`-布尔值,默认为'False`。如果值是必需的,但未提供,则抛出“configerror”。
*`processor`-可调用。可用于验证值
*`from_var`-指定要从中获取值的环境变量。如果没有使用配置类属性名,_ case很重要,因为它是一个不能实例化的全局类,所以像这样导入它是非常重要的,从package import module
print(module.configClass.a s廑text())
````
configClass
print(configClass.as_text())
```
第一个选项允许您在测试期间对配置进行猴子修补。
pytest示例:
`````
from package.module import configClass
class test config(configClass):
pass
testconfig.test=true
monkeypatch.setattr('package.module.configClass',testconfig)
````