DatabotPython 数据驱动编程框架

联合创作 · 2023-09-20 04:28

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

浏览 16
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报