框架或库的设置框架。
项目描述
config框架
什么是Config框架?
您的框架或库可能需要默认设置,并且您希望用户可以更改它们。
许多开发者编写了这类代码,您也将这样做。GluePlate就是它!
特性
易于编写 - 合并
您和您的用户都可以轻松编写。
只需导入Glue作为_,然后像嵌套字典一样编写。
from glueplate import Glue as _ settings = _( GLUE_PLATE_ENVIRONMENT_VARIABLE_KEY = 'BASEPACKAGE_SETTINGS_MODULE', from_base = 'comming from base', to_be_override = 'I am base.', )
glueplate从os.environ[‘GLUE_PLATE_BASE_MODULE’]导入名为settings的变量,这是一个基本设置。
然后glueplate查找settings.GLUE_PLATE_ENVIRONMENT_VARIABLE_KEY,并从os.environ[settings.GLUE_PLATE_ENVIRONMENT_VARIABLE_KEY]导入名为settings的变量,这是用户自定义设置。自定义设置只需覆盖或添加用户需要的内容。
from glueplate import Glue as _ settings = _( from_sub='comming from sub', to_be_override = 'I am sub.', )
它们将被合并并易于使用。
from glueplate import config assert('I am sub' == config.settings.to_be_override) assert('comming from base' == config.settings.from_base) assert('comming from sub' == config.settings.from_sub)
追加到列表
您可能不想被用户覆盖,只需添加用户的额外数据。
glueplate提供特殊的前缀来追加原始设置变量。
GLUE_PLATE_PLUS_BEFORE_
用户可以在前面追加列表。
# base settings = _( list1 = [1,2,3], ) # user customized settings = _( GLUE_PLATE_PLUS_BEFORE_list1 = [5,4] ) # config.settings.list1 == [5, 4, 1, 2, 3]
GLUE_PLATE_PLUS_AFTER_
与GLUE_PLATE_PLUS_BEFORE_相同,但向后追加。
# base settings = _( list1 = [1,2,3], ) # user customized settings = _( GLUE_PLATE_PLUS_AFTER_list1 = [5,4] ) # config.settings.list1 == [1, 2, 3, 5, 4]
继承其他glueplate
您可能使用的是使用glueplate的库。环境变量GLUE_PLATE_BASE_MODULE在您的进程中只有一个。
您的基本设置可以指示库的gluplate设置模块。
GLUE_PLATE_PARENT_MODULES
指定库的gluplate设置模块名称为列表。
from glueplate import Glue as _ settings = _( GLUE_PLATE_PARENT_MODULES=[ 'parentpackage1.parentpackage1_settings', 'parentpackage2.parentpackage2_settings' ] )
项目详情
关闭
glueplate-1.2.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | afabb6a0a6f60e8aa1977a96f794592081e7d3756a202045be1acd8c4c344fa2 |
|
MD5 | 6052709e0747e391f1e4358943965344 |
|
BLAKE2b-256 | 25f9ee403ac8e4811cb8b1360e977acea5271f110b5f2ec0b3bd001526b23938 |