Metadata-Version: 2.4
Name: streamvision
Version: 0.1.0rc2
Summary: Video sources, InferencePipeline and the stream manager for Roboflow Inference
License: LICENSE.core (Apache 2.0) applies to all files in this repository
        except for files in or under any directory that contains a superseding
        license file (such as the models located in `inference/models/`
        which are governed by their own individual licenses and
        the files and folders in the `inference/enterprise/` and `inference_cli/lib/enterprise/` directories which are
        governed by the Roboflow Enterprise License located at
        `inference/enterprise/LICENSE.txt`).
Requires-Python: <3.14,>=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy<2.4.0,>=2.0.0
Requires-Dist: opencv-python<4.13.0,>=4.8.1.78
Requires-Dist: supervision<0.30.0,>=0.29.0
Requires-Dist: pydantic<2.12.0,>=2.8.0
Requires-Dist: psutil>=7.0.0
Requires-Dist: roboflow-workflows>=0.2.4rc1
Provides-Extra: webrtc
Requires-Dist: aiortc>=1.9.0; extra == "webrtc"
Requires-Dist: av==14.2.0; extra == "webrtc"
Provides-Extra: test
Requires-Dist: pytest<10.0.0,>=9.0.3; extra == "test"
Requires-Dist: requests-mock~=1.12.1; extra == "test"
Requires-Dist: tomli>=2.0.0; python_version < "3.11" and extra == "test"
Dynamic: license-file

# streamvision

`streamvision` holds the host-neutral pieces of Roboflow Inference's video
stack: camera acquisition (`VideoSource` and its producers), the host-neutral
`InferencePipeline`, the stream-manager TCP client and its wire entities, and
the stream-manager runtime that hosts pipelines as subprocesses. It is a
sibling distribution to `roboflow-workflows`, installable on its own or
embedded in the full Inference server.

The historical `inference.core.interfaces.{camera,stream,stream_manager}`
import paths resolve to the same modules here when `inference` is installed.
No `gpu`/`jetson` extra is declared: GStreamer/NVDEC support is provisioned by
the Docker images, not pinned as a PyPI dependency in `requirements/`.

## Standalone stream manager

The stream manager (`python -m streamvision`) needs `streamvision[webrtc]`; the
library parts (`streamvision.camera`, `streamvision.stream`, the TCP client and
entities) work without it.

```bash
STREAM_MANAGER_PORT=7070 python -m streamvision \
    --host-factory my_package.host:create_host \
    --host-setting api_key=... --warm-pipelines 1
```

`--host-factory` names a trusted callable returning a pipeline host; its module
is imported before the runtime. `scripts/streamvision_isolation_probe.py`
verifies an installed wheel runs without `inference`.
