灵活的Python配置。
pycnfg的Python项目详细描述
灵活的Python配置。
Pycnfg是执行基于Python的配置的工具。在
- 纯Python。在
- 灵活。在
它提供统一的模式来创建任意的Python对象。 这自然允许通过单个文件控制所有参数。在
详情请参阅 Concepts。在
安装
PyPi
pip install pycnfg^{pr2}$ 停靠器
docker run -it nizaevka/pycnfg
Pycnfg在python3.6+上测试。在
文件
入门
"""Configuration example to produce object."""importpycnfgclassCustomProducer(pycnfg.Producer):"""Specify custom methods to produce object."""def__init__(self,objects,oid):# Mandatory.super().__init__(objects,oid)defset(self,obj,key,val=42):obj[key]=valreturnobjdefprint(self,obj,key='a'):print(obj[key])returnobjdefmethod_id(self,obj,*args,**kwargs):# Some logic..returnobj# Configuration.# Set `init` object state {'a': 7}.# Set `producer` class CustomProducer.# Set `steps` to execute.CNFG={'section_1':{'conf_1':{'init':{'a':7},'producer':CustomProducer,'steps':[('set',{'key':'b','val':42}),('print',{}),('print',{'key':'b'}),('method_id',{}),],},# 'conf_2': {...}}# 'section_2': {...}}if__name__=='__main__':# Execute configuration(s) in priority.objects=pycnfg.run(CNFG)# => 7# => 42# Storage for produced object(s).print(objects['section_1__conf_1'])# => {'a': 7, 'b': 42}
详见文档;)
示例
检查examples folder。在
还要检查^{str1}$mlshell——一个基于Pycnfg的ML框架。在
投稿指南
许可证
Apache许可证,版本2.0LICENSE。
- 项目
标签: