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.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, 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.0.tar.gz (337.5 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.0-py3-none-any.whl (82.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: langgraph_events-0.6.0.tar.gz
  • Upload date:
  • Size: 337.5 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.0.tar.gz
Algorithm Hash digest
SHA256 c2a09b884ab032469b2a1e095c43ddf93b8dd623800286c6848f809fc8900efa
MD5 107b8b39d2769ddc903a3ec488b6d53c
BLAKE2b-256 aaf9ad7f32d8434c8d3d23d4da285f47c09b6ceb59738e4ee99b2a472b38a9fa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: langgraph_events-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 82.3 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 41bd3398f21dc8d82f8d9bb6fdc086a58123c25cc9e8e7bcb52b55227ea7605d
MD5 cc8de86f996c4f3f93114db720ccebde
BLAKE2b-256 431740e724a5e7f713811ccbb178e8952564ae8d84edd39675b27d2627f85186

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