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.8.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.8.0.tar.gz (360.2 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.8.0-py3-none-any.whl (90.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: langgraph_events-0.8.0.tar.gz
  • Upload date:
  • Size: 360.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.8.0.tar.gz
Algorithm Hash digest
SHA256 1a4f62f2f9d3f69c0ce1d7715052f0f687c094a2c8ef959838b659d870876c57
MD5 f7391970f2cd956f9d8c8ef410a6e879
BLAKE2b-256 9642e4254aab05855f1ee550d6da6db8a37d5caa94f80fdfdc302a58759e8402

See more details on using hashes here.

File details

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

File metadata

  • Download URL: langgraph_events-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 90.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fb6923c0212c4d8bcfb80b004f92abf241dc4022516b31743442b1b5df2a8eee
MD5 59992cb49b62e72085961e5646c343ea
BLAKE2b-256 bb86506681a0f434aa7806489a7f7c43e2d96fda1471c7c5e776e981f0b29321

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