# Pin the versions called out in the plan (Section 1.1). # These versions are known compatible with Python 3.11 + CUDA 12.x. # DO NOT bump without re-running scripts/validate_env.py. # --- Quantum simulation --- stim>=1.13,<2.0 pymatching>=2.2,<3.0 # --- Environment / serving --- fastapi>=0.110 uvicorn[standard]>=0.27 pydantic>=2.5,<3.0 httpx>=0.27 numpy>=1.26,<2.1 # --- Plotting (used by scripts/plot_results.py) --- matplotlib>=3.8 pillow>=10 # --- Test runner --- pytest>=8 # --- OpenEnv (HuggingFace's RL-env framework). Required by the submission # guidelines ("Use OpenEnv (latest release). Build on top of the # framework; don't reinvent the wheel."). Our server wraps the # DecoderEnvironment with `openenv.core.Environment`-compatible # Action/Observation/State models so TRL can drive it via # `environment_factory=` (see qubit_medic/server/openenv_adapter.py # and scripts/train_grpo.py). Lightweight; safe in the Spaces image. openenv-core>=0.2.1 # --- Training (omit on CPU-only deploy) --- # Heavy ML deps live in requirements-train.txt; the env server itself does # not import any of them. Keeping them out of the Docker image keeps the # Spaces upload under the free-tier image-size limit.