Metadata-Version: 2.3
Name: lab-link
Version: 0.1.1
Summary: Generic server-authoritative sync library for FastAPI
Author: Andrew Mueller
Author-email: Andrew Mueller <amueller@caltech.edu>
Requires-Dist: fastapi>=0.115
Requires-Dist: jsonpatch>=1.33
Requires-Dist: pydantic>=2.0
Requires-Dist: websockets>=12.0
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: pytest-asyncio ; extra == 'dev'
Requires-Dist: httpx ; extra == 'dev'
Requires-Dist: uvicorn[standard] ; extra == 'dev'
Requires-Dist: numpy>=1.24 ; extra == 'numpy'
Requires-Dist: sqlmodel>=0.0.24 ; extra == 'persist'
Requires-Python: >=3.11
Project-URL: Homepage, https://sansseriff.github.io/lab-link/
Project-URL: Repository, https://github.com/sansseriff/lab-link
Project-URL: Documentation, https://sansseriff.github.io/lab-link/
Provides-Extra: dev
Provides-Extra: numpy
Provides-Extra: persist
Description-Content-Type: text/markdown

# lab-link Python

FastAPI/Pydantic backend runtime for `lab-link`.

Use it to register authoritative state, expose a WebSocket sync endpoint, run
commands with hardware side effects, and broadcast versioned JSON Patch updates.

```bash
uv add lab-link
```

```python
from lab_link import LabSync

sync = LabSync()
sync.register_state(AppState, initial=state)
app = sync.create_app()
```

Full docs: https://sansseriff.github.io/lab-link/
