布尔表达式解释器

booleano的Python项目详细描述


booleanoboolean expressions的解释器,是define的库 并运行过滤器作为文本(例如,在自然语言中)或 Python代码。

稳定分支

https://img.shields.io/travis/Yupeek/booleano/master.svghttps://readthedocs.org/projects/booleano/badge/?version=latesthttps://coveralls.io/repos/github/Yupeek/booleano/badge.svg?branch=masterLatest PyPI versionNumber of PyPI downloads per monthCode Climate

开发状态

https://img.shields.io/travis/Yupeek/booleano/develop.svghttps://coveralls.io/repos/github/Yupeek/booleano/badge.svg?branch=develop

为了处理基于文本的过滤器,booleano提供了一个功能齐全的 语法为adaptive的分析器:其属性 可以使用简单的配置指令重写。

另一方面,库公开了pythonic api,用于编写过滤器 纯Python。这些过滤器对于构建可重用的 来自第三方库提供的对象的条件。

tldr;

字符串+某些变量=安全布尔值

# is this character a minor guy with a "0" in his name and born after 1983 ?eval_boolean('age < const:majority & "o" in name & birthdate > "1983-02-02"',{"name":"sokka","age":15,"birthdate":datetime.date(1984,1,1)},{'majority':18},grammar_tokens={'belongs_to':'in'})=>True

有趣的用例

布尔允许将表达式安全地计算为可用的值。

  • user:name is "john" and user:surname in {"doe", "shepard"}

+``{“用户”:{“名称”:“katara”}``=>;错误 +``{“user”:{“name”:“john”,“姓”:“doe”}``=>;真

通过一些代码,您可以提供任何类型的代码,表达式仍然可以是文本:

+``用户:出生日期>;“03-07-1987”`` +``持续时间>;1米30秒`

检查示例目录以查看更多正在运行的示例!

文档

完整的文档位于http://booleano.readthedocs.io/en/latest/

贡献

此项目不是由当前维护者创建的。事实上,我们对这个项目的了解来自 很好,但是100%的测试覆盖率,保持运行并不难。

如果您发现一个bug,或者想要一些特性,可以随意创建一个问题,或者一个pull请求,但是请记住 对我们来说这可能很难。修复它的最好方法是编写一个通过测试的pull请求, 如果这是一段好代码,我们会合并它。

请参阅contribution.rst了解如何轻松处理此项目。

升级说明

旧的alpha版本1.0a1与新版本(从1.1a1开始)不兼容,因为 导入路径更改。不鼓励从模块(\uuu init\uuu.py)进行所有导入。

学分

forked来自gustavo narea关于launchpad.net的booleano项目。

maintended由yupeek提供

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

推荐PyPI第三方库


热门话题
生成的代码为什么在无人机中使用Java是不安全的?   java实体继承和鉴别器列   java使用Struts 2中sj:datepicker的beforeShow事件   JavaMaven没有安装pom文件中的所有内容,导致“缺少必需的库”x124   java将自定义GIF从assets文件夹加载到recyclerview 安卓中   java实现稀疏数组   java在获得所需结果集后关闭连接对象   java在活动中将数组值添加到MClickListener()   java如何删除单元格工厂引用   java字符串。分号分隔   Java抽象和接口   java Intellij IDEA SLF4J:未能加载类“org.SLF4J.impl.StaticLoggerBinder”   java改造JsonArray recyclerview异常   JavaJUnit@Theory:有没有方法抛出有意义的异常?   如何在Java中将XML内容写入字符串?