Databot - Python 数据驱动编程框架
BSD-3-Clause
跨平台
Python
软件简介
用于 Web 爬虫、ETL、数据管道任务开发的高性能 Python 数据驱动编程框架。
特性:
-
数据驱动编程框架
-
基于协程的并行
-
基于类型和内容的函数路由
安装:
pip install -U databot
Databot is…
- 简单
每2秒加载一次CoinDesk比特币价格. 高级价格聚合案例参见
here.
from databot.flow import Pipe, Timer
from databot.botframe import BotFrame
from databot.http.http import HttpLoader
def main():
Pipe(
Timer(delay=2), # send timer data to pipe every 2 sen
"http://api.coindesk.com/v1/bpi/currentprice.json", # send url to pipe when timer trigger
HttpLoader(), # read url and load http response
lambda r: r.json['bpi']['USD']['rate_float'], # read http response and parese as json
print, # print out
)
BotFrame.render('simple_bitcoin_price')
BotFrame.run()
main()
- 流程图形化
databot 生成的流程图:
- 快速
节点并行运行可以很好的处理流数据
- 可视化
执行函数: BotFrame.render(‘bitcoin_arbitrage’) Databot 将会把数据处理流程生成为 graphviz
图片:https://github.com/kkyon/databot/blob/master/examples/bitcoin_arbitrage.png
- 可重放
配置可重放模式: config.replay_mode=True
异常发生在第N步的时候,不用从第一步执行到第N步,Databot可以从完成的最近点(通常是第N-1步)重新开始执行,在开发阶段可以节约很多时间。