Stacks a Colab-like JupyterLab and Studio experience on top of the
existing Blackwell image. Additive only: the training stack, CUDA/torch
pinning, and the Studio/JupyterLab/sshd service trio are unchanged.
JupyterLab labextension (prebuilt in a throwaway builder stage, so the
runtime image stays Node-free):
- Unsloth Dark (Monokai) theme, adaptive light/dark by system preference
- Colab-style ArrowDown/Up cell navigation
- top-bar Unsloth logo (stock Jupyter logo disabled and locked)
- #@title lines render as collapsible Heading-2 form bars
- Ctrl+A in a cell output selects only that output, not the whole
notebook (the old behaviour ran notebook:select-all and was laggy)
- right activity bar hidden by default
- overrides.json: per-cell run button without auto-advance, labeled
Restart and Run All, windowing off so collapsing an output does not
snap to the cell top, news/update prompts suppressed
Studio and login branding: Unsloth favicon, page logo, and a dark
Unsloth login page that rotates through the curated Studio sloth
stickers (fail-soft to the logo).
Notebook organization and Colab compatibility (base image):
- categorized folder view built from relative symlinks mirroring the
README sections, rebuilt each boot; real .ipynb files never moved,
and the symlink tree is invisible to the sync state machine
- AMD-* notebooks shown only on an AMD/HIP host (autodetected)
- Docker-only strip of the Colab "Run all on Colab" intro sentence
from unedited notebooks (upstream notebooks unchanged)
- hoist %%capture above a leading #@title form so the cell runs
- the per-cell transformers-sidecar log is silent unless
UNSLOTH_ENABLE_LOGGING=1
Dependency pinning and naming: the curated notebook extras are pinned to
their resolved versions for reproducible rebuilds; decord is split into
its own fail-soft install (no aarch64 wheel). The lean base image is
renamed from :base to :core.
Adds tests/validate_studio_features.py, a static self-test for the
labextension plugins, overrides keys, and branding wiring.
32 lines
746 B
Text
32 lines
746 B
Text
**
|
|
!Dockerfile
|
|
!entrypoint.sh
|
|
!smoke_test.py
|
|
!fetch_llama_prebuilt.py
|
|
!supervisord.conf
|
|
!studio_launch.sh
|
|
!unsloth_studio_update.sh
|
|
!unsloth_llama_update.sh
|
|
!unsloth_jupyter_tunnel.sh
|
|
!unsloth_nb_compat.py
|
|
!unsloth_pip_shim.py
|
|
!unsloth_ipython_startup.py
|
|
!unsloth_run.py
|
|
!unsloth_sync_notebooks.sh
|
|
!unsloth_nb_content_sig.py
|
|
!unsloth_nb_view.py
|
|
!unsloth_nb_strip_colab.py
|
|
!unsloth_colab_compat.py
|
|
!jupyter
|
|
!jupyter/overrides.json
|
|
!jupyter/favicon.ico
|
|
!jupyter/logo.png
|
|
!jupyter/login.html
|
|
!jupyter/unsloth_labext
|
|
!jupyter/unsloth_labext/package.json
|
|
!jupyter/unsloth_labext/tsconfig.json
|
|
!jupyter/unsloth_labext/.yarnrc.yml
|
|
!jupyter/unsloth_labext/src
|
|
!jupyter/unsloth_labext/src/**
|
|
!jupyter/unsloth_labext/style
|
|
!jupyter/unsloth_labext/style/**
|