StackMap
Subscribe
Explore / supervision
roboflow

supervision

Roboflow's reusable computer-vision toolkit: one Detections API over any model (YOLO, SAM, transformers), 20+ annotators, zone counting, tracking and dataset tools. 48k stars, MIT.

48,316 4,438 Python MITupdated yesterday
Curator's take

The glue layer every CV project reinvents until it finds this: normalize any model's output into one Detections object, then annotate, filter by polygon zone, count line crossings, track across frames and slice datasets — the unglamorous 80% around the model. Model-agnostic by design, docs and cookbook are exemplary. NOT a model: it detects nothing on its own — you bring YOLO/SAM/anything — and it's a Python library for pipelines you write, not a no-code video-analytics product. Roboflow-backed, so expect the ecosystem to nudge toward their platform at the edges.

Mapped by ShipWithAI editors · links verified
README.md
📑 Table of Contents

👋 Hello

We are your essential toolkit for computer vision. From data loading to real-time zone counting, we provide the building blocks so you can focus on building applications around your models. 🤝

💻 Install

Pip install the supervision package in a Python>=3.10 environment.

pip install supervision

Read more about conda, mamba, and installing from source in our guide.

🔥 Quickstart

Models

Supervision was designed to be model agnostic. Just plug in any classification, detection, or segmentation model. For your convenience, we have created connectors for the most popular libraries like Ultralytics, Transformers, MMDetection, or Inference. Other integrations, like rfdetr, already return sv.Detections directly.

Install the optional dependencies for this example with pip install pillow rfdetr.

import supervision as sv
from PIL import Image
from rfdetr import RFDETRSmall

image = Image.open("path/to/image.jpg")
model = RFDETRSmall()
detections = model.predict(image, threshold=0.5)

len(detections)
# 5
👉 more model connectors
  • inference

    Running with Inference requires a Roboflow API KEY.

    import supervision as sv
    from PIL import Image
    from inference import get_model
    
    image = Image.open("path/to/image.jpg")
    model = get_model(model_id="rfdetr-small", api_key="ROBOFLOW_API_KEY")
    result = model.infer(image)[0]
    

Continue your stack

What teams reach for next — and why each earns a place beside supervision. Ranked by curator confidence.