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步)重新开始执行,在开发阶段可以节约很多时间。