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.20.0) - 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, DomainEvent, EventGraph, Namespace


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))

@on(...) handlers add invariants, declared exceptions, and cross-namespace reactions. 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.20.0.tar.gz (464.9 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.20.0-py3-none-any.whl (129.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: langgraph_events-0.20.0.tar.gz
  • Upload date:
  • Size: 464.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","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.20.0.tar.gz
Algorithm Hash digest
SHA256 e14beabc055a7db3955cd1681733a2243f4d416944e20e065c1e2d5b4c185bfd
MD5 1a25a6872ef44e924a51570366f0a64e
BLAKE2b-256 9e320c31c2e68d242fff167c2d0f27c8c0a536ccfea43147f3124388ec50cceb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: langgraph_events-0.20.0-py3-none-any.whl
  • Upload date:
  • Size: 129.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","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.20.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b6fea7fc9d2bbd11feaeedbeb201550497043ae0d2a0fbb48870e17cbc594b47
MD5 ebee785c7c27c4c5913c0e36d70ce117
BLAKE2b-256 07ce7bdc6832842f9e2ba33bbf2b44fca061734e0b31a9d7a90ad135769b6bcf

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