AI Labelling tool for computer vision
Project description
Ultimate AI Labeller
Desktop image-annotation tool for computer vision datasets, built with Tkinter.
Features
- Fast bounding-box labeling with mouse drag, resize handles, and move operations
- Keyboard-first workflow (
Fnext,Dprevious,Aauto red-detection,Spacefuse boxes) - Undo/redo support (
Ctrl+Z,Ctrl+Y) - YOLO-assisted detection (Ultralytics) with confidence control
- Box fusion utilities for overlapping/nearby boxes
- Scrollable right settings panel for small window sizes
- Remove bad frames from current split (
train/val/test) - Restore removed frames from a selection dialog
- Image jump selector (dropdown) to move directly to any image in the split
- Session resume memory (reopens last project/split/image)
- Language and theme switch support in-app
Dataset Layout
The app expects a YOLO-style folder structure:
your_project/
images/
train/
val/
test/
labels/
train/
val/
test/
Supported image extensions: .png, .jpg, .jpeg
Label format: YOLO .txt (class cx cy w h normalized).
Removed frames are moved to:
your_project/
removed/
train|val|test/
images/
labels/
Install
pip install -e .
or:
pip install .
Run
After install:
ai-labeller
Or directly:
python src/ai_labeller/main.py
Shortcuts
F: save and next imageD: previous imageA: auto red detectionSpace: fuse boxesCtrl+Z: undoCtrl+Y: redoDelete: delete selected box
Notes
- First YOLO use requires model weights (default:
yolov8n.pt) available in your working directory or configured path. - Session state is saved to
~/.ai_labeller_session.json.
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 ultimate_ai_labeller-0.1.1.tar.gz.
File metadata
- Download URL: ultimate_ai_labeller-0.1.1.tar.gz
- Upload date:
- Size: 19.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd102724b9a10552ace8355a189f9604a8fa9d0a8dd19384c76d3f4f6d8c12c7
|
|
| MD5 |
2a265d4e7b364ac932529dc457832c35
|
|
| BLAKE2b-256 |
ffd1abfc84a65428f8646b2ebcbaa7b78c27d0fc8aaf3c8126600cf10b0b8eab
|
Provenance
The following attestation bundles were made for ultimate_ai_labeller-0.1.1.tar.gz:
Publisher:
publish.yml on JamesChang666/ultimate_ai_labeller
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ultimate_ai_labeller-0.1.1.tar.gz -
Subject digest:
bd102724b9a10552ace8355a189f9604a8fa9d0a8dd19384c76d3f4f6d8c12c7 - Sigstore transparency entry: 940363153
- Sigstore integration time:
-
Permalink:
JamesChang666/ultimate_ai_labeller@debe819bfbdb390ffdb5d6da613cc75937a1f6b1 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/JamesChang666
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@debe819bfbdb390ffdb5d6da613cc75937a1f6b1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ultimate_ai_labeller-0.1.1-py3-none-any.whl.
File metadata
- Download URL: ultimate_ai_labeller-0.1.1-py3-none-any.whl
- Upload date:
- Size: 19.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77bf45daac570629e8877a016a2bba2880a06d5a9b21bd063d297cf834f45496
|
|
| MD5 |
aa3c1bb34dc6ca54856c9ee8afb8db70
|
|
| BLAKE2b-256 |
5c4de863400246458369307074669d20d0a6c2a98ca846be6b398c3951b23c12
|
Provenance
The following attestation bundles were made for ultimate_ai_labeller-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on JamesChang666/ultimate_ai_labeller
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ultimate_ai_labeller-0.1.1-py3-none-any.whl -
Subject digest:
77bf45daac570629e8877a016a2bba2880a06d5a9b21bd063d297cf834f45496 - Sigstore transparency entry: 940363157
- Sigstore integration time:
-
Permalink:
JamesChang666/ultimate_ai_labeller@debe819bfbdb390ffdb5d6da613cc75937a1f6b1 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/JamesChang666
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@debe819bfbdb390ffdb5d6da613cc75937a1f6b1 -
Trigger Event:
push
-
Statement type: