大理石图表生成器
dooble的Python项目详细描述
嘟嘟
Dooble是一个从文本生成大理石图表的工具。它简化了 以一致的方式使用ReactiveX标准和自定义运算符。
安装
pipinstalldooble
sphinx插件也可用:
pipinstallsphinxcontrib-dooble
使用量
文本语法允许轻松定义observates和operators。地图 具有输入可观测和输出可观测的算子描述为 以下方式:
--1--2--3--4--> [ map(i: i*2) ] --2--4--6--8-->
将此文本保存在名为map.txt的文件中,然后将其呈现为图像:
dooble --input map.txt --output map.png
生成的图像如下:
高阶观测值也可以很容易地记录下来:
--a-b-c---d-e-f--> [ window ] --+-------+------> +d-e-f-| +a-b-c-|
将此文本保存在名为window.txt的文件中,然后将其呈现为图像:
dooble --input window.txt --output window.png
生成的图像如下:
对于以几个观测值作为输入的运算符,可以标记 他们:
--1--2--3--* a-7-8-| [ catch(a) ] --1--2--3--7-8-|
将此文本保存在名为catch.txt的文件中,然后将其呈现为图像:
dooble --input catch.txt --output 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上的第一个版本。