From 8bc52ff1c5b83ac405b0c83b98dc89a149de583d Mon Sep 17 00:00:00 2001 From: Daniel Han Date: Thu, 7 May 2026 10:15:44 +0000 Subject: [PATCH] fix(install): pin full typer dep tree (annotated-doc, rich, etc.) After the previous click+shellingham pin, the next missing module was annotated-doc, then rich, then its own subdeps. Pin the entire typer runtime dep tree so unsloth studio setup boots cleanly on a fresh windows-latest venv (and any other --no-deps install path). --- .../backend/requirements/no-torch-runtime.txt | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/studio/backend/requirements/no-torch-runtime.txt b/studio/backend/requirements/no-torch-runtime.txt index cbb5488deb..3adbef9cb3 100644 --- a/studio/backend/requirements/no-torch-runtime.txt +++ b/studio/backend/requirements/no-torch-runtime.txt @@ -8,13 +8,20 @@ # unsloth direct deps (from pyproject.toml [project].dependencies) typer -# typer's runtime deps. Required explicitly because this file is -# installed with --no-deps. On Linux/Mac CI runners click is often -# already cached from previous jobs; on a fresh windows-latest venv -# it is not, and `unsloth studio setup` fails immediately with -# `ModuleNotFoundError: No module named 'click'`. +# typer's full runtime dep tree. Required explicitly because this +# file is installed with --no-deps. On Linux/Mac CI runners these +# are often cached transitively; on a fresh windows-latest venv they +# are not, and `unsloth studio setup` crashes with +# `ModuleNotFoundError: No module named 'click'`, then 'annotated_doc', +# then 'rich', etc. as each is hit. Pin the full chain so the +# no-torch path works cleanly on every fresh venv. click>=8.0 shellingham>=1.5 +annotated-doc>=0.0.3 +rich>=13.0 +markdown-it-py>=3.0 +mdurl>=0.1 +pygments>=2.0 pydantic pyyaml nest-asyncio