{"repo":"1kbgz/tributary","free":true,"listed":false,"github":"https://github.com/1kbgz/tributary","clone":"git clone https://github.com/1kbgz/tributary.git","description":"Streaming reactive and dataflow graphs in Python","language":"Python","stars":466,"topics":["python","python3","stream","data-pipeline","streaming","asynchronous","reactive-data-streams","python-data-streams","kafka","websockets"],"license":"Apache-2.0","category":"data-pipelines","readme_excerpt":"Python Data Streams Tributary is a library for constructing dataflow graphs in python. Unlike many other DAG libraries in python (airflow, luigi, prefect, dagster, dask, kedro, etc), tributary is not designed with data/etl pipelines or scheduling in mind. Instead, tributary is more similar to libraries like mdf, loman, pyungo, streamz, or pyfunctional, in that it is designed to be used as the implementation for a data model. One such example is the greeks library, which leverages tributary to build data models for options pricing. Installation Install with pip: pip install tributary or with conda: conda install -c conda-forge tributary or from source: python setup.py install Note: If installing from source or with pip, you'll also need Graphviz itself if you want to visualize the graph using the .graphviz() method. Stream Types Tributary offers several kinds of streams: Streaming These are synchronous, reactive data streams, built using asynchronous python generators. They are designed to mimic complex event processors in terms of event ordering. Functional These are functional streams, built by currying python functions (callbacks). Lazy These are lazily-evaluated python streams, where outputs are propogated only as inputs change. They are implemented as directed acyclic graphs. Examples - Streaming: In this example, we construct a variety of forward propogating reactive graphs. - Lazy: In this example, we construct a variety of lazily-evaluated directed acyclic computation ","default_branch":null,"files":null,"tree":[],"storefront":"/r/1kbgz","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/1kbgz/tributary/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}