一个灵活、直观的原生Python配置系统。
项目描述
npconf是一个灵活的配置系统,其配置文件是纯Python模块。标识符(左侧)由管理员/开发者声明,并且是分层的。一个典型的配置文件可能如下所示
myapp.subcomponent.value = 1
myapp.enabled = True
用户不需要定义“myapp”。它将自动包含在globals()中。
管理员/开发者可以禁止用户定义的属性。这主要是为了防止配置文件中的错误。换句话说,如果在读取配置文件之前没有定义myapp.foo,则不允许任何文件设置myapp.foo。
配置属性通常在程序读取任何配置文件之前声明。它们可以在初始化时声明
import npconf
root = npconf.ConfigValue(name='myapp', data={'enabled': 'false'})
# and/or updated after init:
root.update(data={'thing': None})
# to add another level to the hierarchy:
subcomponent = npconf.ConfigValue(
name='subcomponent',
data={
'foo': 'banana',
})
root.update({'subcomponent': subcomponent})