What's New
- Lighter install. The heavy training stack (PyTorch, Transformers, PEFT, TRL, datasets, bitsandbytes, accelerate) moved into a
[train]extra.pip install soup-cliis now a light CLI + data-tools install with no PyTorch (installs in seconds);pip install 'soup-cli[train]'adds everything needed to fine-tune. - src-layout packaging (
src/soup_cli/) +py.typed(PEP 561) so downstream type checkers pick up Soup's inline type hints. - Docs overhaul. README trimmed to a ~238-line front door; the full feature reference now lives under
docs/. NewCHANGELOG.md.SECURITY.mdslimmed from a 221 KB changelog back to a one-page policy. - Project hygiene.
.pre-commit-config.yaml(ruff lint + format) and a non-blockingmypyCI job. Coverage gate raised 50% → 77%.
Install / Upgrade
pip install -U soup-cli # light: CLI + config + data tools (no PyTorch)
pip install -U 'soup-cli[train]' # add the training stack to fine-tune
⚠️ Breaking
Existing users who train must reinstall with the [train] extra:
pip install -U 'soup-cli[train]'
Through v0.70.0 the training stack was installed by default; from v0.71.0 it is an opt-in extra so the bare CLI stays lightweight.
Security
SECURITY.mdis now a concise policy (supported versions + private reporting via GitHub Security Advisories). The historical per-version hardening log lives in git history and the GitHub Releases notes.
Known Limitations
- The existing
deferred/NotImplementedErrorfeature surface is unchanged in this release and did not regress. Those items are tracked as open GitHub issues and are being drained over the upcoming v0.71.x patch chain.