This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 0.1.3 instead.
Reason given by maintainers: older version
SwiftVision.ai
Image Annotation Studio — A fast, keyboard-driven bounding box annotation tool for creating YOLO-format datasets. 100% offline, no cloud, no account required.
✨ Features
- 🖱️ Draw boxes with mouse — drag corners to resize
- ⌨️ Arrow keys to nudge boxes (Shift = 10px steps)
- 🔢 Number keys 1-9 to apply classes instantly
- ↩️ Undo / Redo with Ctrl+Z / Ctrl+Y
- 💾 Auto-save YOLO .txt files — only for annotated images
- 📋 Copy labels from previous image in one click
- 🎨 SwiftVision green branding with custom logo + favicon
- 🖼️ Zoom, pan, hover crosshair guides for precision
- 🗑️ Right-click a box to delete instantly
- 🎯 Full-screen canvas with sidebars
📦 Installation
pip install swiftvision
Requirements: Python 3.8+, Pillow
Linux users: If Tkinter is missing, install it first:
sudo apt install python3-tk # Debian/Ubuntu sudo dnf install python3-tkinter # Fedora
🚀 Quick Start
swiftvision
Then:
- Click Load Folder and pick your images directory
- Add class names in the right sidebar (or type + Enter)
- Draw boxes by dragging on the image
- Assign a class via single-click or number keys 1-9
- Use Ctrl+Z / Ctrl+Y for undo/redo
- Click Save All Labels to write
.txtfiles
⌨️ Keyboard Shortcuts
| Key | Action |
|---|---|
Left / Right |
Move selected box 1px (or prev/next image) |
Shift + Left / Right |
Move 10px |
Up / Down |
Move box vertically |
1-9 |
Apply class N to selected box |
Del / Backspace |
Delete selected box |
Ctrl+Z |
Undo |
Ctrl+Y |
Redo |
Ctrl+S |
Save project |
Ctrl+O |
Load project |
Ctrl+E |
Export YOLO |
R |
Rename selected class |
N |
Focus new class input |
🖱️ Mouse Controls
| Action | What it does |
|---|---|
| Left click + drag (empty) | Draw new box |
| Left click on box | Select box |
| Drag inside box | Move it |
| Drag corner handle | Resize |
| Right click on box | Delete instantly |
| Right click + drag (empty) | Pan the image |
| Mouse wheel | Zoom in / out |
📂 Export Formats
- YOLO —
.txtfiles with normalizedclass x y w h - JSON — full project export with metadata
- Project file —
.jsonfor resuming work
Empty images (no labels) do not produce .txt files.
🛠️ Development
git clone https://github.com/yourusername/swiftvision.git
cd swiftvision
pip install -e .
swiftvision
📜 License
MIT — see LICENSE file.
🙌 Contributing
Issues and pull requests welcome at github.com/hassaanswift/swiftvision.
Built with ❤️ by SwiftVision AI — Vision | Innovate | Engineer
Metadata
Release files for swiftvision 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| swiftvision-0.1.0.tar.gz | 137.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| swiftvision-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 272.4 kB
Release files / swiftvision-0.1.0.tar.gz
| Download URL | swiftvision-0.1.0.tar.gz |
|---|---|
| Size | 137.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f846bc0a208299f5ffde651ee393ae90a72e335396a2259b42605cec1f6d0609
|
|
BLAKE2b-256 checksum How to use checksums |
60e99a7d22ba3066be6a8c54f1ec79af5625952ebbb16df015f8cef1ae490fe6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|
Release files / swiftvision-0.1.0-py3-none-any.whl
| Download URL | swiftvision-0.1.0-py3-none-any.whl |
|---|---|
| Size | 135.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8f50a78fcf149470db3c554d04fed9e4931e43184812e701a0fbc25c9b544c4b
|
|
BLAKE2b-256 checksum How to use checksums |
bfed6c1e92677ed6398d4decfbcd8d360f8b48b616e3384d6070ec651c2eb100
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|