Project: canals

A component orchestration engine for Haystack

Project Details

Latest version
0.11.0
Home Page
None
PyPI Page
https://pypi.org/project/canals/

Project Popularity

PageRank
0.0032464255959377625
Number of downloads
53151

Canals

PyPI - Version PyPI - Python Version Tests Coverage Status Documentation Last commit Monthly Downloads Stars Stats

Canals is a component orchestration engine. Components are Python objects that can execute a task, like reading a file, performing calculations, or making API calls. Canals connects these objects together: it builds a graph of components and takes care of managing their execution order, making sure that each object receives the input it expects from the other components of the pipeline.

Canals powers version 2.0 of the Haystack framework.

Installation

To install Canals, run:

pip install canals

To be able to draw pipelines (Pipeline.draw() method), please make sure you have either an internet connection (to reach the Mermaid graph renderer at https://mermaid.ink) or graphviz (version 2.49.0) installed. If you plan to use Mermaid there is no additional steps to take, while for graphviz you need to do:

GraphViz

sudo apt install graphviz  # You may need `graphviz-dev` too
pip install pygraphviz