- detect_objects, classify_content, recluster_faces now look up the photo's user_id and set it on created Tag rows — fixes tags being invisible to the owning user due to NULL user_id - Initial admin setup creates source root at the mount root (/photos) instead of a subdirectory, since the admin owns the entire library - Revert to OpenCLIP ViT-B/32 (512-d) as default embedder — SigLIP requires transformers version alignment not yet available in the Docker image. SigLIP2 code remains for future enablement. - Add transformers to requirements for future SigLIP support Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
64 lines
1.7 KiB
Plaintext
64 lines
1.7 KiB
Plaintext
# Core dependencies
|
|
fastapi==0.109.0
|
|
uvicorn[standard]==0.27.0
|
|
python-multipart==0.0.6
|
|
|
|
# Database
|
|
sqlalchemy[asyncio]==2.0.25
|
|
aiosqlite==0.19.0 # SQLite escape hatch (docker-compose.sqlite.yml override)
|
|
asyncpg==0.29.0 # async Postgres driver (default)
|
|
psycopg2-binary==2.9.9 # sync Postgres driver, used by Alembic CLI
|
|
pgvector==0.2.5 # pgvector SQLAlchemy types
|
|
alembic==1.13.1
|
|
|
|
# Redis and Celery
|
|
redis==5.0.1
|
|
celery==5.3.6
|
|
flower==2.0.1
|
|
|
|
# Image processing
|
|
# pyvips==2.2.1 # Optional - having compatibility issues, using Pillow as fallback
|
|
# rawpy==0.19.0 # Optional - numpy compatibility issues, using Pillow as fallback
|
|
pillow==10.2.0
|
|
pillow-heif==0.15.0
|
|
imagehash==4.3.1 # perceptual hash for duplicate detection
|
|
imageio==2.33.1
|
|
imageio-ffmpeg==0.4.9
|
|
|
|
# Video processing
|
|
ffmpeg-python==0.2.0
|
|
|
|
# Metadata extraction
|
|
pyexiftool==0.5.6
|
|
|
|
# File watching
|
|
watchfiles==0.21.0
|
|
|
|
# Vision pipeline (ONNX Runtime CPU inference)
|
|
onnxruntime==1.18.1
|
|
open-clip-torch==2.24.0 # tokenizer + export helper; inference via ONNX
|
|
transformers>=4.37.0 # HuggingFace tokenizer for SigLIP models
|
|
ultralytics==8.4.37 # YOLOv8n export helper; inference via ONNX
|
|
rapidocr-onnxruntime==1.3.22
|
|
scikit-learn==1.4.0 # DBSCAN for face clustering
|
|
insightface>=0.7.3 # RetinaFace + ArcFace face detection/recognition
|
|
numpy>=1.26.0,<2.0
|
|
|
|
# Utilities
|
|
pyyaml==6.0.1
|
|
pydantic==2.5.3
|
|
pydantic-settings==2.1.0
|
|
python-dotenv==1.0.0
|
|
httpx==0.26.0
|
|
aiofiles==23.2.1
|
|
|
|
# Security and authentication
|
|
python-jose[cryptography]==3.3.0
|
|
passlib[bcrypt]==1.7.4
|
|
bcrypt==4.0.1
|
|
|
|
# Development
|
|
pytest==7.4.4
|
|
pytest-asyncio==0.23.3
|
|
black==23.12.1
|
|
ruff==0.1.11 |