Scan macOS Photos library, detect and identify birds, write species captions
Project description
preen
Groom your photo library — automatically find and name every bird.
Preen scans your macOS Photos library, detects birds with YOLO, identifies species with SuperPicky's OSEA classifier (10,964 species), and writes "中文名 (English Name)" as captions — visible on iPhone.
Features
- Scans entire Photos library including iCloud photos
- YOLO multi-bird detection — finds all birds in a photo
- OSEA species identification with GPS-based eBird regional filtering
- Writes captions via persistent Photos.app connection (photoscript)
- SQLite checkpoint — pause/resume, incremental or full rescan
- Deduplicates species in multi-bird captions
Requirements
- macOS with Photos.app
- Python 3.11+
Installation
pipx install birdpreen
Or with pip:
pip install birdpreen
On first scan, model files (~260 MB) are automatically downloaded from HuggingFace.
Usage
# Scan new photos (incremental)
preen scan
# Full library rescan
preen scan --full
# Dry run — detect and identify without writing
preen scan --dry-run
# Custom confidence threshold (default: 70%)
preen scan --threshold 65
# Process in batches
preen scan --batch-size 500
# Check progress
preen status
# Reset checkpoint to start over
preen reset
Credits
- OSEA bird classification model (10,964 species) by Sun Jiao
- Bird identification logic (OSEA classifier, AVONET geographic filtering, eBird species data) extracted from SuperPicky
- YOLO11 segmentation model by Ultralytics
- Photos library access via osxphotos
- Photos.app integration via photoscript
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 birdpreen-0.2.0.tar.gz.
File metadata
- Download URL: birdpreen-0.2.0.tar.gz
- Upload date:
- Size: 33.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
329b847b8de3bb7b982e8b70c7e8879a354970cc967bee56951cfb7c7b9aa50b
|
|
| MD5 |
6849f38e1ac1910958f76ba62b959fb8
|
|
| BLAKE2b-256 |
f28ea088cca4881397bfe7752b75cd4b9b282069a767fee67c2137fe01c25613
|
File details
Details for the file birdpreen-0.2.0-py3-none-any.whl.
File metadata
- Download URL: birdpreen-0.2.0-py3-none-any.whl
- Upload date:
- Size: 31.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2cb2bfe517e143d97cddf62b13cda6d34aad7f5fac79c19d8e5d9913cad12dfd
|
|
| MD5 |
c00ea009113890ae6c871c5cc080f4bb
|
|
| BLAKE2b-256 |
682930c0a555a88ad79a591d8cf770fa5cd946e3971d34eec3573939f926e28a
|