.. async-graph-data-flow documentation master file, created by sphinx-quickstart on Sat Dec 3 11:11:02 2022. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. .. _index: async-graph-data-flow ===================== .. image:: https://badge.fury.io/py/async-graph-data-flow.svg :target: https://pypi.python.org/pypi/async-graph-data-flow :alt: PyPI version .. image:: https://img.shields.io/pypi/pyversions/async-graph-data-flow.svg :target: https://pypi.python.org/pypi/async-graph-data-flow :alt: Supported Python versions ``async-graph-data-flow`` is a Python library for executing asynchronous functions that pass data along a directed acyclic graph (DAG). Features -------- * **Functions organized as a graph** 🕸 Your asynchronous functions are nodes in the DAG. Each node yields data to its destination nodes. * **Let data flow along the graph** 🥂 It's like how champagne flows along a champagne tower. Graph execution continues as long as there's still data between two connected nodes. * **Customizable start nodes** 🧨 By default, graph execution begins with nodes that have no incoming nodes, but you can choose to start the graph execution from any nodes. * **Data flow statistics** ⏳ Utilities are available to keep track of data volumes at each node and optionally log such info at a regular time interval. * **Exception handling** 💥 Choose whether to halt execution at a specific node or any node. * **Lightweight** 🪶 The source code is only about 400 lines! * **Single-machine Usage** 💻 We love Big Data™ and distributed computing, though deep down we all know that practically we accomplish a ton of work on single machines without those big guns. * **Pure Python** 🐍 The library is built on top of ``asyncio`` from the Python standard library, with no third-party dependencies. Download and Install -------------------- .. code-block:: shell pip install async-graph-data-flow Usage ----- Start with :ref:`quickstart`. To better understand how the library works, see :ref:`technical`. Then get inspired by and see what features are available from :ref:`more_examples`. Don't forget to check out the :ref:`api` as well. License ------- BSD 3-Clause License. Links ----- * `Blog post `_ introducing this package * `Source code and bug tracker `_ Authors ------- This library is authored by Samuel Asirifi, Gbolahan Okerayi, and Jackson Lee at Civis Analytics. Table of Contents ----------------- .. toctree:: :maxdepth: 2 quickstart technical more_examples api