大理石图表生成器

dooble的Python项目详细描述


嘟嘟

https://img.shields.io/pypi/v/dooble.svghttps://img.shields.io/travis/MainRo/dooble.svg

Dooble是一个从文本生成大理石图表的工具。它简化了 以一致的方式使用ReactiveX标准和自定义运算符。

安装

pipinstalldooble

sphinx插件也可用:

pipinstallsphinxcontrib-dooble

使用量

文本语法允许轻松定义observatesoperators。地图 具有输入可观测和输出可观测的算子描述为 以下方式:

--1--2--3--4-->
[ map(i: i*2) ]
--2--4--6--8-->

将此文本保存在名为map.txt的文件中,然后将其呈现为图像:

dooble --input map.txt --output map.png

生成的图像如下:

examples/map.png

高阶观测值也可以很容易地记录下来:

--a-b-c---d-e-f-->
[     window     ]
--+-------+------>
          +d-e-f-|
  +a-b-c-|

将此文本保存在名为window.txt的文件中,然后将其呈现为图像:

dooble --input window.txt --output window.png

生成的图像如下:

examples/window.png

对于以几个观测值作为输入的运算符,可以标记 他们:

--1--2--3--*
         a-7-8-|
[   catch(a)   ]
--1--2--3--7-8-|

将此文本保存在名为catch.txt的文件中,然后将其呈现为图像:

dooble --input catch.txt --output catch.png

生成的图像如下:

examples/catch.png

完整语法

  • 每一个文本行代表一个可观察的或一个运算符
  • 观测值用虚线定义
  • 如果一个可观察到的事物以一个字母开头,则该字母被视为一个标签
  • 每个字符代表一个时间跨度
  • 字符|表示可观察到的完成
  • 字符*表示可观察到的错误
  • 字符>表示可观测的连续性
  • +字符用于定义高阶观测值的锚
  • 运算符以[开头,以]结尾

完整语法如下(在tatsu pseudo ebnf语法中):

@@grammar::dooble

start = { layer } $ ;

layer
=
| obs:observable
| op:operator
;

observable = {skipspan}* [prefix] {lifetime}* completion ;
operator = '[' description ']' ;

prefix = '+' | label ;

label = /[a-z]/ ;

lifetime
=
| ts:timespan
| item:item
;

completion = /[>|*]/ ;

skipspan = ' ' ;
timespan = '-' ;
item = /[a-zA-Z0-9+.,]+/ ;

description = /[a-zA-Z0-9,:+*() <>_]+/ ;

历史记录

0.1.0(2019-02-08)

  • pypi上的第一个版本。

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

推荐PyPI第三方库


热门话题
java启动时加载值示例代码(xml)   java什么是视图索引?当视图组将视图添加到索引1时会发生什么   java如何调用HttpUrlConnection disconnect()   java将日期转换为毫秒,givse错误结果   java正在处理“.”上的IP地址拆分字符串性格   java proguard不创建输出jar   编译中的Java默认修饰符   java中的管道I/O流   java为集合返回的最佳迭代器类型?拆分器,流?   java如何修改JTextArea中tab键的行为?   来自Android Studio HTML文档的外部应用程序中的java Open Local PDF   组件和轻量级/重量级之间的java差异   java在有向图中查找模式   python可以创建运行服务器端程序的Java Web Start应用程序吗?   NiFi中基于内容的java更新属性