Metadata-Version: 2.4
Name: langchain-protocol
Version: 0.0.13
Summary: Python bindings for the LangChain agent streaming protocol
Project-URL: Homepage, https://github.com/langchain-ai/agent-protocol/tree/main/streaming
Project-URL: Repository, https://github.com/langchain-ai/agent-protocol
Project-URL: Issues, https://github.com/langchain-ai/agent-protocol/issues
License: MIT
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: <4.0.0,>=3.10.0
Requires-Dist: typing-extensions<5.0.0,>=4.7.0
Description-Content-Type: text/markdown

# langchain-protocol

Python bindings for the [LangChain agent streaming protocol][streaming].

This package provides generated `TypedDict` and `Literal` definitions for the
protocol's commands, events, results, and payload shapes. It does not include a
runtime client, transport, or helper APIs &mdash; it is intended as a source of
typing primitives only.

The types are generated from [`protocol.cddl`][cddl], the source of truth for
the wire format. See the [streaming protocol overview][streaming] for the
full design, channel model, and transport details.

[streaming]: https://github.com/langchain-ai/agent-protocol/tree/main/streaming
[cddl]: https://github.com/langchain-ai/agent-protocol/blob/main/streaming/protocol.cddl

## Installation

```bash
pip install langchain-protocol
```

## Usage

```python
from langchain_protocol import Command, SubscribeParams

params: SubscribeParams = {
    "channels": ["messages", "lifecycle"],
}

subscribe: Command = {
    "id": 1,
    "method": "subscription.subscribe",
    "params": params,
}
```

## What this package includes

- `TypedDict` definitions for commands, events, results, and payload shapes
- `Literal` and union aliases for protocol enums and tagged unions
- A `py.typed` marker so type checkers pick up the bundled annotations
