# A SECOND venv inside the audio image, for audiocraft alone.
#
# audiocraft pins torch==2.1.0, torchvision==0.16.0 and torchtext==0.16.0. Two
# separate problems with that:
#
#  1. torch 2.1.0 has no build for Python 3.12 at all — support starts at 2.2 —
#     so the pin is unsatisfiable in this image whatever else we do.
#  2. Even if it existed, installing it into the server's venv would downgrade
#     torch five majors and leave the pod with no working GPU torch, because
#     2.1.0 has no build for this image's CUDA either.
#
# So: its own venv, on the oldest torch this Python can run, with audiocraft
# installed --no-deps (see the .nodeps file beside this one) and the deps it
# actually uses listed here. --no-deps is reckless in a shared venv and routine
# in an isolated one — nothing here can reach the server's stack.
--extra-index-url https://download.pytorch.org/whl/cu121
# torch 2.5.1, not the 2.1.0 audiocraft asks for and not the 2.2.2 tried before.
# The binding constraint is xformers, which audiocraft imports at module load:
# its cp312 wheels start at 0.0.27, and every version below that can only build
# from source — which needs torch installed already and fails in a fresh venv
# with "No module named 'torch'". xformers 0.0.28.post3 requires torch==2.5.1
# exactly, so the pair is chosen by what actually has wheels for this Python,
# not by what the libraries would prefer.
torch==2.5.1
torchaudio==2.5.1
torchvision==0.20.1

# EVERYTHING audiocraft declares, minus only the torch pins above and its
# dev-only tools (pytest, flake8, mypy, coverage, pdoc3).
#
# The earlier version of this list was trimmed against what the MAIN venv has —
# transformers, demucs and the rest. That is exactly wrong: this venv is
# isolated, so it starts with nothing, and the trimming produced three build
# cycles that each died on a different missing module. An isolated venv needs
# the whole list.
# xformers: audiocraft imports it at module load (audiocraft/modules/
# transformer.py), so without it the import check dies. Pinned to the version
# whose cp312 wheel matches the torch above — see the note there.
xformers==0.0.28.post3
av>=11.0.0
einops
flashy>=0.0.1
hydra-core>=1.1
hydra_colorlog
julius
num2words
sentencepiece
spacy>=3.6.1
huggingface_hub
tqdm
transformers>=4.31.0
demucs
librosa
gradio
torchmetrics
encodec
protobuf
numpy<2
