Mr. Graph is a python library designed to make composing graphs of sync and async functions easy! Use google style docstrings to automagically create dataclasses and chain together function calls into graphs.
Why:
I like the design of Dagster, but not the latency. For apps and systems engineering, sometimes I want to compose a graph out of regular python functions. I don;t need all the heavy machinery that comes with a full workflow engine.
Current features:
- Use with either async or sync functions
- Uses google style doc strings to name return values.
- Creates dataclasses for each function's output.
- Can infer pipelines from input and output signatures
- All directed acyclic graph layouts supported. linear, fan-in, fan- out.
Future Features:
- Better examples for use with async calls (like LLMs)
- Splitting dataclasses, better error handling, logging improvements.
This is under active development. Any feedback, interest, or contributions are appreciated. Thanks!
github link: https://github.com/mcminis1/mr-graph