Metadata-Version: 2.5
Name: vidlabel
Version: 0.6.0
Summary: Open, directory-based format and Python library for video annotations: time markers, boxes, masks, tracks.
Project-URL: Homepage, https://github.com/HIManish-G/pyvidlabel
Project-URL: Documentation, https://github.com/HIManish-G/pyvidlabel/wiki
Project-URL: Issues, https://github.com/HIManish-G/pyvidlabel/issues
Project-URL: Changelog, https://github.com/HIManish-G/pyvidlabel/blob/main/docs/changelog.md
License: MIT
Keywords: annotation,bounding boxes,computer vision,dataset,labelling,masks,video
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
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: Topic :: Scientific/Engineering :: Image Recognition
Requires-Python: >=3.10
Requires-Dist: numpy>=1.24
Requires-Dist: pyarrow>=14
Requires-Dist: typer>=0.12
Requires-Dist: vidlabel-spec==0.6.0
Requires-Dist: zstandard>=0.22
Provides-Extra: mcp
Requires-Dist: mcp>=1.23; extra == 'mcp'
Requires-Dist: opencv-python-headless>=4.8; extra == 'mcp'
Provides-Extra: torch
Requires-Dist: opencv-python-headless>=4.8; extra == 'torch'
Requires-Dist: torch>=2.0; extra == 'torch'
Provides-Extra: ui
Requires-Dist: opencv-python-headless>=4.8; extra == 'ui'
Requires-Dist: starlette>=0.37; extra == 'ui'
Requires-Dist: uvicorn>=0.29; extra == 'ui'
Provides-Extra: video
Requires-Dist: opencv-python-headless>=4.8; extra == 'video'
Description-Content-Type: text/markdown

# vidlabel

An open, directory-based format and Python library for **video annotation data**: time markers and spans, bounding boxes,
masks, tracks and labels in one annotation table (JSON + Parquet). Video pixels are not stored; datasets point at your videos.

**Status: alpha (0.6.0).** The format and API can still change between minor versions; see the
[changelog](https://github.com/HIManish-G/pyvidlabel/blob/main/docs/changelog.md).

```
pip install vidlabel                # library and command line
pip install "vidlabel[video]"       # + OpenCV: read frames, preview, check-video
pip install "vidlabel[ui]"          # + local web interface:  vidlabel ui my_dataset
pip install "vidlabel[mcp]"         # + MCP server for AI agents:  vidlabel mcp my_dataset
pip install "vidlabel[torch]"       # + PyTorch datasets
```

Python 3.10 or newer. `vidlabel-spec` (the format's models and JSON Schema) is installed with it.

```python
from vidlabel import Dataset, VideoMetadata

ds = Dataset.create("my_dataset")
ds.add_video(VideoMetadata(video_id="clip", frame_count=100, fps={"num": 25, "den": 1}, width=640, height=360))
ds.add_labels(["cat"])
ds.add_annotations([{"kind": "box", "label": "cat", "start_frame": 0, "box": (10, 10, 200, 150), "origin": "human"}], "clip")
print(ds.validate())
```

Documentation, format specification and guides: <https://github.com/HIManish-G/pyvidlabel> ([wiki](https://github.com/HIManish-G/pyvidlabel/wiki)). MIT licensed.
