diff --git a/pyproject.toml b/pyproject.toml index f8e4cecdf9..ede9e0d8bf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -55,6 +55,10 @@ dependencies = [ # Every CLI command imports studio.backend.*, which reaches structlog at # module level. The rest of the server stack lives in the studio extra. "structlog>=24.1.0", + # unsloth_cli/commands/start.py imports click, and unsloth_cli/__init__.py + # imports that, so every command needs it. typer supplied it until 0.27 + # dropped the dependency, which left this satisfied only by chance. + "click>=8.0", ] [project.scripts] diff --git a/tests/studio/install/test_studio_extra_matches_requirements.py b/tests/studio/install/test_studio_extra_matches_requirements.py index a74d52ff40..83988ce64e 100644 --- a/tests/studio/install/test_studio_extra_matches_requirements.py +++ b/tests/studio/install/test_studio_extra_matches_requirements.py @@ -17,8 +17,9 @@ REPO_ROOT = pathlib.Path(__file__).resolve().parents[3] PYPROJECT = REPO_ROOT / "pyproject.toml" STUDIO_TXT = REPO_ROOT / "studio" / "backend" / "requirements" / "studio.txt" -# Imported at module scope by the studio.backend chain every CLI command walks. -CORE_RUNTIME_PACKAGES = ("structlog",) +# Imported at module scope by the chain every CLI command walks: structlog via +# studio.backend, click via unsloth_cli/commands/start.py. +CORE_RUNTIME_PACKAGES = ("structlog", "click") def _load_pyproject() -> dict: