用于设置商业智能规则的Python DSL

business-rule-engine的Python项目详细描述


业务规则引擎

CodeFactorGithub versionPyPI versionSupported Python versionsPyPI downloadsGitHub

随着软件系统的复杂性和使用量的增加,如果系统的逻辑/行为的每一个更改都需要您编写和部署新代码,那么它可能会变得很繁重。这个业务规则引擎的目标是提供一个简单的接口,允许任何人捕捉定义系统行为的新规则和逻辑,以及在后端处理这些规则的方法。在

例如,您可能会发现这是一种有用的方法,可以让分析师在某些客户或商品有资格享受折扣时定义营销逻辑,或者在用户进入特定状态或经历特定事件序列后自动发送电子邮件。在

使用

1。定义一组变量

变量表示系统中的值,通常是某个特定对象的值。通过设置阈值条件来创建规则,以便在计算触发条件的变量时采取一些操作。在

params={'products_in_stock':10}

2。定义自定义函数

^{pr2}$

3。编写规则

rules="""rule "order new items"when    products_in_stock < 20then    order_more(50)end"""

3。创建解析器并解析规则

frombusiness_rule_engineimportRuleParserparser=RuleParser()parser.register_function(order_more)parser.parsestr(rules)parser.execute(params)

支持的功能

业务规则引擎使用类似Excel的函数。因此,在规则中使用大多数规则是可能的。在

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

推荐PyPI第三方库


热门话题
在java代码中实现两个侦听器时发生swing错误   Lambda是否完全取消了Java8中匿名内部类的使用?   swing OpenSuse 12.3+Java双显示   POM中的java错误。xml文件,即使在清理{users}/之后。m2/用于*上次更新文件的存储库   JavaEDT特定的方法和其他东西   java如何使用GridLayout设置组件大小?有更好的办法吗?   java在itext7中生成二维码时,如何调整点的大小?   java如何在多行上显示文本并右对齐?   java在WebSphereCluString环境中分离Log4j日志   JAVA从文件读取,返回BigInteger值   当使用rxjava2进行排列时,使用javamockito。重试()   在java fasterxml中创建Xml   使用64位整数进行模运算的64位整数的java快速乘法,无溢出   java静态变量保留以前发布的值   datastax enterprise SSTable loader流式处理无法提供java。木卫一。IOException:对等方重置连接   java匹配的通配符是严格的,但找不到元素“mvc:annotationdriven”的声明。标准包装。可抛出   java无法在浏览器上下载文件文档?