# Image Intel — pinned dependencies # Python 3.11+ # # Design principle: the DEFAULT install must be lightweight enough to # run on a free-tier VPS / Railway / PythonAnywhere / Termux. Heavy # optional providers (TensorFlow, dlib, Selenium) are commented out # and can be enabled by uncommenting the relevant lines. # --- Web framework (required) --- fastapi==0.110.0 uvicorn[standard]==0.27.1 python-multipart==0.0.9 pydantic==2.6.1 pydantic-settings==2.2.1 # --- Image processing (required) --- opencv-python-headless==4.9.0.80 # headless = no GUI deps, smaller Pillow==10.2.0 numpy==1.26.4 # --- HTTP (required) --- requests==2.31.0 # --- Logging / config (required) --- loguru==0.7.2 python-dotenv==1.0.1 # --- Reverse face search (required for face index) --- sqlite-vec==0.1.6 # --- Testing (dev only — pip install -r requirements-dev.txt) --- # pytest==8.0.0 # pytest-asyncio==0.23.5 # =========================================================================== # # OPTIONAL PROVIDERS — uncomment to enable # =========================================================================== # # # The platform runs by default with NO optional providers. Enable only # what you need. All ONNX-based providers share ONE dependency: # onnxruntime (~50MB, CPU-only). Models are lazy-loaded + cached. # --- ONNX Runtime (enables 7 providers: insightface, yolov8, places365, # nudenet, ai_image_detector, mobilenet_embed, ocr) --- onnxruntime==1.17.1 # --- OCR (optional — requires onnxruntime) --- # rapidocr-onnxruntime==1.3.24 # --- Face recognition (dlib-based, requires cmake + C++ compiler) --- # face-recognition==1.3.0 # dlib==19.24.2 # --- Selenium scraper (requires Chrome) --- # selenium==4.18.1 # webdriver-manager==4.0.1 # --- XMP metadata (requires lxml) --- # lxml==5.1.0 # --- Wavelet hash (requires PyWavelets) --- # PyWavelets==1.5.0