# ---------------------------------------------------------------------------
# CoderAI — PaddleOCR ISOLATED venv.
#
# PaddleOCR pulls opencv-contrib-python (clashes with the main venv's opencv-python/cv2),
# and paddlepaddle-gpu wheels bundle their OWN CUDA runtime — so it lives in its own venv +
# subprocess worker. The bundled CUDA means a cu12x wheel runs on GPU even when the HOST is
# on newer CUDA (e.g. CUDA 13), as long as the NVIDIA driver is recent.
#
#   python3 -m venv ~/.coderai/paddle_venv
#   ~/.coderai/paddle_venv/bin/pip install -r requirements-ocr-paddle.txt
#
# GPU wheels come from Paddle's own index (below). Pick the cuXY matching a wheel that
# exists for your Python — adjust the index URL / version if needed. For CPU-only, drop the
# --extra-index-url line and use `paddlepaddle` instead of `paddlepaddle-gpu`.
# ---------------------------------------------------------------------------
# PIN the exact paddle wheel — an unpinned range makes pip's resolver backtrack for
# hours across a 2 GB package while satisfying paddleocr/paddlex constraints.
# 3.3.1 ships a cp313 GPU wheel (bundled CUDA; runs on GPU under a newer host CUDA).
--extra-index-url https://www.paddlepaddle.org.cn/packages/stable/cu126/
paddlepaddle-gpu==3.3.1
paddleocr>=2.7.0
pypdfium2>=4.20.0
