基于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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java程序运行时错误   JavaAndroidStudio:与往常一样,四舍五入到next.5或.0   apache使用Java以表单数据形式上载文件   带矢量的java Freeflight相机如何正确旋转?   java如何以编程方式检索有关当前项目的语言、操作系统、体系结构等信息   java Twitter4J tweet实体?   java PdfBox编码异常   java在拖动未装饰的舞台时,如何强制光标停留在窗口上   JavaSpring注释扫描优化   java无法通过IntelliJ Idea在tomcat上运行服务   java在生命周期中如何拦截请求?   java中的数组返回错误