A simple library for dataflow programming in python.
It is inspired by pythonflow
but with substantial modifications.
The core grapes
module depends on networkx
, which can be found on PyPI and is included in the Anaconda distribution.
For TOML support, tomli
is needed before python 3.11 (in python 3.11, tomllib
is part of the standard).
To visualize graphs, matplotlib
and pygraphviz
(a wrapper for Graphviz
) are also needed.
On Windows, pygraphviz
requires the Visual Studio C/C++ build tools to be installed (including MSVC tools), alongside Graphviz
2.46 or higher, which should be in PATH
.
This is explained in detail in the official guide of pygraphviz
.
Finally, pytest
is needed to run the tests.
grapes
is available on PyPI.
Install it from there with
pip install grapes
Otherwise you can install from source.
Move to the root directory of the grapes source code (the one where setup.py
is located) and run
pip install -e .
The -e
flag creates an editable installation.
Note that the dependencies related to graph visualization are not installed automatically and should be installed manually as explained in the Dependencies section.
Future plans include:
- Better explanation of what
grapes
is. - Usage examples.
- Better comments and documentation.
The bulk of grapes
development was done by Giulio Foletto in his spare time.
See LICENSE.txt
and NOTICE.txt
for details on how grapes
is distributed.