Metadata-Version: 2.4
Name: object-annotator
Version: 1.0.0
Summary: Desktop image annotation tool for object detection datasets
Author: Object Annotator contributors
License-Expression: MIT
Keywords: object-detection,annotation,labeling,qt,computer-vision
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Environment :: X11 Applications :: Qt
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Image Recognition
Classifier: Topic :: Software Development :: User Interfaces
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: PyQt5<5.16,>=5.15.10
Requires-Dist: lxml<6,>=4.9.1
Provides-Extra: assistant
Requires-Dist: ultralytics>=8; extra == "assistant"
Provides-Extra: dev
Requires-Dist: build>=1; extra == "dev"
Requires-Dist: twine>=5; extra == "dev"
Dynamic: license-file

# Object Annotator

Object Annotator is a desktop tool for labeling images for object detection datasets. It supports drawing bounding boxes and exporting annotations in Pascal VOC, YOLO, and CreateML formats.

## Install

```bash
pip install object-annotator
```

To enable the optional YOLO training/prediction assistant:

```bash
pip install "object-annotator[assistant]"
```

## Run

```bash
object-annotator
```

Optional startup arguments:

```bash
object-annotator [IMAGE_DIR] [CLASS_FILE] [SAVE_DIR]
```

## Features

- Draw, edit, copy, and delete bounding boxes
- Label objects with custom classes
- Export Pascal VOC (`.xml`), YOLO (`.txt`), and CreateML (`.json`)
- Quickly navigate image folders
- Optional YOLO-assisted prediction and training workflow

## Common shortcuts

| Shortcut | Action |
| --- | --- |
| `Ctrl+U` | Open image directory |
| `Ctrl+R` | Change save directory |
| `Ctrl+S` | Save annotation |
| `Ctrl+D` | Duplicate selected box |
| `W` | Create bounding box |
| `A` | Previous image |
| `D` | Next image |
| `Delete` | Delete selected box |

## Development

```bash
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
python -m unittest discover tests
python -m build
```

The application package lives in `src/object_annotator`.
