Individual cat identification system using body pattern recognition.
# Install dependencies
pip install -e ".[dev]"
# Set up environment variables
export EATER_DB_HOST=localhost
export EATER_DB_PORT=5432
export EATER_DB_USER=postgres
export EATER_DB_PASSWORD=yourpassword
export EATER_DB_NAME=eater
# Ensure pgvector extension is available in Postgres
# Connect to Postgres and run: CREATE EXTENSION vector;
# Run
python -m eater.main- Detection: YOLOv8 (COCO "cat" class)
- Identification: PPGNet-Cat embeddings
- Database: Postgres + pgvector for similarity search
- TUI: Textual for annotation
# Run unit tests (no Postgres needed)
pytest tests/ -v
# Run database integration tests (requires Postgres with pgvector)
EATER_RUN_DB_TESTS=1 pytest tests/ -v # uses EATER_DB_HOST, EATER_DB_NAME, etc.Download models to models/:
- YOLOv8: https://docs.ultralytics.com/models/yolov8/
- PPGNet-Cat: Train from https://github.com/victorcaquilpan/PPGNet-Cat?target=https://github.com or use as template for fine-tuning