Roboflow Supervision capabilities as composable operators in ml-pipes.
Build explicit computer-vision pipelines for detection, annotation, tracking, and zone counting.
Coverage
| Task | Status |
|---|---|
| Classification | Not covered |
| Detection | Covered |
| Segmentation | Covered |
| Keypoints | Not covered |
| Tracking | Covered |
| Tools (Zones, Slicer, etc.) | Covered |
| Dataset | Not covered |
| Evaluation | Not covered |
| Vision-language models | Not covered |
See coverage for role definitions and the detailed API compatibility matrix.
Install
Requires Python 3.10 or newer.
python -m pip install ml-pipes-supervision
For RoboflowInference, including the Quickstart below, install the optional
Inference integration:
python -m pip install "ml-pipes-supervision[inference]"
Quickstart
Build the usual detection-and-annotation flow as one pipeline. The operators below are the same thin boundaries used by the runnable examples.
from ml_pipes.core import Pipeline
from ml_pipes.standard import Recall, Select, Store
from ml_pipes.vision import Decode, LoadFile
from ml_pipes.supervision import BoxAnnotator, Detections, ImageToArray, LabelAnnotator, PlotImage
from ml_pipes.supervision.inference import RoboflowInference
pipeline = Pipeline(
[
LoadFile(),
Decode(),
ImageToArray(),
Store("source_image"),
RoboflowInference(model_id="rfdetr-small"),
Select(0),
Detections.FromInference(),
Recall("source_image", prepend=True),
BoxAnnotator(),
LabelAnnotator(),
PlotImage(),
]
)
For model integrations that produce an ml_pipes.tensor.TensorRegistry, use
Detections.FromTensorRegistry() before Supervision annotators, trackers,
zones, or sinks. This is the explicit boundary from tensor post-processing to
Supervision data.
Documentation
Want to learn how to use Supervision with ml-pipes? Explore our
how-to guides
and end-to-end examples!
The GitHub Pages tutorials preserve the corresponding Supervision guides and
add their ml-pipes counterparts, so you can compare both approaches side by
side.
Why Supervision with ml-pipes?
Supervision provides the computer-vision building blocks; ml-pipes makes the
boundaries between those blocks explicit, composable, and inspectable. A
pipeline can validate its contracts before execution and capture the value at
each operator boundary with Pipeline.inspect(). That makes complex flows
easier to understand and debug without adding ad-hoc logging to every step.
The Detect Small Objects pipeline is a good example: it tiles the input image, runs inference on each tile, gathers the results, stitches detections back into the source coordinate system, merges overlaps, and annotates the final image. The inspection report shows every boundary in that flow.
Click the image to open the interactive inspection report.
Built with Supervision x ml-pipes
View supported Supervision example pipelines
| Example | Upstream Source | Section | Note |
|---|---|---|---|
run_detect_and_annotate.py |
Detect and Annotate (0.30.0) |
Run Detection, Annotate Image with Detections, Display Custom Labels |
Runs object detection, then draws bounding boxes and available class labels on the image. |
run_filter_detections.py |
Filter Detections (0.30.0) |
Filter Detections |
Keeps detections by class, confidence, and relative bounding-box area before annotation. |
run_segment_and_annotate.py |
Detect and Annotate (0.30.0) |
Run Detection, Annotate Image with Segmentations |
Runs instance segmentation and draws masks and labels on the image. |
run_detection_video.py |
Annotate Video with Detections |
Run Detection |
Detects and annotates objects on each video frame, with an FPS overlay. |
run_save_detections.py |
Save Detections |
Save Detections |
Runs detection on each video frame and writes the results to CSV. |
run_track_objects.py |
Track Objects (0.30.0) |
Track Objects, Annotate Tracking IDs, Annotate Traces, Smooth Tracked Detections |
Assigns persistent IDs, smooths tracked boxes, and draws IDs, classes, and motion paths. |
run_count_in_zone.py |
Count Objects in Zone (0.30.0) |
Count Objects in Zone |
Counts and annotates detections inside each configured polygon zone. |
run_traffic_analysis.py |
Traffic Analysis |
Track Zone Visits |
Records ordered vehicle visits between configured zones and displays unique origin-to-destination totals. |
run_time_in_zone.py |
Time in Zone |
Process Video |
Tracks each object and displays its continuous dwell time within each configured polygon zone. |
run_count_objects_crossing_line.py |
Count Objects Crossing the Line |
Process Video |
Tracks objects and counts their crossings in each direction over a line. |
run_detect_small_objects.py |
Detect Small Objects (0.30.0) |
Use InferenceSlicer |
Splits an image into overlapping tiles, detects objects per tile, and merges the results. |
run_zero_shot_object_detection.py |
Zero-Shot Object Detection with YOLO-World (0.30.0) |
Process Video |
Detects objects matching a supplied text prompt and filters duplicate or oversized predictions. |
run_oriented_bounding_boxes.py |
Oriented Bounding Boxes (0.30.0) |
Oriented Box Annotation |
Detects ships and draws their rotated bounding boxes. |
run_blur_faces.py |
Blurring Faces |
Detecting Faces, Blurring the Face |
Detects faces in MediaPipe's sample image locally, then blurs them. |
Metadata
Release files for ml-pipes-supervision 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ml_pipes_supervision-0.1.3.tar.gz | 20.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ml_pipes_supervision-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 41.6 kB
Release files / ml_pipes_supervision-0.1.3.tar.gz
| Download URL | ml_pipes_supervision-0.1.3.tar.gz |
|---|---|
| Size | 20.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
411d53eda681d60b02c3a191bd38275bc752373fb81ffcffce7633072639634d
|
|
BLAKE2b-256 checksum How to use checksums |
59550be9c6979512cd1254b538046f2338701582c2684c61e8d66b30d9d53d7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.
Transparency logRelease files / ml_pipes_supervision-0.1.3-py3-none-any.whl
| Download URL | ml_pipes_supervision-0.1.3-py3-none-any.whl |
|---|---|
| Size | 21.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b2f3747468e16e07ad394fb9a537f014fd6d46424a7dc5265276b1ec30789a8f
|
|
BLAKE2b-256 checksum How to use checksums |
1a8d50aba35e9d7b727bda77fd0e2fa47721198006dd24a250b77a53a34afa54
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.
Transparency log