|
3 months ago | |
---|---|---|
docs | 3 months ago | |
grapheval | 3 months ago | |
.gitignore | 8 months ago | |
README.md | 3 months ago | |
pyproject.toml | 8 months ago |
README.md
GraphEval
GraphEval is a project which aims to simplify the task of evaluating data. It is especially useful if similar tasks should be performed with only slight variations and to condense long jupyter notebooks into much shorter, self-documenting code. Another advantage is that GraphEval provides zero-effort caching at each step to save computation time, which automatically detects if re-computing is necessary.
This works in three simple steps:
- First, splitting the whole pipeline into a set of atomic steps, which are called nodes (for example "Do a linear regression").
- Compile the nodes to a graph, essentially plugging their in- and outputs together.
- Request the result you want from the respective node.
The graph takes care of solving the dependencies (i.e. feeding every node with the required data) and eventually loading from and saving to cache. On top of that, results can also be visualized using the matplotlib wrapper proplot by giving every node the knowledge of how to add its results to a figure.
GraphEval can also be seen as an extension to splitting a pipeline into basic python functions. From this point of view, it has the main advantage of lazy evaluation and caching.
To render the docs, got to the docs
directory and run make html
. This will put the html docs into /docs-build
. A rendered version of the docs can be found here.
Please note that this project is in an early phase of development. You are encouraged to report issues etc.