这个包提供了一个面向类的api来解析yaml/json配置。
nr.config的Python项目详细描述
Deprecated. Use the
nr.types.structured
module instead.
nr.config
nr.config
包提供了一个api来定义要解析的模型
json/cson/yaml配置文件。
fromnr.configimportField,Partial,extract,dumpclassUser(Partial):name=Field(str)realm=Field(str)classAuthConfig(Partial):authorized_users=Field((list,User),name='authorized-users')data={'authorized-users':[{'name':'me','realm':'sso'}]}config=extract(AuthConfig,data)print(config.authorized_users[0].name)assertdump(AuthConfig,config)==data
变更日志
v1.2.3(2019-07-20)
- 已弃用。改为使用
nr.types.structured
(从nr.types 2.5.0
起可用)
v1.2.2(2019-06-05)
- 修复python 2兼容的
super()
调用Field
构造函数
v1.2.1(2019-05-21)
- 添加
Partial._from_config()
- 修复
Partial
构造函数中Field.config_name
的处理,以及PartialTypeHandler.load()
方法
v1.2.0(2019-05-21)
- 添加可用于跟踪元素位置的
Key
类 嵌套结构 - 将
key
参数添加到extract()
方法 - 添加由
GenericTypeHandler
处理的bool
类 Context.key
不是Key
实例,不再受setter方法的保护- 不再支持设置
Context.key
v1.1.0(2019-04-16)
- 将
nr.types
依赖项更新为>=2.0.1
- 已删除
nr.stream
依赖关系 Field.get_default()
现在引发一个RuntimeError
,而不是NotImplementedError
如果字段没有默认值
v1.0.3(2019-04-06)
extract()
现在接受一个可选的kwargs参数,该参数重写 输入数据的顶层值- 添加
Partial.as_dict()
v1.0.2(2019-03-21)
- 添加
nr.types>=1.1.0
依赖项 - 在
nr.config.extract()
中使用yaml.safe_load()
,如果可能的话 - 使用
OrderedDict
和json.load()
v1.0.1(2019-03-21)
- 修复GenericTypeHandler中的Python3兼容性
v1.0.0(2019-03-21)
- 初始版本