跳转到主要内容

Python中的流式和数据处理图

项目描述

Python数据流

Build Status Coverage PyPI PyPI Binder

Tributary是一个用于在Python中构建数据处理图的库。与其他许多Python中的DAG库(如airflowluigiprefectdagsterdaskkedro等)不同,Tributary不是为数据/ETL管道或调度而设计的。相反,Tributary更类似于mdflomanpyungostreamzpyfunctional等库,它被设计为数据模型实现的一部分。例如,greeks库利用Tributary构建用于期权定价的数据模型。

安装

使用pip安装

pip install tributary

或使用conda

conda install -c conda-forge tributary

或从源码安装

python setup.py install

注意:如果您想使用.graphviz()方法可视化图,则需要安装Graphviz本身

流类型

Tributary提供几种类型的流

流式

这些是同步、响应式数据流,使用异步Python生成器构建。它们在事件排序方面旨在模拟复杂事件处理器。

功能型

这些是功能型流,通过柯里化Python函数(回调)构建。

懒加载

这些是懒加载的Python流,只有当输入改变时才会传播输出。它们被实现为有向无环图。

示例

  • 流式处理:在这个示例中,我们构建了各种前向传播的响应式图。
  • 懒加载:在这个示例中,我们构建了各种懒加载的有向无环计算图。
  • 自动微分:在这个示例中,我们使用 tributary 在懒加载和流式图中进行自动微分。

图形可视化

您可以使用Graphviz可视化图形。所有流式和懒加载节点都支持 graphviz 方法。

流式和懒加载节点还支持 ipydagred3 进行实时更新监控。

流式

在这里,绿色表示正在执行,黄色表示因为背压而阻塞,红色表示已传播 StreamEnd(例如,流已结束)。

懒加载

在这里,绿色表示正在执行,红色表示节点已脏。请注意,节点是否脏的判断也是懒加载的(我们可以通过 isDirty 检查,它将更新节点的图状态)。

目录

请参阅 目录 以获取函数、转换、源和目的地的完整列表。

支持/贡献者

感谢以下组织提供代码或财务支持。

Nemoulous

许可证

本软件根据Apache 2.0许可证授权。有关详细信息,请参阅 许可证 文件。

替代方案

以下是不完整的库列表,这些库实现了类似/重叠的功能

项目详情


下载文件

下载适用于您平台的自定义文件。如果您不确定选择哪一个,请了解有关 安装包 的更多信息。

源分布

tributary-0.2.1.tar.gz (81.7 KB 查看散列

上传时间

构建分布

tributary-0.2.1-py2.py3-none-any.whl (113.4 KB 查看散列

上传时间 Python 2 Python 3

由以下支持