Settings

Theme

Show HN: Mr. Graph – A graph definition and execution library for Python

mr-graph.readthedocs.io

24 points by jmcminis 3 years ago · 7 comments · 1 min read

Reader

What:

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

schemescape 3 years ago

Slight tangent: is anyone aware of a library (in Python or JS… or C) for specifying DAG pipielines that supports caching results (based on input)?

Make is closest I’ve found, but there’s probably something better out there.

Edit: I should look at other build tools, but ideally I want a library.

Edit again: I will be running this locally. Forgot to mention that.

adammarples 3 years ago

There is a mistake in your first example, mixing up m and n. Does this automagical system mean that I need to write docstrings in your preferred style to get the names lined up?

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection