Skip to main content

Typed Graph-like Pipeline Builder

Pipy Downloads Issues Type Check Tests Deploy Docs Documentation

A pydantically typed, lightweight graph framework for Python that combines features from Langgraph with static type safety.

A community collection of nodes will be available here.

Overview

  • Pydantic Typing:
    Built on Pydantic and Generics for 100% strict static type safety.
  • Inheritance or Protocols:
    Extend, specialize and join state and node classes.
  • Parallel Task Processing:
    Multiple nodes can run simultaneously
  • Dual State Management:
    • State with automatic change extraction and conflict detection
    • Shared state accessible by all nodes, protected via explicit locking
  • Flexible Routing:
    Define simple node-to-node edges or dynamic routing based on functions.
  • Streaming:
    A standardized interface for streaming data between nodes.
  • Hooks Interface:
    Customizability and predefined interactive step-by-step debugging class.
  • Error Edges:
    Configure node error handling in the graph.

Installation

PyPI

pip install edgygraph

Python 3.13+ is required

Example Workflow

Import Classes

from edgygraph import State, Shared, Node, START, END, Graph
import asyncio

Create a State

class MyState(State):

    capslock: bool = False

Create a Node

class MyNode(Node[MyState, Shared]):

    async def __call__(self, state: MyState, shared: Shared) -> None:

        if state.capslock:
            print("HELLO WORLD!")
        else:
            print("Hello World!")

Create Instances

state = MyState(capslock=True)
shared = Shared()

node = MyNode()

Create a Graph

graph = Graph[MyState, Shared](
    edges=[
        (
            START,
            node,

            END,
        )
    ]
)

Run Graph

asyncio.run(graph(state, shared))

More examples can be found in the examples folder

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

edgygraph-0.0.91.tar.gz (32.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

edgygraph-0.0.91-py3-none-any.whl (26.5 kB view details)

Uploaded Python 3

File details

Details for the file edgygraph-0.0.91.tar.gz.

File metadata

  • Download URL: edgygraph-0.0.91.tar.gz
  • Upload date:
  • Size: 32.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for edgygraph-0.0.91.tar.gz
Algorithm Hash digest
SHA256 47eac41c1b8b6c979c76b389b24d9e6f934003a72e605aa3daa0b76395b94889
MD5 2b1027bc5e03ff2c7d41b9c4f0e62b91
BLAKE2b-256 fccccd8bd5e35c4d50fe1de1db432a25fc2e0e2cbe2f3e935abfabfb485059ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for edgygraph-0.0.91.tar.gz:

Publisher: publish.yml on mathisxy/edgygraph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file edgygraph-0.0.91-py3-none-any.whl.

File metadata

  • Download URL: edgygraph-0.0.91-py3-none-any.whl
  • Upload date:
  • Size: 26.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for edgygraph-0.0.91-py3-none-any.whl
Algorithm Hash digest
SHA256 c7eaa623179b0a4c2c18ab37a0a3bec4badb3ed8f7ce955624f72e60e3cd49e2
MD5 e5d58305ff5b7bf80f5c5537862bd426
BLAKE2b-256 a1f0559e181652d347781534272e3c948f74a0adbd6ba4d9f25c9ca611df46b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for edgygraph-0.0.91-py3-none-any.whl:

Publisher: publish.yml on mathisxy/edgygraph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.0.91 This release

2 files

0.0.89

2 files

0.0.88

2 files

0.0.87

2 files

0.0.86

2 files

0.0.85

2 files

0.0.84

2 files

0.0.83

2 files

0.0.82

2 files

0.0.81

2 files

0.0.80

2 files

0.0.79

2 files

0.0.78

2 files

0.0.77

2 files

0.0.76

2 files

0.0.75

2 files

0.0.74

2 files

0.0.73

2 files

0.0.72

2 files

0.0.71

2 files

0.0.70

2 files

0.0.69

2 files

0.0.68

2 files

0.0.67

2 files

0.0.66

2 files

0.0.65

2 files

0.0.64

2 files

0.0.63

2 files

0.0.62

2 files

0.0.61

2 files

0.0.60

2 files

0.0.59

2 files

0.0.58

2 files

0.0.57

2 files

0.0.56

2 files

0.0.55

2 files

0.0.54

2 files

0.0.53

2 files

0.0.52

2 files

0.0.51

2 files

0.0.50

2 files

0.0.49

2 files

0.0.48

2 files

0.0.47

2 files

0.0.46

2 files

0.0.45

2 files

0.0.44

2 files

0.0.43

2 files

0.0.42

2 files

0.0.41

2 files

0.0.40

2 files

0.0.39

2 files

0.0.38

2 files

0.0.37

2 files

0.0.36

2 files

0.0.35

2 files

0.0.34

2 files

0.0.33

2 files

0.0.32

2 files

0.0.31

2 files

0.0.30

2 files

0.0.29

2 files

0.0.28

2 files

0.0.27

2 files

0.0.26

2 files

0.0.25

2 files

0.0.24

2 files

0.0.23

2 files

0.0.22

2 files

0.0.21

2 files

0.0.20

2 files

0.0.19

2 files

0.0.18

2 files

0.0.17

2 files

0.0.16

2 files

0.0.15

2 files

0.0.14

2 files

0.0.13

2 files

0.0.12

2 files

0.0.11

2 files

0.0.10

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

0.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page