sci-ml/unsloth
Fine-tune and run large language models efficiently
-
unsloth-2026.10.10~amd64studio python_single_target_python3_12 python_single_target_python3_13 python_single_target_python3_14
View
Download
Browse License: Apache-2.0 AGPL-3 studio? ( OFL-1.1 ) Overlay: stuff -
unsloth-2026.10.9~amd64studio python_single_target_python3_12 python_single_target_python3_13 python_single_target_python3_14
View
Download
Browse License: Apache-2.0 AGPL-3 studio? ( OFL-1.1 ) Overlay: stuff
ChangeLog
commit 9ec700713db0b0ae785c639bda075c1d750d58cb
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Oct 28 17:28:33 2026 +0100
sci-ml/unsloth: drop 2026.10.7
Keep the last three releases.
commit 41bdc48103e47517d264f21ecf6b268d1d784110
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Oct 28 17:01:37 2026 +0100
sci-ml/unsloth: add 2026.10.10
Built from the v0.1.912-beta desktop tag, whose _version.py reads
2026.10.10. Upstream dropped tyro from the requirements, and nothing
imports it.
commit d3316f50fed9155ecc5a12bee2fa42ca1ac0eac1
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Oct 28 11:04:11 2026 +0100
sci-ml/unsloth: let the trl cap admit revisions
Upstream caps trl at <=1.15.0, which we wrote as <=sci-ml/trl-1.15.0-r0.
That excludes trl-1.15.0-r1, the revbump that adds the
pytorch[distributed] dependency trl needs. Spell the cap as "below
1.15.0 or any revision of 1.15.0" instead; a plain <sci-ml/trl-1.15.1
would also admit 1.15.0_p* and 1.15.1 prereleases. The cap only
widens, so installed copies stay valid and need no revbump.
commit 37f046faa478a7abce3664ce0631fdb0145dceb9
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Oct 26 18:22:28 2026 +0100
sci-ml/unsloth: keep Studio workers on the system transformers
Studio's workers prepend a per-model transformers sidecar from
~/.unsloth/studio to sys.path. The sidecars are installed --no-deps,
so they meet the system tokenizers, and transformers 5.5.0 rejects
tokenizers 0.23.3, failing training with "Failed to import ML
libraries". With USE=studio, 2026.10.9 now returns early from the
sidecar activation when UNSLOTH_STUDIO_SYSTEM=1, which the
unsloth-studio wrapper and unsloth-desktop both set. 2026.10.9 is
not yet published, so it takes the patch without a revbump.
Bug: https://github.com/istitov/stuff/issues/303
commit 685bf75f7043355fd11ceb99ad87b1cfe192a62b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Oct 26 15:39:47 2026 +0100
sci-ml/unsloth: drop 2026.10.6
Superseded; the last three releases stay.
commit 9284fa1b192fa5c9e5130691813b5a1bc1f32305
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Oct 26 15:39:36 2026 +0100
sci-ml/unsloth: add 2026.10.9
Built from desktop tag v0.1.911-beta, whose _version.py reports
2026.10.9. Upstream now requires unsloth-zoo 2026.10.9, and adds
json5>=0.9.25 to the core dependencies because unsloth_cli's start
command imports it.
commit 422aeaeb6724e44a5476f9ca2b472b7748543cf1
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Oct 24 20:47:33 2026 +0200
sci-ml/unsloth: drop 2026.10.4-r1, 2026.10.5
Superseded; the last three releases stay.
commit 5f6669dbb459de2deef5d02b3f431f1e14c1971e
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Oct 24 20:12:03 2026 +0200
sci-ml/unsloth: add 2026.10.8
Built from desktop tag v0.1.910-beta, whose _version.py reports
2026.10.8. Upstream now requires unsloth-zoo 2026.10.8. Studio adds
spandrel for its ESRGAN upscalers, already packaged here. Upstream's
new certifi>=2026.10.19 floor is a CA-bundle trust floor; Gentoo's
certifi defers to the system ca-certificates store, so it is not
carried.
commit cbbd83921232466eefa44da9b312e4fb2b69342c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Oct 20 11:24:11 2026 +0200
sci-ml/unsloth: add 2026.10.7
Built from desktop tag v0.1.909-beta, whose _version.py reports
2026.10.7. Upstream now requires unsloth-zoo 2026.10.7, and moved
boto3 out of the studio extra into an optional s3 extra imported only
for S3 dataset loading, so it becomes an optfeature. Studio now pins
diffusers main for FLUX.3 Klein; with the released diffusers it
refuses only that family.
commit 96981e563da3514ed7d0ff29f1a1ef6d75061a5c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Oct 16 12:43:44 2026 +0200
sci-ml/unsloth: drop 2026.10.3-r1
Superseded; the last three releases stay.
commit 4357a0c4753763a96cc55ae93c58e13a381a8fb3
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Oct 16 09:26:16 2026 +0200
sci-ml/unsloth: add 2026.10.6
Upstream raised its unsloth-zoo floor to 2026.10.6; no other
dependency moved.
commit 3c6ec622ddf54b96f8a80d368f2b46147f046a93
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Oct 14 14:23:43 2026 +0200
sci-ml/unsloth: cap huggingface_hub below 2 for studio
The studio extra requires huggingface-hub <2.0, but the ebuilds kept
only the floor, which admits the 2.x releases now in the tree. Revbump
the released versions.
commit d1156a35c8a93b6ebd2f2a2c1b8400131172a6ca
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Oct 14 09:54:23 2026 +0200
sci-ml/unsloth: drop 2026.10.2
Superseded; the last three releases stay.
commit c965f60fee32c367c77df5458a0d183ca1ca158a
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Oct 14 09:25:21 2026 +0200
sci-ml/unsloth: add 2026.10.5
Sourced from the v0.1.907-beta monorepo tag, whose _version.py is
2026.10.5. Upstream raised the unsloth-zoo floor to 2026.10.5; the only
other dependency change is a Windows-only safetensors line.
commit 37c069485d9a28d48de689bb53226e68badf7f98
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Oct 13 10:29:42 2026 +0200
sci-ml/unsloth: drop 2026.10.1
Superseded by three newer releases.
commit 433c1975ce5fddc428f28248b7ed080bc3188ce2
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Oct 13 10:29:41 2026 +0200
sci-ml/unsloth: add 2026.10.4
Built from the v0.1.906-beta monorepo tag, whose _version.py reads
2026.10.4. Upstream raised the trl ceiling to 1.15.0 and the Studio
huggingface-hub floor to 1.32.0; it now requires unsloth_zoo
2026.10.4.
commit 1018644a8b549e88b1e547536836148aba404ceb
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Oct 9 10:14:25 2026 +0200
sci-ml/unsloth: drop 2026.9.14
commit bdfadf5aa4893db8c5fd1c5cf8d9f5e84488533e
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Oct 9 10:13:53 2026 +0200
sci-ml/unsloth: add 2026.10.3
Built from the monorepo tag v0.1.905-beta, whose _version.py reads
2026.10.3. The only requirement that moved is the unsloth-zoo floor.
commit d6e6095454c9e11eaed67a2d669c80b815b1153d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Oct 8 12:03:18 2026 +0200
sci-ml/unsloth: drop 2026.9.12
Retention keeps the last three releases.
commit 9ff3a3ceb7ae42690907d2b36c61b811e17a55ce
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Oct 8 12:03:05 2026 +0200
sci-ml/unsloth: add 2026.10.2
Built from desktop tag v0.1.904-beta, whose _version.py reports
2026.10.2; the only dependency change is the unsloth_zoo floor.
commit 0a195ea08d015a6d6872ca1076a2bd5bf8ec5af9
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Oct 8 00:28:01 2026 +0200
sci-ml/unsloth: drop PROPERTIES=live
USE=studio runs npm ci against upstream's committed lockfile, so the
frontend dependency set does not vary between installs; RESTRICT keeps
the network access it needs.
PROPERTIES=live marks source that varies between installs, as VCS
ebuilds do. On a release it put the package in @live-rebuild and
exempted it from pkgcheck's modified-ebuild, DroppedKeywords and
RedundantVersion checks.
commit 31c1185723e5de0e32ed5b9f574d05b79d8ef144
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Oct 7 13:15:04 2026 +0200
sci-ml/unsloth: follow upstream's torch cap in 2026.9.12, 2026.9.14
Both ebuilds capped pytorch below 2.12, a bound carried forward from the
original packaging. Upstream raised it in 2026.9.3: the published wheels
of these two releases declare torch<2.13.0, so the ebuilds were
rejecting pytorch 2.12, which upstream allows.
commit 1a5049cfe968b08b01e962fc9605c08880ccf83d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Oct 6 22:01:02 2026 +0200
sci-ml/unsloth: drop 2026.9.11
Retention keeps the last three releases. Its version-named studio
patch had no other user.
commit 9a0c3bc0397fe0d2756140aaa7d214bca8b9fddd
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Oct 6 22:00:35 2026 +0200
sci-ml/unsloth: add 2026.10.1
Built from desktop tag v0.1.903-beta, whose _version.py is 2026.10.1.
Upstream widened the training stack: transformers <=5.17.0 (floor
4.52.4), trl <=1.13.0, datasets <5, and unsloth-zoo >=2026.10.1. The
tag's pyproject still names no torch requirement; the published wheel
declares <2.15, which replaces the old <2.12 cap.
Studio raised its pyjwt pin to 2.15.1 and its urllib3 floor to 2.8.0;
the ebuild takes both as floors, and ::gentoo ships both versions. The
studio.py patch carries over: the file was reworked, but both hunks
still land after the in_studio_venv assignment.
commit 5d5dec9e44f7c3e73b74569d0f9f7d84af00f53b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Oct 3 20:31:11 2026 +0200
dev-python/pymupdf: rename from dev-python/PyMuPDF
Gentoo's Python guide asks for dev-python packages to carry their PyPI
name, normalised per PEP 503. MY_P keeps upstream's casing for the
GitHub archive and its directory, so the distfiles are unchanged.
profiles/updates moves installed copies, and amd-gaia, unsloth,
pymupdf4llm, pymupdf-layout-bin and mupdf's metadata use the new name.
commit dc73c9e98f8559a16099484821e8feecd03c11d6
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Oct 2 09:53:32 2026 +0200
sci-ml/unsloth: drop 2026.9.10
Retention keeps the last three releases; the Studio patch named for
2026.9.10 goes too.
commit d6961c110cd89b6d80ee9a96bddee98c08f94d98
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Oct 2 09:53:32 2026 +0200
sci-ml/unsloth: add 2026.9.14
Built from monorepo tag v0.1.902-beta, which carries 2026.9.14. typer
rises to >=0.19.0 in the core and Studio requirements and unsloth_zoo to
>=2026.9.9; the new eval extra needs the unpackaged lm_eval. studio.py
is byte-identical to 2026.9.12's, so that version's patch is reused
rather than copied.
commit bb7f8279485d628b48644aaadd13aaad59118d9f
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Sep 29 12:48:53 2026 +0200
sci-ml/unsloth: drop 2026.9.8
Retention keeps the last three releases. The version-named Studio patch
only 2026.9.8 applied goes with it. In-tree consumers take an
unversioned sci-ml/unsloth.
commit d8961f15600f6b6f8c8de5bd7978e142cae03406
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Sep 29 12:48:40 2026 +0200
sci-ml/unsloth: add 2026.9.12
Built from the v0.1.900-beta monorepo tag, whose unsloth/_version.py
reports 2026.9.12. The unsloth_zoo floor follows upstream to 2026.9.8.
Upstream replaced the sys.prefix check at both Studio launch sites with
a _running_in_studio_venv() helper and added a re-exec guard, so the
system-interpreter patch is re-cut against the new lines. The override
still runs before the guard, which therefore never fires on a system
install.
New imports in the tree are lazy or optional probes (flashinfer,
llguidance, optimum, sageattention) or already covered through pytorch
and transformers (sympy, tokenizers). The newly vendored laya is
Apache-2.0, which LICENSE already lists.
commit 817179f295ea104fac5b4f71a6aab5e1bd82c021
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 24 13:03:32 2026 +0200
sci-ml/unsloth: drop 2026.9.6
Retention keeps the last three releases. The unversioned system-studio
patch only 2026.9.6 used goes with it.
commit f4436f9a45fce10bb5624f610dfcc931c6698130
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 24 10:22:08 2026 +0200
sci-ml/unsloth: add 2026.9.11
Monorepo tag v0.1.815-beta reports this library version. The only
requirements change against 2026.9.10 raises Studio's huggingface-hub
floor to 1.31; USE=studio now states it, since the base >=0.34 floor
would admit hubs Studio no longer supports. The system-studio patch is
carried forward unchanged.
commit 719d8b61a942c101146124f1931d21a3f78cb311
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 23 11:23:50 2026 +0200
sci-ml/unsloth: add 2026.9.10
The monorepo tag v0.1.814-beta reports this library version; v0.1.813
reports 2026.9.9, which no ebuild tracks. Requirements are unchanged
against 2026.9.8, including the unsloth-zoo floor of 2026.9.7, so this
is a tag move plus its own copy of the system-studio patch.
commit de0268520f8fd32fc1aed04bf73cd35ba7bde25c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Sep 22 23:08:19 2026 +0200
sci-ml/unsloth: drop 2026.8.22, 2026.9.3, 2026.9.4
Retention keeps the last two. The unversioned system-studio patch stays
because 2026.9.6 still applies it; only 2026.9.8 carries its own copy.
commit 60f21af688c89de5ce670f1b73426a03789c51ee
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Sep 22 21:18:11 2026 +0200
sci-ml/unsloth: add 2026.9.8
PyPI still publishes no usable sdist, so this keeps tracking the
monorepo tag whose unsloth/_version.py reports the library version:
v0.1.812-beta reports 2026.9.8. No tag carries 2026.9.7.
The unsloth-zoo floor moves to 2026.9.7, which upstream needs for a
second reason beyond the earlier sentinel fix: both vision GRPO logprob
paths in rl_replacements.py call grpo_vision_chunks, first exported
there. The transformers and trl ranges are unchanged; upstream holds
its own transformers ceiling at 5.5.0 pending a later zoo release.
USE=studio gains hf-xet, which upstream requires on x86_64 and arm64
for Python 3.10 and newer.
The system-interpreter patch is version-named from here on. Upstream
reflowed the comments around both call sites, so the copy the older
versions carry no longer applies; the patch itself is unchanged.
commit 55313b3d704885eded103cac98d916cce71b70e7
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 18 09:56:13 2026 +0200
sci-ml/unsloth: add 2026.9.6
PyPI still publishes no usable sdist, so this tracks the monorepo tag
whose unsloth/_version.py reports the library version: v0.1.810-beta
reports 2026.9.6. No tag carries 2026.9.5, which is why it was skipped.
The unsloth-zoo floor moves to 2026.9.5: unsloth_zoo.compiler embeds
its own copy of the empty-logits sentinel in the code it generates for
the compiled trainers, so an older zoo kept handing FSDP2 mixed
precision a sentinel that died in dataclasses.replace.
USE=studio gains markdown-it-py and an av floor of 12.3. Its other
changes are Windows-on-ARM markers with no effect on the non-Windows
branch, and the trl and transformers ranges are unchanged upstream.
commit 332c1747c4ce7bf7bd33140e59797f6ec9277c5c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 10:46:10 2026 +0200
sci-ml/unsloth: trim 2026.9.3 comments
commit 29a3a7f28c61786342c524b93763508ce1de60c3
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 10:46:10 2026 +0200
sci-ml/unsloth: trim 2026.8.22 comments
commit 9370c3ccb9edab56b0c5a66af93413493fef4b31
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 00:52:06 2026 +0200
sci-ml/unsloth: trim 2026.9.4 comments
commit 2761496fbc815a40a616c220635b742ea1b82eea
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 00:11:23 2026 +0200
sci-ml/unsloth: fix 2026.8.22 build dependency
The release metadata requires the newer setuptools-scm API while
preparing the wheel.
commit 8318186dc5e3f17ba48bbf627555ad3b7aae0d44
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 00:11:23 2026 +0200
sci-ml/unsloth: fix 2026.8.22 license
The installed CLI and backend are always AGPL-3; only the bundled
web fonts remain conditional on the studio feature.
commit 7b20f28ca74139c2bd8b44032d66c2940060cf1c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 00:11:06 2026 +0200
sci-ml/unsloth: fix 2026.9.3 build dependency
The release metadata requires the newer setuptools-scm API while
preparing the wheel.
commit 7262faa5a278834df2e78e36bb45dce082f05891
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 00:11:06 2026 +0200
sci-ml/unsloth: fix 2026.9.3 license
The installed CLI and backend are always AGPL-3; only the bundled
web fonts remain conditional on the studio feature.
commit 6e04645832813993acfdfb976c0847e129ada849
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 19:27:13 2026 +0200
sci-ml/unsloth: add 2026.9.4
commit efd5cc5efa0c2bd271804cbc50b66920d1574542
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 9 13:06:12 2026 +0200
sci-ml/unsloth: key the distfile to the tag, not to $
Both versions fetch a whole-monorepo snapshot that sci-ml/unsloth-desktop
also builds from. Naming the distfile after the tag instead of $ lets
the two packages share one download rather than storing the same 60M twice
under two names.
commit 1d736b28dcf61c9848390e89c1d9209dd7ea9f86
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 9 12:26:46 2026 +0200
sci-ml/unsloth: add 2026.9.3
Upstream published no sdist for this release -- only a wheel -- so the
git tag is the only source; v0.1.807-beta declares 2026.9.3 in
unsloth/_version.py.
Upstream split the flat dependency list into extras at 2026.9.1, so RDEPEND
is re-derived from unsloth[huggingface] rather than from the old core list:
the unsloth-zoo floor rises to 2026.9.2, sentence-transformers is new, and
diffusers gains a >=0.39.0 floor. torch, xformers and bitsandbytes moved
into CUDA-specific groups upstream but stay declared here -- the library
does not run without them, and pip only omits them because it expects a
preinstalled torch.
The git tree ships unsloth/kernels/moe/tests as an importable package that
upstream own wheel excludes, so src_prepare removes it and the installed
set matches the published one.
commit 56d62c40e4ea26d6c5d4a37b585be99f9dea2605
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 9 12:23:58 2026 +0200
sci-ml/unsloth: fetch 2026.8.22 from the upstream git tag
PyPI is no longer a dependable source for this package: the simple index
stops at 2026.6.2, 2026.9.2 has already 404ed, and 2026.8.22 survives only
through the legacy /packages/source redirect without being listed.
unslothai/unsloth is a monorepo whose desktop tags are whole-tree snapshots,
and v0.1.804-beta declares 2026.8.22 in unsloth/_version.py. Its unsloth/
and unsloth_cli/ trees are byte-identical to the sdist, so the library this
installs does not change.
Two things do differ, deliberately. The tag was cut after upstream split
the flat dependency list into extras, so the built metadata declares eight
core requirements instead of twenty-five -- RDEPEND is unaffected, since it
already describes the functional set rather than the pip one. And studio/
is the tag content rather than the sdist content, which makes USE=studio
agree with sci-ml/unsloth-desktop, built from these same tags. No revbump:
the library is identical and the studio delta only reaches users who
rebuild.
commit a6fd26e6c3b36496bb2ffef15387f4c77ab09bac
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 9 10:52:41 2026 +0200
sci-ml/unsloth: drop 2026.9.2
Upstream withdrew the 2026.9.2 sdist from PyPI after it was packaged: the
file now 404s and the release is absent from the simple index, so the
version is unfetchable for anyone without it already cached.
sci-ml/unsloth-desktop and unsloth-desktop-bin depend on a bare
sci-ml/unsloth[studio], so portage resolved to 2026.9.2 and aborted on the
fetch rather than falling back -- the whole desktop chain was uninstallable.
Dropping it resolves them to 2026.8.22, which still fetches.
This leaves a single version, below the usual last-two: 2026.9.3 ships no
sdist at all, and upstream has published none since 2026.6.2, so there is no
second candidate to keep. 2026.8.22 is itself delisted from the index and
survives only through the legacy source redirect, so this buys time rather
than settling the problem.
commit 7b1770a971fecc02bc20aea6299830d36445e4ef
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 2 22:58:29 2026 +0200
sci-ml/unsloth: drop 2026.8.19 2026.8.21
Down to the last two. Calendar versioning gives no earlier major series
to anchor, and the only consumers -- sci-ml/unsloth-desktop and the
-bin's blocker -- reference sci-ml/unsloth[studio] without a version, so
nothing is orphaned.
files/unsloth-system-studio.patch stays: both retained versions use it.
commit aa8b1d71b9ec595c3fc48f83dd7085bac390bff0
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 2 22:57:44 2026 +0200
sci-ml/unsloth: add 2026.9.2
Dependency set is unchanged in substance from 2026.8.22. The one delta
in upstream's pyproject is a new transformers exclusion, !=4.57.0, and
that version is absent from both ::gentoo and ::stuff -- as are the
other != targets (bitsandbytes 0.46.0/0.48.0, trl 0.19.0, datasets
4.0.*/4.1.0) -- so the ebuild's plain ranges stay exactly equivalent.
The studio extra gained no new distribution; every entry maps to an
existing atom in the studio? ( ) block or to a base RDEPEND atom.
Build-checked twice: default USE, and USE=studio, the latter exercising
the npm ci + vite frontend build and the renamed system-studio patch,
which applies here with hunk offsets of 75 and 83 lines.
verified 2026-09-02
commit 28414eea4de90479f7513fa8e6720e2b36c7d374
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 2 22:54:53 2026 +0200
sci-ml/unsloth: fix USE=studio patch reference
The system-studio patch was referenced as $/$-... while the
file kept its original 2026.8.19 name, so USE=studio died in src_prepare
on every later version:
Applying unsloth-2026.8.22-system-studio.patch ...
.../files/unsloth-2026.8.22-system-studio.patch: No such file
patch '-p1' '-f' '-g0' '--no-backup-if-mismatch' failed
Rename the patch to $-system-studio.patch and reference it that way.
It touches only unsloth_cli/commands/studio.py and applies cleanly to
all three retained versions, so a version-independent name is the honest
one and keeps the trap from firing on the next bump.
No revbump: USE=studio could not complete src_prepare on 2026.8.21 or
2026.8.22, so there is no installed image to rebuild, and the rename is
functionally inert for 2026.8.19. USE=studio prepare verified green on
all three afterwards. verified 2026-09-02
commit 10cb6101a934dae03d728fc1b63546a7cedeb4e9
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Aug 27 19:10:01 2026 +0200
sci-ml/unsloth: add 2026.8.22
The entire dependency delta upstream is the unsloth_zoo floor, raised to
>=2026.8.16 (in the core list and in the huggingface / huggingfacenotorch /
amd / colab-new extras alike), so the ebuild change is the one matching
RDEPEND line.
The hand-maintained upper bounds did NOT move: transformers <=5.5.0,
trl <=0.24.0 and datasets <4.4.0 are byte-identical to 2026.8.21. They
remain stale against the current HF stack, which is why the tree keeps
transformers-4.57.6 and trl-0.24.0 around for unsloth to resolve against --
do not drop those while this cap set stands.
commit 5d179f46bbb9aa21008d949fec7642693fe2fc54
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Aug 26 02:06:45 2026 +0200
sci-ml/unsloth: add 2026.8.21
Upstream's only dependency change vs 2026.8.19 is the unsloth_zoo floor,
raised to >=2026.8.15; every other specifier (torch <2.12.0, transformers,
datasets <4.4.0, trl, peft, bitsandbytes, triton) is unchanged.
Verified against the pyproject.toml shipped inside the release sdist rather
than a tag URL: upstream tags months (February-2026) and beta points, not
calendar versions, so raw.githubusercontent.com/.../2026.8.21/ does not
resolve.
commit 0d6ce856902d4b3a4270ab17ac03b05f8b167e66
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Aug 24 11:24:27 2026 +0200
sci-ml/unsloth: build the studio web UI under USE=studio
Build the React frontend (studio/frontend) with npm at compile time so the
studio backend serves the full web app, not just --api-only. setuptools'
package-data bundles the vite-built dist/ into the studio package where
_find_frontend_dist() locates it; the frontend source tree is pruned from the
install (only dist/ is served). USE=studio is now live + network (npm fetches
its dep set) like sci-misc/llama-swap[ui].
Declare the frontend's licenses under studio? -- AGPL-3 (studio/LICENSE.AGPL-3.0)
and OFL-1.1 for its @fontsource Figtree/Inter/Space-Grotesk web fonts -- and strip
the proprietary Hellix font (bundled public/ -> dist/) so the UI falls back to a
system font for that text.
commit 1ece55214358b94101f74ed52302125300a406d1
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Aug 24 11:10:59 2026 +0200
sci-ml/unsloth: add studio USE flag for system-stack Studio backend
Runs the bundled studio/backend FastAPI server (the `unsloth studio` CLI
command) in-process against the system interpreter instead of the desktop
app's self-downloaded ~/.unsloth/studio venv. USE=studio pulls the server's
runtime deps and applies a patch adding a UNSLOTH_STUDIO_SYSTEM launch path;
an unsloth-studio wrapper sets it. React frontend dist follows separately.
commit 9eed334f9dcd604ee794794a35900ce38391bc30
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 23 23:28:39 2026 +0200
sci-ml/unsloth: add setuptools-scm BDEPEND
commit 5f2006653c9d8a991438cc4e7f140bdb0f01fc3c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 23 13:14:02 2026 +0200
sci-ml/unsloth: depend on virtual/triton
commit d13d5ca8e44af8c29f9f668767c29b1dc143aaeb
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 23 12:41:59 2026 +0200
sci-ml/unsloth: fix multi-impl dependencies
The multi-impl deps were wrapped in $, which is
only valid for single-impl deps; multi-impl packages expose
python_targets_* (PYTHON_USEDEP), so the wheel built but emerge could
not resolve the package. Move them into a python_gen_cond_dep block
using $.
commit 70b3164f7441632fc0c2615e44f301e3ea9f0f61
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 23 10:07:16 2026 +0200
sci-ml/unsloth: new package
LLM fine-tuning / inference runtime. Brought in with its full dependency
tail (unsloth-zoo, xformers, torchao, cut-cross-entropy, diffusers,
source triton, plus datasets/trl bumps). torch is capped <2.12 per
upstream, so on a host with a newer torch this requires a downgrade.
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Oct 28 17:28:33 2026 +0100
sci-ml/unsloth: drop 2026.10.7
Keep the last three releases.
commit 41bdc48103e47517d264f21ecf6b268d1d784110
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Oct 28 17:01:37 2026 +0100
sci-ml/unsloth: add 2026.10.10
Built from the v0.1.912-beta desktop tag, whose _version.py reads
2026.10.10. Upstream dropped tyro from the requirements, and nothing
imports it.
commit d3316f50fed9155ecc5a12bee2fa42ca1ac0eac1
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Oct 28 11:04:11 2026 +0100
sci-ml/unsloth: let the trl cap admit revisions
Upstream caps trl at <=1.15.0, which we wrote as <=sci-ml/trl-1.15.0-r0.
That excludes trl-1.15.0-r1, the revbump that adds the
pytorch[distributed] dependency trl needs. Spell the cap as "below
1.15.0 or any revision of 1.15.0" instead; a plain <sci-ml/trl-1.15.1
would also admit 1.15.0_p* and 1.15.1 prereleases. The cap only
widens, so installed copies stay valid and need no revbump.
commit 37f046faa478a7abce3664ce0631fdb0145dceb9
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Oct 26 18:22:28 2026 +0100
sci-ml/unsloth: keep Studio workers on the system transformers
Studio's workers prepend a per-model transformers sidecar from
~/.unsloth/studio to sys.path. The sidecars are installed --no-deps,
so they meet the system tokenizers, and transformers 5.5.0 rejects
tokenizers 0.23.3, failing training with "Failed to import ML
libraries". With USE=studio, 2026.10.9 now returns early from the
sidecar activation when UNSLOTH_STUDIO_SYSTEM=1, which the
unsloth-studio wrapper and unsloth-desktop both set. 2026.10.9 is
not yet published, so it takes the patch without a revbump.
Bug: https://github.com/istitov/stuff/issues/303
commit 685bf75f7043355fd11ceb99ad87b1cfe192a62b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Oct 26 15:39:47 2026 +0100
sci-ml/unsloth: drop 2026.10.6
Superseded; the last three releases stay.
commit 9284fa1b192fa5c9e5130691813b5a1bc1f32305
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Oct 26 15:39:36 2026 +0100
sci-ml/unsloth: add 2026.10.9
Built from desktop tag v0.1.911-beta, whose _version.py reports
2026.10.9. Upstream now requires unsloth-zoo 2026.10.9, and adds
json5>=0.9.25 to the core dependencies because unsloth_cli's start
command imports it.
commit 422aeaeb6724e44a5476f9ca2b472b7748543cf1
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Oct 24 20:47:33 2026 +0200
sci-ml/unsloth: drop 2026.10.4-r1, 2026.10.5
Superseded; the last three releases stay.
commit 5f6669dbb459de2deef5d02b3f431f1e14c1971e
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Oct 24 20:12:03 2026 +0200
sci-ml/unsloth: add 2026.10.8
Built from desktop tag v0.1.910-beta, whose _version.py reports
2026.10.8. Upstream now requires unsloth-zoo 2026.10.8. Studio adds
spandrel for its ESRGAN upscalers, already packaged here. Upstream's
new certifi>=2026.10.19 floor is a CA-bundle trust floor; Gentoo's
certifi defers to the system ca-certificates store, so it is not
carried.
commit cbbd83921232466eefa44da9b312e4fb2b69342c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Oct 20 11:24:11 2026 +0200
sci-ml/unsloth: add 2026.10.7
Built from desktop tag v0.1.909-beta, whose _version.py reports
2026.10.7. Upstream now requires unsloth-zoo 2026.10.7, and moved
boto3 out of the studio extra into an optional s3 extra imported only
for S3 dataset loading, so it becomes an optfeature. Studio now pins
diffusers main for FLUX.3 Klein; with the released diffusers it
refuses only that family.
commit 96981e563da3514ed7d0ff29f1a1ef6d75061a5c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Oct 16 12:43:44 2026 +0200
sci-ml/unsloth: drop 2026.10.3-r1
Superseded; the last three releases stay.
commit 4357a0c4753763a96cc55ae93c58e13a381a8fb3
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Oct 16 09:26:16 2026 +0200
sci-ml/unsloth: add 2026.10.6
Upstream raised its unsloth-zoo floor to 2026.10.6; no other
dependency moved.
commit 3c6ec622ddf54b96f8a80d368f2b46147f046a93
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Oct 14 14:23:43 2026 +0200
sci-ml/unsloth: cap huggingface_hub below 2 for studio
The studio extra requires huggingface-hub <2.0, but the ebuilds kept
only the floor, which admits the 2.x releases now in the tree. Revbump
the released versions.
commit d1156a35c8a93b6ebd2f2a2c1b8400131172a6ca
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Oct 14 09:54:23 2026 +0200
sci-ml/unsloth: drop 2026.10.2
Superseded; the last three releases stay.
commit c965f60fee32c367c77df5458a0d183ca1ca158a
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Oct 14 09:25:21 2026 +0200
sci-ml/unsloth: add 2026.10.5
Sourced from the v0.1.907-beta monorepo tag, whose _version.py is
2026.10.5. Upstream raised the unsloth-zoo floor to 2026.10.5; the only
other dependency change is a Windows-only safetensors line.
commit 37c069485d9a28d48de689bb53226e68badf7f98
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Oct 13 10:29:42 2026 +0200
sci-ml/unsloth: drop 2026.10.1
Superseded by three newer releases.
commit 433c1975ce5fddc428f28248b7ed080bc3188ce2
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Oct 13 10:29:41 2026 +0200
sci-ml/unsloth: add 2026.10.4
Built from the v0.1.906-beta monorepo tag, whose _version.py reads
2026.10.4. Upstream raised the trl ceiling to 1.15.0 and the Studio
huggingface-hub floor to 1.32.0; it now requires unsloth_zoo
2026.10.4.
commit 1018644a8b549e88b1e547536836148aba404ceb
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Oct 9 10:14:25 2026 +0200
sci-ml/unsloth: drop 2026.9.14
commit bdfadf5aa4893db8c5fd1c5cf8d9f5e84488533e
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Oct 9 10:13:53 2026 +0200
sci-ml/unsloth: add 2026.10.3
Built from the monorepo tag v0.1.905-beta, whose _version.py reads
2026.10.3. The only requirement that moved is the unsloth-zoo floor.
commit d6e6095454c9e11eaed67a2d669c80b815b1153d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Oct 8 12:03:18 2026 +0200
sci-ml/unsloth: drop 2026.9.12
Retention keeps the last three releases.
commit 9ff3a3ceb7ae42690907d2b36c61b811e17a55ce
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Oct 8 12:03:05 2026 +0200
sci-ml/unsloth: add 2026.10.2
Built from desktop tag v0.1.904-beta, whose _version.py reports
2026.10.2; the only dependency change is the unsloth_zoo floor.
commit 0a195ea08d015a6d6872ca1076a2bd5bf8ec5af9
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Oct 8 00:28:01 2026 +0200
sci-ml/unsloth: drop PROPERTIES=live
USE=studio runs npm ci against upstream's committed lockfile, so the
frontend dependency set does not vary between installs; RESTRICT keeps
the network access it needs.
PROPERTIES=live marks source that varies between installs, as VCS
ebuilds do. On a release it put the package in @live-rebuild and
exempted it from pkgcheck's modified-ebuild, DroppedKeywords and
RedundantVersion checks.
commit 31c1185723e5de0e32ed5b9f574d05b79d8ef144
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Oct 7 13:15:04 2026 +0200
sci-ml/unsloth: follow upstream's torch cap in 2026.9.12, 2026.9.14
Both ebuilds capped pytorch below 2.12, a bound carried forward from the
original packaging. Upstream raised it in 2026.9.3: the published wheels
of these two releases declare torch<2.13.0, so the ebuilds were
rejecting pytorch 2.12, which upstream allows.
commit 1a5049cfe968b08b01e962fc9605c08880ccf83d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Oct 6 22:01:02 2026 +0200
sci-ml/unsloth: drop 2026.9.11
Retention keeps the last three releases. Its version-named studio
patch had no other user.
commit 9a0c3bc0397fe0d2756140aaa7d214bca8b9fddd
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Oct 6 22:00:35 2026 +0200
sci-ml/unsloth: add 2026.10.1
Built from desktop tag v0.1.903-beta, whose _version.py is 2026.10.1.
Upstream widened the training stack: transformers <=5.17.0 (floor
4.52.4), trl <=1.13.0, datasets <5, and unsloth-zoo >=2026.10.1. The
tag's pyproject still names no torch requirement; the published wheel
declares <2.15, which replaces the old <2.12 cap.
Studio raised its pyjwt pin to 2.15.1 and its urllib3 floor to 2.8.0;
the ebuild takes both as floors, and ::gentoo ships both versions. The
studio.py patch carries over: the file was reworked, but both hunks
still land after the in_studio_venv assignment.
commit 5d5dec9e44f7c3e73b74569d0f9f7d84af00f53b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Oct 3 20:31:11 2026 +0200
dev-python/pymupdf: rename from dev-python/PyMuPDF
Gentoo's Python guide asks for dev-python packages to carry their PyPI
name, normalised per PEP 503. MY_P keeps upstream's casing for the
GitHub archive and its directory, so the distfiles are unchanged.
profiles/updates moves installed copies, and amd-gaia, unsloth,
pymupdf4llm, pymupdf-layout-bin and mupdf's metadata use the new name.
commit dc73c9e98f8559a16099484821e8feecd03c11d6
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Oct 2 09:53:32 2026 +0200
sci-ml/unsloth: drop 2026.9.10
Retention keeps the last three releases; the Studio patch named for
2026.9.10 goes too.
commit d6961c110cd89b6d80ee9a96bddee98c08f94d98
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Oct 2 09:53:32 2026 +0200
sci-ml/unsloth: add 2026.9.14
Built from monorepo tag v0.1.902-beta, which carries 2026.9.14. typer
rises to >=0.19.0 in the core and Studio requirements and unsloth_zoo to
>=2026.9.9; the new eval extra needs the unpackaged lm_eval. studio.py
is byte-identical to 2026.9.12's, so that version's patch is reused
rather than copied.
commit bb7f8279485d628b48644aaadd13aaad59118d9f
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Sep 29 12:48:53 2026 +0200
sci-ml/unsloth: drop 2026.9.8
Retention keeps the last three releases. The version-named Studio patch
only 2026.9.8 applied goes with it. In-tree consumers take an
unversioned sci-ml/unsloth.
commit d8961f15600f6b6f8c8de5bd7978e142cae03406
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Sep 29 12:48:40 2026 +0200
sci-ml/unsloth: add 2026.9.12
Built from the v0.1.900-beta monorepo tag, whose unsloth/_version.py
reports 2026.9.12. The unsloth_zoo floor follows upstream to 2026.9.8.
Upstream replaced the sys.prefix check at both Studio launch sites with
a _running_in_studio_venv() helper and added a re-exec guard, so the
system-interpreter patch is re-cut against the new lines. The override
still runs before the guard, which therefore never fires on a system
install.
New imports in the tree are lazy or optional probes (flashinfer,
llguidance, optimum, sageattention) or already covered through pytorch
and transformers (sympy, tokenizers). The newly vendored laya is
Apache-2.0, which LICENSE already lists.
commit 817179f295ea104fac5b4f71a6aab5e1bd82c021
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 24 13:03:32 2026 +0200
sci-ml/unsloth: drop 2026.9.6
Retention keeps the last three releases. The unversioned system-studio
patch only 2026.9.6 used goes with it.
commit f4436f9a45fce10bb5624f610dfcc931c6698130
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 24 10:22:08 2026 +0200
sci-ml/unsloth: add 2026.9.11
Monorepo tag v0.1.815-beta reports this library version. The only
requirements change against 2026.9.10 raises Studio's huggingface-hub
floor to 1.31; USE=studio now states it, since the base >=0.34 floor
would admit hubs Studio no longer supports. The system-studio patch is
carried forward unchanged.
commit 719d8b61a942c101146124f1931d21a3f78cb311
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 23 11:23:50 2026 +0200
sci-ml/unsloth: add 2026.9.10
The monorepo tag v0.1.814-beta reports this library version; v0.1.813
reports 2026.9.9, which no ebuild tracks. Requirements are unchanged
against 2026.9.8, including the unsloth-zoo floor of 2026.9.7, so this
is a tag move plus its own copy of the system-studio patch.
commit de0268520f8fd32fc1aed04bf73cd35ba7bde25c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Sep 22 23:08:19 2026 +0200
sci-ml/unsloth: drop 2026.8.22, 2026.9.3, 2026.9.4
Retention keeps the last two. The unversioned system-studio patch stays
because 2026.9.6 still applies it; only 2026.9.8 carries its own copy.
commit 60f21af688c89de5ce670f1b73426a03789c51ee
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Sep 22 21:18:11 2026 +0200
sci-ml/unsloth: add 2026.9.8
PyPI still publishes no usable sdist, so this keeps tracking the
monorepo tag whose unsloth/_version.py reports the library version:
v0.1.812-beta reports 2026.9.8. No tag carries 2026.9.7.
The unsloth-zoo floor moves to 2026.9.7, which upstream needs for a
second reason beyond the earlier sentinel fix: both vision GRPO logprob
paths in rl_replacements.py call grpo_vision_chunks, first exported
there. The transformers and trl ranges are unchanged; upstream holds
its own transformers ceiling at 5.5.0 pending a later zoo release.
USE=studio gains hf-xet, which upstream requires on x86_64 and arm64
for Python 3.10 and newer.
The system-interpreter patch is version-named from here on. Upstream
reflowed the comments around both call sites, so the copy the older
versions carry no longer applies; the patch itself is unchanged.
commit 55313b3d704885eded103cac98d916cce71b70e7
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 18 09:56:13 2026 +0200
sci-ml/unsloth: add 2026.9.6
PyPI still publishes no usable sdist, so this tracks the monorepo tag
whose unsloth/_version.py reports the library version: v0.1.810-beta
reports 2026.9.6. No tag carries 2026.9.5, which is why it was skipped.
The unsloth-zoo floor moves to 2026.9.5: unsloth_zoo.compiler embeds
its own copy of the empty-logits sentinel in the code it generates for
the compiled trainers, so an older zoo kept handing FSDP2 mixed
precision a sentinel that died in dataclasses.replace.
USE=studio gains markdown-it-py and an av floor of 12.3. Its other
changes are Windows-on-ARM markers with no effect on the non-Windows
branch, and the trl and transformers ranges are unchanged upstream.
commit 332c1747c4ce7bf7bd33140e59797f6ec9277c5c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 10:46:10 2026 +0200
sci-ml/unsloth: trim 2026.9.3 comments
commit 29a3a7f28c61786342c524b93763508ce1de60c3
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 10:46:10 2026 +0200
sci-ml/unsloth: trim 2026.8.22 comments
commit 9370c3ccb9edab56b0c5a66af93413493fef4b31
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 00:52:06 2026 +0200
sci-ml/unsloth: trim 2026.9.4 comments
commit 2761496fbc815a40a616c220635b742ea1b82eea
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 00:11:23 2026 +0200
sci-ml/unsloth: fix 2026.8.22 build dependency
The release metadata requires the newer setuptools-scm API while
preparing the wheel.
commit 8318186dc5e3f17ba48bbf627555ad3b7aae0d44
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 00:11:23 2026 +0200
sci-ml/unsloth: fix 2026.8.22 license
The installed CLI and backend are always AGPL-3; only the bundled
web fonts remain conditional on the studio feature.
commit 7b20f28ca74139c2bd8b44032d66c2940060cf1c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 00:11:06 2026 +0200
sci-ml/unsloth: fix 2026.9.3 build dependency
The release metadata requires the newer setuptools-scm API while
preparing the wheel.
commit 7262faa5a278834df2e78e36bb45dce082f05891
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 00:11:06 2026 +0200
sci-ml/unsloth: fix 2026.9.3 license
The installed CLI and backend are always AGPL-3; only the bundled
web fonts remain conditional on the studio feature.
commit 6e04645832813993acfdfb976c0847e129ada849
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 19:27:13 2026 +0200
sci-ml/unsloth: add 2026.9.4
commit efd5cc5efa0c2bd271804cbc50b66920d1574542
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 9 13:06:12 2026 +0200
sci-ml/unsloth: key the distfile to the tag, not to $
Both versions fetch a whole-monorepo snapshot that sci-ml/unsloth-desktop
also builds from. Naming the distfile after the tag instead of $ lets
the two packages share one download rather than storing the same 60M twice
under two names.
commit 1d736b28dcf61c9848390e89c1d9209dd7ea9f86
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 9 12:26:46 2026 +0200
sci-ml/unsloth: add 2026.9.3
Upstream published no sdist for this release -- only a wheel -- so the
git tag is the only source; v0.1.807-beta declares 2026.9.3 in
unsloth/_version.py.
Upstream split the flat dependency list into extras at 2026.9.1, so RDEPEND
is re-derived from unsloth[huggingface] rather than from the old core list:
the unsloth-zoo floor rises to 2026.9.2, sentence-transformers is new, and
diffusers gains a >=0.39.0 floor. torch, xformers and bitsandbytes moved
into CUDA-specific groups upstream but stay declared here -- the library
does not run without them, and pip only omits them because it expects a
preinstalled torch.
The git tree ships unsloth/kernels/moe/tests as an importable package that
upstream own wheel excludes, so src_prepare removes it and the installed
set matches the published one.
commit 56d62c40e4ea26d6c5d4a37b585be99f9dea2605
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 9 12:23:58 2026 +0200
sci-ml/unsloth: fetch 2026.8.22 from the upstream git tag
PyPI is no longer a dependable source for this package: the simple index
stops at 2026.6.2, 2026.9.2 has already 404ed, and 2026.8.22 survives only
through the legacy /packages/source redirect without being listed.
unslothai/unsloth is a monorepo whose desktop tags are whole-tree snapshots,
and v0.1.804-beta declares 2026.8.22 in unsloth/_version.py. Its unsloth/
and unsloth_cli/ trees are byte-identical to the sdist, so the library this
installs does not change.
Two things do differ, deliberately. The tag was cut after upstream split
the flat dependency list into extras, so the built metadata declares eight
core requirements instead of twenty-five -- RDEPEND is unaffected, since it
already describes the functional set rather than the pip one. And studio/
is the tag content rather than the sdist content, which makes USE=studio
agree with sci-ml/unsloth-desktop, built from these same tags. No revbump:
the library is identical and the studio delta only reaches users who
rebuild.
commit a6fd26e6c3b36496bb2ffef15387f4c77ab09bac
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 9 10:52:41 2026 +0200
sci-ml/unsloth: drop 2026.9.2
Upstream withdrew the 2026.9.2 sdist from PyPI after it was packaged: the
file now 404s and the release is absent from the simple index, so the
version is unfetchable for anyone without it already cached.
sci-ml/unsloth-desktop and unsloth-desktop-bin depend on a bare
sci-ml/unsloth[studio], so portage resolved to 2026.9.2 and aborted on the
fetch rather than falling back -- the whole desktop chain was uninstallable.
Dropping it resolves them to 2026.8.22, which still fetches.
This leaves a single version, below the usual last-two: 2026.9.3 ships no
sdist at all, and upstream has published none since 2026.6.2, so there is no
second candidate to keep. 2026.8.22 is itself delisted from the index and
survives only through the legacy source redirect, so this buys time rather
than settling the problem.
commit 7b1770a971fecc02bc20aea6299830d36445e4ef
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 2 22:58:29 2026 +0200
sci-ml/unsloth: drop 2026.8.19 2026.8.21
Down to the last two. Calendar versioning gives no earlier major series
to anchor, and the only consumers -- sci-ml/unsloth-desktop and the
-bin's blocker -- reference sci-ml/unsloth[studio] without a version, so
nothing is orphaned.
files/unsloth-system-studio.patch stays: both retained versions use it.
commit aa8b1d71b9ec595c3fc48f83dd7085bac390bff0
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 2 22:57:44 2026 +0200
sci-ml/unsloth: add 2026.9.2
Dependency set is unchanged in substance from 2026.8.22. The one delta
in upstream's pyproject is a new transformers exclusion, !=4.57.0, and
that version is absent from both ::gentoo and ::stuff -- as are the
other != targets (bitsandbytes 0.46.0/0.48.0, trl 0.19.0, datasets
4.0.*/4.1.0) -- so the ebuild's plain ranges stay exactly equivalent.
The studio extra gained no new distribution; every entry maps to an
existing atom in the studio? ( ) block or to a base RDEPEND atom.
Build-checked twice: default USE, and USE=studio, the latter exercising
the npm ci + vite frontend build and the renamed system-studio patch,
which applies here with hunk offsets of 75 and 83 lines.
verified 2026-09-02
commit 28414eea4de90479f7513fa8e6720e2b36c7d374
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 2 22:54:53 2026 +0200
sci-ml/unsloth: fix USE=studio patch reference
The system-studio patch was referenced as $/$-... while the
file kept its original 2026.8.19 name, so USE=studio died in src_prepare
on every later version:
Applying unsloth-2026.8.22-system-studio.patch ...
.../files/unsloth-2026.8.22-system-studio.patch: No such file
patch '-p1' '-f' '-g0' '--no-backup-if-mismatch' failed
Rename the patch to $-system-studio.patch and reference it that way.
It touches only unsloth_cli/commands/studio.py and applies cleanly to
all three retained versions, so a version-independent name is the honest
one and keeps the trap from firing on the next bump.
No revbump: USE=studio could not complete src_prepare on 2026.8.21 or
2026.8.22, so there is no installed image to rebuild, and the rename is
functionally inert for 2026.8.19. USE=studio prepare verified green on
all three afterwards. verified 2026-09-02
commit 10cb6101a934dae03d728fc1b63546a7cedeb4e9
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Aug 27 19:10:01 2026 +0200
sci-ml/unsloth: add 2026.8.22
The entire dependency delta upstream is the unsloth_zoo floor, raised to
>=2026.8.16 (in the core list and in the huggingface / huggingfacenotorch /
amd / colab-new extras alike), so the ebuild change is the one matching
RDEPEND line.
The hand-maintained upper bounds did NOT move: transformers <=5.5.0,
trl <=0.24.0 and datasets <4.4.0 are byte-identical to 2026.8.21. They
remain stale against the current HF stack, which is why the tree keeps
transformers-4.57.6 and trl-0.24.0 around for unsloth to resolve against --
do not drop those while this cap set stands.
commit 5d179f46bbb9aa21008d949fec7642693fe2fc54
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Aug 26 02:06:45 2026 +0200
sci-ml/unsloth: add 2026.8.21
Upstream's only dependency change vs 2026.8.19 is the unsloth_zoo floor,
raised to >=2026.8.15; every other specifier (torch <2.12.0, transformers,
datasets <4.4.0, trl, peft, bitsandbytes, triton) is unchanged.
Verified against the pyproject.toml shipped inside the release sdist rather
than a tag URL: upstream tags months (February-2026) and beta points, not
calendar versions, so raw.githubusercontent.com/.../2026.8.21/ does not
resolve.
commit 0d6ce856902d4b3a4270ab17ac03b05f8b167e66
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Aug 24 11:24:27 2026 +0200
sci-ml/unsloth: build the studio web UI under USE=studio
Build the React frontend (studio/frontend) with npm at compile time so the
studio backend serves the full web app, not just --api-only. setuptools'
package-data bundles the vite-built dist/ into the studio package where
_find_frontend_dist() locates it; the frontend source tree is pruned from the
install (only dist/ is served). USE=studio is now live + network (npm fetches
its dep set) like sci-misc/llama-swap[ui].
Declare the frontend's licenses under studio? -- AGPL-3 (studio/LICENSE.AGPL-3.0)
and OFL-1.1 for its @fontsource Figtree/Inter/Space-Grotesk web fonts -- and strip
the proprietary Hellix font (bundled public/ -> dist/) so the UI falls back to a
system font for that text.
commit 1ece55214358b94101f74ed52302125300a406d1
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Aug 24 11:10:59 2026 +0200
sci-ml/unsloth: add studio USE flag for system-stack Studio backend
Runs the bundled studio/backend FastAPI server (the `unsloth studio` CLI
command) in-process against the system interpreter instead of the desktop
app's self-downloaded ~/.unsloth/studio venv. USE=studio pulls the server's
runtime deps and applies a patch adding a UNSLOTH_STUDIO_SYSTEM launch path;
an unsloth-studio wrapper sets it. React frontend dist follows separately.
commit 9eed334f9dcd604ee794794a35900ce38391bc30
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 23 23:28:39 2026 +0200
sci-ml/unsloth: add setuptools-scm BDEPEND
commit 5f2006653c9d8a991438cc4e7f140bdb0f01fc3c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 23 13:14:02 2026 +0200
sci-ml/unsloth: depend on virtual/triton
commit d13d5ca8e44af8c29f9f668767c29b1dc143aaeb
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 23 12:41:59 2026 +0200
sci-ml/unsloth: fix multi-impl dependencies
The multi-impl deps were wrapped in $, which is
only valid for single-impl deps; multi-impl packages expose
python_targets_* (PYTHON_USEDEP), so the wheel built but emerge could
not resolve the package. Move them into a python_gen_cond_dep block
using $.
commit 70b3164f7441632fc0c2615e44f301e3ea9f0f61
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 23 10:07:16 2026 +0200
sci-ml/unsloth: new package
LLM fine-tuning / inference runtime. Brought in with its full dependency
tail (unsloth-zoo, xformers, torchao, cut-cross-entropy, diffusers,
source triton, plus datasets/trl bumps). torch is capped <2.12 per
upstream, so on a host with a newer torch this requires a downgrade.

