Metadata-Version: 2.4
Name: ruststream
Version: 0.1.0
Classifier: Development Status :: 1 - Planning
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3 :: Only
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: Programming Language :: Rust
Classifier: Topic :: Software Development :: Libraries
Classifier: Typing :: Typed
Requires-Dist: pyyaml>=6.0 ; extra == 'asyncapi'
Requires-Dist: attrs>=23 ; extra == 'attrs'
Requires-Dist: cbor2>=5.6 ; extra == 'cbor'
Requires-Dist: click>=8.1 ; extra == 'cli'
Requires-Dist: dishka>=1.4 ; extra == 'dishka'
Requires-Dist: fast-depends>=2.4 ; extra == 'fast-depends'
Requires-Dist: fastapi>=0.110 ; extra == 'fastapi'
Requires-Dist: prometheus-client>=0.20 ; extra == 'metrics'
Requires-Dist: msgpack>=1.0 ; extra == 'msgpack'
Requires-Dist: msgspec>=0.18 ; extra == 'msgspec'
Requires-Dist: orjson>=3.10 ; extra == 'orjson'
Requires-Dist: pydantic>=2.6 ; extra == 'pydantic'
Provides-Extra: asyncapi
Provides-Extra: attrs
Provides-Extra: cbor
Provides-Extra: cli
Provides-Extra: dataclasses
Provides-Extra: dishka
Provides-Extra: fast-depends
Provides-Extra: fastapi
Provides-Extra: metrics
Provides-Extra: msgpack
Provides-Extra: msgspec
Provides-Extra: orjson
Provides-Extra: pydantic
Summary: Python bindings for the RustStream messaging framework.
Author: RustStream contributors
License: MIT OR Apache-2.0
Requires-Python: >=3.11, <3.15
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Homepage, https://github.com/powersemmi/ruststream-py
Project-URL: Repository, https://github.com/powersemmi/ruststream-py

# ruststream (Python)

Python bindings for the [RustStream](../..) messaging framework.

## Install

The core wheel ships the in-memory broker and the dispatcher. Broker integrations are extras:

```bash
pip install ruststream            # core only
pip install ruststream[nats]      # core + NATS broker
```

## Develop locally

```bash
uv sync
uv run maturin develop --manifest-path py/ruststream-py/Cargo.toml
uv run maturin develop --manifest-path py/ruststream-nats-py/Cargo.toml  # if you need NATS
uv run pytest py/ruststream-py py/ruststream-nats-py
```

