-r requirements.txt # ML stack — versions current as of 2026-05-14 with Python 3.14 wheel coverage. # torch + torchvision are NOT listed here: they are installed CPU-only from # the PyTorch CPU index in Dockerfile. The default PyPI torch wheel bundles # the NVIDIA CUDA runtime (a ~5.6GB image layer); this pipeline is CPU-only, # so Dockerfile uses the +cpu wheels from # https://download.pytorch.org/whl/cpu instead. # # torchvision declares requires_python "!=3.14.1" (0.27 through 0.29). The # image's python:3.14-slim is past that patch, so it only bites a build pinned # to exactly 3.14.1. # # No caps below: rule 154 wants a named breakage for one, and none of the # `=5.8 huggingface-hub>=1.14 # scikit-learn powers the tag-eval (#1130) head-vs-centroid comparison: logistic # regression + cross-validated precision/recall/AP. Battle-tested metrics matter # because that eval's whole purpose is producing trustworthy numbers. numpy is # left to resolve transitively (torch/transformers/sklearn all pull it) to avoid # pinning against their constraints. scikit-learn>=1.7