Metadata-Version: 2.4
Name: autovision-framework
Version: 0.3.2
Summary: AutoVision: enterprise visual model training framework (pretrain/distill -> finetune -> evaluate -> export)
Author: AutoVision contributors
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/hi-agi-lab/AutoVision
Project-URL: Documentation, https://hi-agi-lab.github.io/AutoVision/
Project-URL: Repository, https://github.com/hi-agi-lab/AutoVision
Project-URL: Issues, https://github.com/hi-agi-lab/AutoVision/issues
Project-URL: Changelog, https://github.com/hi-agi-lab/AutoVision/blob/main/CHANGELOG.md
Keywords: computer vision,object detection,instance segmentation,pose estimation,model training,model export
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
License-File: THIRD_PARTY_LICENSES.md
Requires-Dist: defusedxml>=0.7.1
Requires-Dist: einops>=0.3
Requires-Dist: filelock>=3.0
Requires-Dist: numpy>=1.23
Requires-Dist: pyarrow>=15.0.0
Requires-Dist: pycocotools>=2.0.7
Requires-Dist: pydantic>=2.7
Requires-Dist: pyyaml>=6.0
Requires-Dist: scipy>=1.10
Requires-Dist: torch>=2.4
Requires-Dist: torchvision>=0.19
Requires-Dist: tqdm>=4.0
Requires-Dist: typer>=0.12
Provides-Extra: tensorboard
Requires-Dist: tensorboard>=2.10; extra == "tensorboard"
Provides-Extra: mlflow
Requires-Dist: mlflow>=2.8; extra == "mlflow"
Provides-Extra: wandb
Requires-Dist: wandb>=0.17; extra == "wandb"
Provides-Extra: bitsandbytes
Requires-Dist: bitsandbytes>=0.43; extra == "bitsandbytes"
Provides-Extra: timm
Requires-Dist: timm>=1.0.3; extra == "timm"
Provides-Extra: super-gradients
Requires-Dist: super-gradients>=3.6.1; extra == "super-gradients"
Provides-Extra: ultralytics
Requires-Dist: ultralytics>=8.1.0; extra == "ultralytics"
Provides-Extra: gtr
Requires-Dist: flash-linear-attention==0.5.0; extra == "gtr"
Provides-Extra: download
Requires-Dist: huggingface_hub>=0.23; extra == "download"
Provides-Extra: lsap
Requires-Dist: torch-linear-assignment==0.1.0; extra == "lsap"
Provides-Extra: transformers
Requires-Dist: transformers>=4.56; extra == "transformers"
Requires-Dist: sentencepiece>=0.2; extra == "transformers"
Requires-Dist: protobuf>=4; extra == "transformers"
Provides-Extra: rfdetr
Requires-Dist: transformers>=5.9; extra == "rfdetr"
Provides-Extra: export
Requires-Dist: numpy>=1.25; extra == "export"
Requires-Dist: onnx>=1.15; extra == "export"
Requires-Dist: onnxruntime>=1.17; extra == "export"
Requires-Dist: onnxslim>=0.1; extra == "export"
Requires-Dist: onnxscript>=0.1; extra == "export"
Provides-Extra: openvino
Requires-Dist: openvino>=2024.0; extra == "openvino"
Provides-Extra: video
Requires-Dist: opencv-python-headless>=4.8; extra == "video"
Provides-Extra: docs
Requires-Dist: mkdocs-material<10,>=9.5; extra == "docs"
Requires-Dist: mkdocs<2; extra == "docs"
Requires-Dist: mkdocs-static-i18n<2,>=1.2; extra == "docs"
Provides-Extra: serving
Requires-Dist: fastapi>=0.110; extra == "serving"
Requires-Dist: uvicorn>=0.29; extra == "serving"
Provides-Extra: dev
Requires-Dist: bandit>=1.7; extra == "dev"
Requires-Dist: httpx>=0.27; extra == "dev"
Requires-Dist: mypy>=1.10; extra == "dev"
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-cov>=5.0; extra == "dev"
Requires-Dist: pytest-mock>=3.14; extra == "dev"
Requires-Dist: ruff>=0.8; extra == "dev"
Dynamic: license-file

# AutoVision

Enterprise-grade visual model training framework: self-supervised pretrain /
distill → finetune → evaluate → export in one chain. Covers detection, rotated
boxes, instance / panoptic / semantic segmentation, pose, depth, and
classification; the Python API and `autovision-cli` share the same strict
Pydantic validation.

> **Distribution name**: the PyPI package is `autovision-framework`, while the
> import package stays `autovision` and the CLI stays `autovision-cli`. This
> project is unrelated to the unrelated `autovision` 0.0.1 package on PyPI;
> make sure you install `autovision-framework`.

**Links**: [Source repository](https://github.com/hi-agi-lab/AutoVision) ·
[Documentation](https://hi-agi-lab.github.io/AutoVision/) ·
[Changelog](https://github.com/hi-agi-lab/AutoVision/blob/main/CHANGELOG.md)

## Installation

Python ≥ 3.10:

```bash
pip install autovision-framework

# Common extras: HF backbones + timm + ONNX export
pip install "autovision-framework[transformers,timm,export]"

# Pretrained RF-DETR direct inference
pip install "autovision-framework[rfdetr,export]"
```

Model packages load lazily per extra; a missing extra yields an empty registry
listing instead of an error. See the
[repository README](https://github.com/hi-agi-lab/AutoVision#installation)
for the full extras table.

## Quick start

No training — load released weights and predict:

```python
import autovision

model = autovision.detection("rfdetr/rf-detr-small", pretrained=True)
result = model.predict("image.jpg")   # {'bboxes': ..., 'scores': ..., 'labels': ...}
model.export("model.onnx")            # parity gate + postprocess spec
```

Object detection, train → validate → predict → export:

```python
import autovision

data = autovision.ensure_coco8()   # synthetic smoke dataset; swap in COCO/YOLO configs
model = autovision.detection("rtdetr/resnet18").train(
    out="runs/det1", data=data, steps=2000, batch_size="auto",
)
model.val(data=data)          # {'map': ..., 'map_50': ...}
model.predict("image.jpg")    # {'bboxes': ..., 'scores': ..., 'labels': ...}
model.export("model.onnx")    # dispatches by .onnx / .engine / .pt suffix
```

Equivalent CLI (same Pydantic validation):

```bash
autovision-cli train-object-detection out=runs/det1 data=data.yaml steps=2000
autovision-cli val     model=runs/det1/exported_models/exported_best.pt data=coco8
autovision-cli predict model=runs/det1/exported_models/exported_best.pt images=dir/ out=preds/ threshold=0.5
```

## Common extras

| extra | capability |
|---|---|
| `transformers` | DINOv2 / DINOv3 backbones (HuggingFace weights) |
| `timm` | full timm backbone zoo (arbitrary input channels) |
| `export` | ONNX export + numerical parity gate |
| `openvino` | OpenVINO IR export and runtime |
| `video` | video / RTSP reference inference runtime |
| `serving` | FastAPI reference serving (`/predict`, `/metrics`) |
| `gtr` | GTR GLA backbone (Triton, CUDA required) |
| `download` | on-demand GTR upstream weight download (huggingface_hub) |
| `dev` | pytest / ruff (same as CI) |

## License

Apache-2.0 (AutoVision original code; full text:
<https://www.apache.org/licenses/LICENSE-2.0>). Third-party component and
weight provenance ship in `NOTICE` and `THIRD_PARTY_LICENSES.md`.
Restricted-license weights (DINOv2 CC-BY-NC 4.0 / DINOv3 License) are not
downloaded by default; user-held weights may not be redistributed.

Full documentation (model zoo, benchmarks, export details, known limits) is
available on the
[documentation site](https://hi-agi-lab.github.io/AutoVision/) and in the
`docs/` directory of the source repository.
