Skip to content

virajmavani/semi-auto-image-annotation-tool

Anno-Mage: A Semi Automatic Image Annotation Tool

PyPI version PyPI - Python Version Publish to PyPI Tests License

Demo

Semi-automatic image annotation toolbox powered by PyTorch object detection models, including open-vocabulary zero-shot detection via OWL-v2. Available as a web app (FastAPI + React).


Web App

See web/README.md for installation, usage, and API reference.

Quick start:

# Backend (port 8000)
cd web/backend && python main.py

# Frontend (port 3000)
cd web/frontend && npm install && npm run dev

Or use the convenience script:

cd web && bash start.sh

PyPI Distribution

Install from PyPI

pip install anno-mage
anno-mage

The app opens in your browser automatically. Annotations are saved to ~/.anno-mage/annotations/.

Publish a Release

Releases publish automatically to PyPI when a version tag is pushed. GitHub Actions builds the frontend, packages everything, and publishes via PyPI Trusted Publishers (no tokens required).

One-time PyPI setup:

  1. Go to your PyPI project → ManagePublishingAdd a new publisher
  2. Set: GitHub repo virajmavani/semi-auto-image-annotation-tool, workflow release.yml, environment pypi

To release:

git tag v2.0.1
git push origin v2.0.1

That's it — the workflow in .github/workflows/release.yml handles the rest.

Build Locally

To build the package without publishing:

Prerequisites:

pip install build
npm install  # inside web/frontend if not already done
bash build_release.sh

This compiles the React frontend, copies the build into anno_mage/static/, and produces wheel and sdist artifacts in dist/.


Output Formats

Both interfaces produce identical output:

Format Location Description
CSV annotations/annotations.csv image_path,x1,y1,x2,y2,label per row
Pascal VOC XML annotations/annotations_voc/ One XML file per image

Acknowledgments

Join the developers channel

Slack: https://join.slack.com/t/annomage/shared_invite/zt-dh4ca9du-4VOcwUMCSNA6lmyG~tNUPg

About

Anno-Mage: A Semi Automatic Image Annotation Tool which helps you in annotating images by suggesting you annotations using user-defined labels

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors