Skip to main content

Opinionated event-driven abstraction for LangGraph. State IS events.

Project description

langgraph-events

Opinionated event-driven abstraction for LangGraph. State IS events.

[!CAUTION] Experimental (v0.6.1) - This is an early-stage personal project, not a supported product. The API will change without notice or migration path.

Quick Start

Group related commands and events into a Namespace; colocate the handler on the command.

from langgraph_events import Command, Domain, DomainEvent, EventGraph


class Order(Namespace):
    class Place(Command):
        customer_id: str

        class Placed(DomainEvent):
            order_id: str

        def handle(self) -> Placed:
            return Order.Place.Placed(order_id=f"o-{self.customer_id}")


graph = EventGraph([Order.Place])
log = graph.invoke(Order.Place(customer_id="alice"))
print(log.latest(Order.Place.Placed))

External @on(...) handlers compose in the same graph — use them for invariants, declared exceptions, or reactions across domains. See Concepts and Control Flow.

Installation

pip install langgraph-events

# With AG-UI adapter support
pip install "langgraph-events[agui]"

# From source (development)
pip install git+https://github.com/cadance-io/langgraph-events.git

Documentation

Development

uv sync --group dev
uv run pytest tests/
uv run ruff check src/ tests/
uv run mypy src/

License

MIT - see LICENSE.

Project details


Download files

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

Source Distribution

langgraph_events-0.6.1.tar.gz (340.3 kB view details)

Uploaded Source

Built Distribution

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

langgraph_events-0.6.1-py3-none-any.whl (83.0 kB view details)

Uploaded Python 3

File details

Details for the file langgraph_events-0.6.1.tar.gz.

File metadata

  • Download URL: langgraph_events-0.6.1.tar.gz
  • Upload date:
  • Size: 340.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for langgraph_events-0.6.1.tar.gz
Algorithm Hash digest
SHA256 feeeb86bd193d764c3d4fe2e6e7f23c1010da754ac55eeb2324c4db7c0d30a6b
MD5 ff6a5f5b7208b8e917eb320fdde3cd5b
BLAKE2b-256 44d334dd79c660c3b64fd5b058caa1f17e200da3a32152715a13a9db57d33bc5

See more details on using hashes here.

File details

Details for the file langgraph_events-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: langgraph_events-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 83.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for langgraph_events-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c3708f2dbd5e511ee244fb1af1ae1381e4976715f7313a35f64672b4a8edd7b8
MD5 21f9cacb1137a1e44325e227d9c0a2dd
BLAKE2b-256 a437a4932a50da404c95cbda87ea40a95d2d0ec1688029491d5a0dfef683593a

See more details on using hashes here.

Supported by

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