Bundles three independent CI regressions hitting the maintainer PR backlog. Each one is verified end-to-end on a staging fork against real Ubuntu / macOS / Windows GitHub-hosted runners before this lands. 1. Windows --no-torch install: pydantic + pydantic-core drift to incompatible versions under `uv pip install --no-deps -r no-torch-runtime.txt` because pip resolves each independently from latest. pydantic.VERSION 2.13.4 pins pydantic-core==2.46.4 but pydantic-core 2.47.0 was the freshest published wheel, so `import pydantic` raised `SystemError: pydantic-core 2.47.0 is incompatible with the current pydantic version`. Resolve pydantic WITH deps in a focused pip call (install.sh, install.ps1, install_python_stack.py) before the --no-deps no-torch-runtime pass so pip pins pydantic-core to the version pydantic declares. pydantic's transitive deps (annotated-types, pydantic-core, typing-extensions, typing-inspection) are torch-free. Drop the redundant `Patch Studio venv with full typer / pydantic dep trees` workaround from the four Windows smoke YAMLs. Supersedes #5733 + #5734. 2. Linux Studio Update CI: upstream llama.cpp b9261+ split each binary's entry code into a paired `libllama-<binary>-impl.so` shared library. `llama-server` and `llama-quantize` NEEDED-link against `libllama-server-impl.so` / `libllama-quantize-impl.so` with RUNPATH `$ORIGIN`, so the prebuilt overlay must copy those alongside the binaries. Without that, ldd reports them missing, preflight rejects, the installer falls back to source build, and studio-update-smoke annotates `setup.sh idempotency regressed`. Add `libllama-*-impl.so*` to the Linux runtime patterns and lock the pattern in test_rocm_support.TestRuntimePatterns. 3. Mac Studio UI Chat: change-password submit clicked while disabled. The disable gate only checked new + confirm password length, but Playwright's first click landed before the current-password field's React state had committed, so the form was simultaneously logically-invalid (current_password empty) and the button was disabled. Tighten the gate to require `currentPassword.length >= 8` and mirror the same check in the submit handler so Enter / autofill cannot bypass. Supersedes #5738.
78 lines
2.6 KiB
Text
78 lines
2.6 KiB
Text
# Runtime dependencies for no-torch (GGUF-only) mode.
|
|
# Installed with --no-deps to prevent transitive torch resolution
|
|
# from packages like accelerate, peft, trl, sentence-transformers.
|
|
#
|
|
# Includes unsloth's own direct deps (typer, pydantic, pyyaml,
|
|
# nest-asyncio) since unsloth is also installed with --no-deps
|
|
# (current PyPI metadata still declares torch as a hard dep).
|
|
|
|
# unsloth direct deps (from pyproject.toml [project].dependencies)
|
|
typer
|
|
# 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 is intentionally NOT installed via this --no-deps file.
|
|
# install.sh / install.ps1 / install_python_stack.py run a separate
|
|
# `pip install pydantic` (with deps) just before this file is
|
|
# applied, so pip resolves `pydantic-core` to the exact version
|
|
# pydantic's `_ensure_pydantic_core_version` check expects. Listing
|
|
# pydantic + pydantic-core unpinned here and resolving them under
|
|
# --no-deps used to pick the latest of each independently and trip
|
|
# `SystemError: pydantic-core 2.X.Y is incompatible with the current
|
|
# pydantic version` on the first import (Windows fresh-venv repro
|
|
# was the canonical case). pydantic's transitive deps
|
|
# (annotated-types, pydantic-core, typing-extensions,
|
|
# typing-inspection) are torch-free, so installing it WITH deps
|
|
# does not pull torch.
|
|
pyyaml
|
|
nest-asyncio
|
|
|
|
# HF ecosystem (from [huggingfacenotorch] extras in pyproject.toml)
|
|
wheel>=0.42.0
|
|
packaging
|
|
numpy
|
|
tqdm
|
|
psutil
|
|
tyro
|
|
protobuf
|
|
sentencepiece>=0.2.0
|
|
safetensors>=0.4.3
|
|
datasets>=3.4.1,!=4.0.*,!=4.1.0,<4.4.0
|
|
accelerate>=0.34.1
|
|
peft>=0.18.0,!=0.11.0
|
|
huggingface_hub>=0.34.0
|
|
hf_transfer
|
|
diffusers
|
|
|
|
# Transitive deps required because this file is installed with --no-deps.
|
|
# Without these, `from transformers import AutoConfig` fails at import time.
|
|
regex
|
|
typing_extensions
|
|
filelock
|
|
httpx
|
|
httpcore
|
|
certifi
|
|
idna
|
|
anyio
|
|
sniffio
|
|
h11
|
|
|
|
# Unpinned resolves to 0.23.1+ which breaks `from transformers import
|
|
# AutoConfig`; transformers 4.56..5.3 declares tokenizers<=0.23.0.
|
|
tokenizers<=0.23.0
|
|
transformers>=4.51.3,!=4.52.0,!=4.52.1,!=4.52.2,!=4.52.3,!=4.53.0,!=4.54.0,!=4.55.0,!=4.55.1,!=4.57.0,!=4.57.4,!=4.57.5,!=5.0.0,!=5.1.0,<=5.3.0
|
|
trl>=0.18.2,!=0.19.0,<=0.24.0
|
|
sentence-transformers
|
|
cut_cross_entropy
|
|
pillow
|