基于python的策略框架。
calcifer的Python项目详细描述
calcifer
==
一些源对象既用于验证,也用于生成该对象的"完整"版本的模板描述。这个
计算是在运行时完成的,可以挂接到任意函数中,例如根据某些当前系统状态选择策略。(超媒体风格)
(prolog样式)
calcifer还提供了一个系统,通过该系统,应用层代码可以注释特定的策略规则,从而将策略计算的时间点上下文
转换为一个一级值。这允许进行丰富的错误处理,方法是了解
策略失败的特定点,并允许带注释的策略规则
控制其自身错误的格式。
编写此库是为了促进超媒体订阅管理API的开发。这个库的设计是由api的
业务逻辑内聚性和对更改策略规则的适应性的目标通知的。
该项目的一个主要目标是减轻客户机集成
他们在本地执行任何策略确定的需要;calcifer在很大程度上阻止了
通过这一努力。
创建新的虚拟环境
2。从*dev requirements.txt*
3安装开发需求。运行测试"nosetests"
4。`已安装dexite`,并将在所有受支持的python平台上运行测试套件
5。` python setup.py build_sphinx`将生成文档到*build/sphinx/html*
>tl;dr
+++dr
::
$virtualenv env
$./env/bin/pip install-qr dev requirements.txt
$source env/bin/activate
(env)$noests
(env)$python setup.py build\sphinx
(env)$detox
包括:../history.rst
测试用例使用示例代码块:python
"马赛克金","铅","盐","锡盐","锡黄油","辉锑矿","那不勒斯黄","那不勒斯黄","那不勒斯黄","那不勒斯黄"#昨晚睡着了,你终于想出了如何完成你一生的工作:发现难以捉摸的生命长生不老药!
你手上有!
(应该足够安全,对吧?)
被遗忘的生命长生不老药=集合(随机样本(库存,2))
今天的发现=集合(["疯狂的担心","早餐"])
第一种物质=选定的第一种物质。值
workstation_ctx=selected_second_ctx.select("/workstation")
(顺便说一下,这是你的高级科学程序,你是
100%肯定会告诉你什么是混合物)
def mix(首先,第二个:
"接受两种成分并返回结果物质"(如果设置了([第一个,第二])==被遗忘的生命之药:
返回"生命之药"
返回"某种棕色黏液"
第二种物质
)
产生的混合物=混合物。值
而且!在当今的现代,科学家现在知道要记录他们的结果!
mixed_ctx.select("/discoveries").append_value(resulted_mixed)
明白了吗?好!
result=run_policy(
alchemy_ctx.finalize(),
{"inventory":inventory,"discoveries":discoveries_today}
)
你甚至及时完成了去寻找更多的食材!
库存量=[
"富通水","glauber盐","月球腐蚀剂","马赛克金","铅","盐","锡盐","锡黄油","辉锑矿",
"那不勒斯黄"、
"反铅垂"
除了这次是为了你的另一个人生目标:发现不和谐的灵丹妙药!
炼金术la la
炼金术ctx=context()
=选择第一个CTX。选择("/inventory")。每个()
第二个物质=选择第二个CTX。值
#混合-不要停下来想
定义混合(第一,第二):
混合=集合([第一,第二])
如果混合==任何混合物:
返回"缺少长生不老药"
如果混合==集合(["铅","防铅"]):
返回"集中危险"
返回"更多棕色粘液"
mixed_ctx=workstation_ctx.涂抹(
mixed,
第一种物质,第二种物质
)
结果混合物=混合物。值
混合物。选择("/discoveries")。附加值(结果混合物)
!
定义危险(混合物):
如果混合物=集中危险:
返回真
返回假
#寓意:
)
self.assertin("errors",result)
self.asserttrue(len(result['errors'])
许可证
----
` Calcifer库分布在麻省理工学院的许可证下<;https://github.com/dramafever/calcifer/blob/master/license>;``_排毒:https://testrun.org/tox/
…|文档图片:https://readthedocs.org/projects/calcifer/badge/?版本=最新
:alt:文档状态
:比例:100%
:目标:https://calcifer.readthedocs.io/en/latest/?徽章=最新的|图片:https://img.shields.io/pypi/v/calcifer.svg?maxage=86400
:目标:https://pypi.python.org/pypi/calcifer
…|状态图像::https://travis-ci.org/dramafever/calcifer.svg?branch=master
:目标:https://travis ci.org/dramafever/calcifer
…|许可证图像::https://img.shields.io/badge/license mit blue.svg
:目标:https://raw.githubusercontent.com/dramafever/calcifer/master/license
==
一些源对象既用于验证,也用于生成该对象的"完整"版本的模板描述。这个
计算是在运行时完成的,可以挂接到任意函数中,例如根据某些当前系统状态选择策略。(超媒体风格)
(prolog样式)
calcifer还提供了一个系统,通过该系统,应用层代码可以注释特定的策略规则,从而将策略计算的时间点上下文
转换为一个一级值。这允许进行丰富的错误处理,方法是了解
策略失败的特定点,并允许带注释的策略规则
控制其自身错误的格式。
编写此库是为了促进超媒体订阅管理API的开发。这个库的设计是由api的
业务逻辑内聚性和对更改策略规则的适应性的目标通知的。
该项目的一个主要目标是减轻客户机集成
他们在本地执行任何策略确定的需要;calcifer在很大程度上阻止了
通过这一努力。
创建新的虚拟环境
2。从*dev requirements.txt*
3安装开发需求。运行测试"nosetests"
4。`已安装dexite`,并将在所有受支持的python平台上运行测试套件
5。` python setup.py build_sphinx`将生成文档到*build/sphinx/html*
>tl;dr
+++dr
::
$virtualenv env
$./env/bin/pip install-qr dev requirements.txt
$source env/bin/activate
(env)$noests
(env)$python setup.py build\sphinx
(env)$detox
包括:../history.rst
测试用例使用示例代码块:python
"马赛克金","铅","盐","锡盐","锡黄油","辉锑矿","那不勒斯黄","那不勒斯黄","那不勒斯黄","那不勒斯黄"#昨晚睡着了,你终于想出了如何完成你一生的工作:发现难以捉摸的生命长生不老药!
你手上有!
(应该足够安全,对吧?)
被遗忘的生命长生不老药=集合(随机样本(库存,2))
今天的发现=集合(["疯狂的担心","早餐"])
第一种物质=选定的第一种物质。值
workstation_ctx=selected_second_ctx.select("/workstation")
(顺便说一下,这是你的高级科学程序,你是
100%肯定会告诉你什么是混合物)
def mix(首先,第二个:
"接受两种成分并返回结果物质"(如果设置了([第一个,第二])==被遗忘的生命之药:
返回"生命之药"
返回"某种棕色黏液"
第二种物质
)
产生的混合物=混合物。值
而且!在当今的现代,科学家现在知道要记录他们的结果!
mixed_ctx.select("/discoveries").append_value(resulted_mixed)
明白了吗?好!
result=run_policy(
alchemy_ctx.finalize(),
{"inventory":inventory,"discoveries":discoveries_today}
)
你甚至及时完成了去寻找更多的食材!
库存量=[
"富通水","glauber盐","月球腐蚀剂","马赛克金","铅","盐","锡盐","锡黄油","辉锑矿",
"那不勒斯黄"、
"反铅垂"
除了这次是为了你的另一个人生目标:发现不和谐的灵丹妙药!
炼金术la la
炼金术ctx=context()
=选择第一个CTX。选择("/inventory")。每个()
第二个物质=选择第二个CTX。值
#混合-不要停下来想
定义混合(第一,第二):
混合=集合([第一,第二])
如果混合==任何混合物:
返回"缺少长生不老药"
如果混合==集合(["铅","防铅"]):
返回"集中危险"
返回"更多棕色粘液"
mixed_ctx=workstation_ctx.涂抹(
mixed,
第一种物质,第二种物质
)
结果混合物=混合物。值
混合物。选择("/discoveries")。附加值(结果混合物)
!
定义危险(混合物):
如果混合物=集中危险:
返回真
返回假
#寓意:
)
self.assertin("errors",result)
self.asserttrue(len(result['errors'])
许可证
----
` Calcifer库分布在麻省理工学院的许可证下<;https://github.com/dramafever/calcifer/blob/master/license>;``_排毒:https://testrun.org/tox/
…|文档图片:https://readthedocs.org/projects/calcifer/badge/?版本=最新
:alt:文档状态
:比例:100%
:目标:https://calcifer.readthedocs.io/en/latest/?徽章=最新的|图片:https://img.shields.io/pypi/v/calcifer.svg?maxage=86400
:目标:https://pypi.python.org/pypi/calcifer
…|状态图像::https://travis-ci.org/dramafever/calcifer.svg?branch=master
:目标:https://travis ci.org/dramafever/calcifer
…|许可证图像::https://img.shields.io/badge/license mit blue.svg
:目标:https://raw.githubusercontent.com/dramafever/calcifer/master/license