Metadata-Version: 2.4
Name: reactor-runtime
Version: 3.0.2
Summary: A Python framework for building real-time, interactive video models
Author: Reactor
Author-email: Reactor <team@reactor.inc>
License-Expression: Apache-2.0
License-File: LICENSE
License-File: NOTICE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Typing :: Typed
Requires-Dist: av>=18.0.0
Requires-Dist: fastapi>=0.139.0
Requires-Dist: numpy>=2.1
Requires-Dist: prometheus-client>=0.26.0
Requires-Dist: protobuf>=7.35.1
Requires-Dist: pyyaml>=6.0.3
Requires-Dist: reactor-webrtc>=0.4.2
Requires-Dist: uvicorn>=0.49.0
Requires-Python: >=3.12
Project-URL: Source, https://github.com/reactor-team/reactor-runtime
Description-Content-Type: text/markdown

# Reactor Runtime

A Python framework for building real-time, interactive video models.

You write the model. Reactor Runtime handles the session lifecycle, the media
transport, and the wire protocol that connects clients to your model.

## Status

Early development. The public API and wire protocol are not yet stable.

## Requirements

- Python 3.12 or newer.
- The **`reactor-webrtc`** wheel, declared as a dependency, which ships the
  prebuilt libwebrtc media engine. No system-level WebRTC or GStreamer install
  is required; the wheel carries everything the transport needs.

## Development

The project uses [mise](https://mise.jdx.dev/) as its task runner; it pins the
toolchain and installs [uv](https://docs.astral.sh/uv/), which owns Python. A
thin `make` shim forwards the same names, so `make lint` runs `mise run lint`.

```sh
mise run install      # install deps, generate wire bindings, and git hooks
mise run lint         # ruff check, ruff format --check, and mise.lock drift
mise run format       # apply ruff formatting
mise run typecheck    # ty (strict)
mise run test         # unit tests on the floor Python
mise run test-matrix  # unit tests on every supported Python
```

## License

Licensed under the [Apache License, Version 2.0](./LICENSE).
