AI-powered image annotation tool for Google Colab
Project description
DriverFlow — Intelligent Image Annotation Tool
A cloud-ready annotation tool powered by GroundingDINO for zero-shot object detection. Runs entirely in Google Colab — no local setup required.
Features
- Zero-shot detection — detect any objects using natural language prompts
- Interactive UI — upload images, adjust thresholds, preview results in real-time
- YOLO export — download annotations as a ZIP with
annotations.txt+classes.txt - Cloudflare Tunnel — optional persistent public URL with no account required
Quick Start (Google Colab)
!pip install driverflow
from driverflow import DriverFlow
DriverFlow().start() # Colab proxy URL
# DriverFlow().start(tunnel=True) # persistent public URL via Cloudflare
start() handles everything: installing GroundingDINO, downloading model weights, installing dependencies, and launching the web UI.
Usage
- Upload an image — drag and drop or click to browse
- Enter a text prompt — describe objects to detect, e.g.
car . person . traffic light - Adjust thresholds (optional)
- Box Threshold (default 0.35) — higher = only more confident detections
- Text Threshold (default 0.25) — higher = stricter text-alignment matching
- Click Detect — returns an annotated image and a summary table
- Download — export as YOLO format ZIP
YOLO Export Format
annotations.txt — one detection per line:
<class_id> <cx> <cy> <w> <h>
All coordinates are normalized (0–1). class_id is 0-based, sorted alphabetically.
classes.txt — one class name per line, alphabetically sorted.
API
The tool runs a local FastAPI server with two endpoints:
POST /api/detect
Multipart form: image (file), text_prompt (str), box_threshold (float), text_threshold (float).
Returns JSON with detections, class_counts, annotated_image_b64, image_width, image_height.
POST /api/download_yolo
JSON body: detections, image_width, image_height.
Returns a ZIP file with annotations.txt and classes.txt.
Troubleshooting
Slow first run — GroundingDINO (~400 MB) and model weights are downloaded on first start(). Subsequent runs in the same Colab session are fast.
Low confidence / missing detections — lower the thresholds (e.g. 0.25 → 0.15) or use more specific prompts like red car instead of car.
Colab proxy expires — use tunnel=True for a persistent Cloudflare URL.
Model
GroundingDINO SwinT-OGC — Vision Transformer + BERT text encoder, ~400 MB checkpoint. Licensed under Apache 2.0 by IDEA-Research.
License
MIT — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file driverflow-0.2.4.tar.gz.
File metadata
- Download URL: driverflow-0.2.4.tar.gz
- Upload date:
- Size: 13.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a6d347fa0b873563f84a75eaeac8c2b3eeacbaa2ff5e6be3bbe9bb8550754c4
|
|
| MD5 |
23d668108e4fd2011aea3291fa0e958b
|
|
| BLAKE2b-256 |
0609241d60ffda978268f09618d5cb3179f4a0b8cce8bf4beb9acbc16efef402
|
Provenance
The following attestation bundles were made for driverflow-0.2.4.tar.gz:
Publisher:
publish.yml on chirumer/DriverFlow
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
driverflow-0.2.4.tar.gz -
Subject digest:
4a6d347fa0b873563f84a75eaeac8c2b3eeacbaa2ff5e6be3bbe9bb8550754c4 - Sigstore transparency entry: 1406296091
- Sigstore integration time:
-
Permalink:
chirumer/DriverFlow@dd7edf531a955712c1112504e29719146ab7d19d -
Branch / Tag:
refs/tags/v0.2.4 - Owner: https://github.com/chirumer
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@dd7edf531a955712c1112504e29719146ab7d19d -
Trigger Event:
push
-
Statement type:
File details
Details for the file driverflow-0.2.4-py3-none-any.whl.
File metadata
- Download URL: driverflow-0.2.4-py3-none-any.whl
- Upload date:
- Size: 13.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f68698d867d2bfe272b3f8784cc6076eff747b30cceef2734e29c1149bbdcf24
|
|
| MD5 |
0c6cba813e0980dee3f3c32fb7bd5ae1
|
|
| BLAKE2b-256 |
5e180aad36cb0ee76b0e73bddb3420a068b40a1aa8408f7a7e7297cf43ac8c4a
|
Provenance
The following attestation bundles were made for driverflow-0.2.4-py3-none-any.whl:
Publisher:
publish.yml on chirumer/DriverFlow
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
driverflow-0.2.4-py3-none-any.whl -
Subject digest:
f68698d867d2bfe272b3f8784cc6076eff747b30cceef2734e29c1149bbdcf24 - Sigstore transparency entry: 1406296151
- Sigstore integration time:
-
Permalink:
chirumer/DriverFlow@dd7edf531a955712c1112504e29719146ab7d19d -
Branch / Tag:
refs/tags/v0.2.4 - Owner: https://github.com/chirumer
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@dd7edf531a955712c1112504e29719146ab7d19d -
Trigger Event:
push
-
Statement type: