soup-cli 0.71.36__tar.gz → 0.71.37__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {soup_cli-0.71.36 → soup_cli-0.71.37}/CHANGELOG.md +39 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/CONTRIBUTING.md +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/CONTRIBUTORS.md +2 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/PKG-INFO +34 -7
- {soup_cli-0.71.36 → soup_cli-0.71.37}/README.md +33 -6
- {soup_cli-0.71.36 → soup_cli-0.71.37}/docs/backends-and-ops.md +4 -4
- {soup_cli-0.71.36 → soup_cli-0.71.37}/docs/commands.md +3 -3
- {soup_cli-0.71.36 → soup_cli-0.71.37}/docs/data.md +3 -3
- {soup_cli-0.71.36 → soup_cli-0.71.37}/docs/evaluation.md +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/docs/models.md +23 -23
- {soup_cli-0.71.36 → soup_cli-0.71.37}/docs/performance-and-quantization.md +5 -5
- {soup_cli-0.71.36 → soup_cli-0.71.37}/docs/serving-and-export.md +6 -6
- {soup_cli-0.71.36 → soup_cli-0.71.37}/docs/training.md +2 -2
- {soup_cli-0.71.36 → soup_cli-0.71.37}/examples/README.md +3 -3
- {soup_cli-0.71.36 → soup_cli-0.71.37}/examples/configs/dpo_example.yaml +2 -2
- {soup_cli-0.71.36 → soup_cli-0.71.37}/pyproject.toml +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/__init__.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/cloud/modal.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/compile_cmd.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/data.py +5 -3
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/data_canary.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/data_topics.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/eval.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/export.py +4 -4
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/generate.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/mcp.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/merge_sharded_fsdp_weights.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/serve.py +3 -3
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/train.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/tui.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/ui.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/config/schema.py +18 -18
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/eval/gate.py +5 -8
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/eval/judge.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/mcp_server/registry.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/audio.yaml +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/bco.yaml +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/chat.yaml +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/code.yaml +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/embedding.yaml +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/eu-ai-act.yaml +2 -2
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/ipo.yaml +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/kto.yaml +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/longcontext.yaml +2 -2
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/medical.yaml +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/moe.yaml +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/orpo.yaml +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/pretrain.yaml +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/reasoning.yaml +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/rlhf.yaml +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/simpo.yaml +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/tool-calling.yaml +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/vision.yaml +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/mlx_dpo.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/mlx_grpo.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/mlx_sft.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/online_dpo.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/sft.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/apple_adapter.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/compile_tools.py +2 -2
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/data_doctor.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/data_lint.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/delinearize_llama4.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/diagnose/_common.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/errors.py +7 -7
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/grpo_long_context.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/liger.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/mii.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/prompt_compile.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/prune_prompt.py +1 -1
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_part_a_wave1.py +19 -13
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07136.py +7 -2
- soup_cli-0.71.37/tests/test_v07137.py +139 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/.dockerignore +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/.github/FUNDING.yml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/.github/pull_request_template.md +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/.github/workflows/ci.yml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/.github/workflows/docker.yml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/.github/workflows/publish.yml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/.github/workflows/recipe-validation.yml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/.gitignore +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/.mailmap +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/.pre-commit-config.yaml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/AGENTS.md +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/CODEOWNERS +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/CODE_OF_CONDUCT.md +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/Dockerfile +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/LICENSE +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/NOTICE +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/SECURITY.md +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/docker-compose.yml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/docs/README.md +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/docs/adapters-and-governance.md +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/docs/compliance.md +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/docs/peft-and-efficiency.md +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/examples/configs/dpo_chat.yaml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/examples/configs/grpo_reasoning.yaml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/examples/configs/rlhf_step1_sft.yaml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/examples/configs/rlhf_step2_reward.yaml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/examples/configs/rlhf_step3_ppo.yaml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/examples/configs/sft_basic.yaml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/examples/configs/vision_llama.yaml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/examples/data/alpaca_tiny.jsonl +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/examples/data/chat_preferences.jsonl +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/examples/data/dpo_sample.jsonl +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/examples/data/reasoning_math.jsonl +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/examples/reward_hacking/rewards.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/examples/synthetic_workflow.md +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/examples/synthetic_workflow.yaml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/soup.png +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/soup_logo_svg.svg +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/__main__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/autopilot/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/autopilot/analyzer.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/autopilot/decisions.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/autopilot/generate_config.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/cans/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/cans/pack.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/cans/publish.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/cans/run.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/cans/schema.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/cans/unpack.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/cans/verify.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/cli.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/cloud/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/_eval_v0550.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/_eval_v0610.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/_eval_v0650.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/_eval_v07110.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/_webhook_cli.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/ab.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/active_sample.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/adapters.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/advise.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/agent.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/airgap.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/apple_adapter.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/attest.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/audit_log.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/autopilot.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/bench.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/bom.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/build.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/can.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/card.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/chat.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/ci.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/compile_tools.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/completions.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/cost.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/data_doctor.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/data_forge.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/data_mix.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/data_score.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/delinearize_llama4.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/deploy.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/diagnose.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/diff.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/distill_prompt.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/doctor.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/draft.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/drift_alarm.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/edit.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/env.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/expect.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/fetch.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/history.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/infer.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/ingest.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/init.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/iterative_dpo.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/license_advisor.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/llama.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/local_rl.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/lock.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/loop.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/merge.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/migrate.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/monitor.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/plan.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/plugins.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/probe.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/profile.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/prune_prompt.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/push.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/quantize.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/quickstart.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/ra_dit.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/recipes.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/registry.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/runs.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/ship.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/shrink.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/spectrum.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/steer.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/sweep.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/tokenizer.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/tunability.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/commands/why.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/config/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/config/loader.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/_fixtures/alpaca_tiny.jsonl +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/_fixtures/behavior/elephant.jsonl +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/_fixtures/behavior/harmbench.jsonl +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/_fixtures/behavior/jailbreakbench.jsonl +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/_fixtures/behavior/syceval.jsonl +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/_fixtures/behavior/xstest.jsonl +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/_fixtures/chat_preferences.jsonl +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/_fixtures/dpo_sample.jsonl +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/_fixtures/reasoning_math.jsonl +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/_fixtures/unlearning/muse_demo.jsonl +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/_fixtures/unlearning/tofu_demo.jsonl +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/_fixtures/unlearning/wmdp_demo.jsonl +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/augment.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/chat_templates.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/collators.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/formats.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/loader.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/loss_mask.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/providers/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/providers/_utils.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/providers/anthropic.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/providers/ollama.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/providers/vllm.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/sft_format.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/templates/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/templates/code.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/templates/conversation.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/templates/preference.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/templates/qa.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/templates/reasoning.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/templates/tool_calling.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/templates/verifiable.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/traces/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/traces/pair_builder.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/traces/parsers.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/traces/quality.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/data/validator.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/envs/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/envs/_common.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/envs/calculator.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/envs/guess_number.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/envs/retrieval_qa.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/eval/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/eval/arena.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/eval/benchmarks_v0_43.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/eval/calibrate.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/eval/checkpoint_intelligence.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/eval/custom.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/eval/forgetting.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/eval/human.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/eval/leaderboard.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/eval/quant_check.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/experiment/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/experiment/tracker.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/mcp_server/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/mcp_server/server.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/migrate/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/migrate/axolotl.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/migrate/common.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/migrate/llamafactory.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/migrate/unsloth.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/monitoring/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/monitoring/callback.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/monitoring/curriculum_callback.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/monitoring/display.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/monitoring/grpo_stability_callback.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/monitoring/hf_push.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/monitoring/plugin_callback.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/monitoring/trace_logger.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/plugins/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/py.typed +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/recipes/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/recipes/catalog.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/registry/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/registry/attach.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/registry/diff.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/registry/hashing.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/registry/store.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/fetch_examples/llama-3.1-8b-lora.yaml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/fetch_examples/qwen2.5-7b-dpo.yaml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/fetch_examples/zero3-cpu-offload.json +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/hipaa.yaml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/manifest.json +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/soc2.yaml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/templates/sr-11-7.yaml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/asr.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/bco.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/bitnet.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/classifier.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/distill.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/dpo.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/embedding.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/grpo.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/ipo.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/kto.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/mlx_routing.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/mole_routing.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/orpo.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/ppo.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/preference.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/pretrain.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/prm.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/raft.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/reward_model.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/rewards.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/simpo.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/tts.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/trainer/unlearn.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/tui_app.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/ui/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/ui/app.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/ui/plugins/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/ui/static/app.js +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/ui/static/index.html +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/ui/static/logo.png +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/ui/static/logo.svg +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/ui/static/style.css +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/_eval_text.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/ab_test.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/activation_offload.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/active_sampler.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/adapter_arithmetic.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/adapter_bisect.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/adapter_branch.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/adapter_diff.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/adapter_fuse.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/adapter_merge.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/adapter_pr.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/adapter_scan.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/adapter_sign.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/advanced_precision.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/advise.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/advise_history.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/agent_forge.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/agent_rollout.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/agent_sandbox.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/airgap_bundle.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/annex_xi.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/anthropic_messages.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/asr_metrics.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/attest.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/audit_log.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/auto_quant.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/backend_detect.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/batch_probe.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/behavior_battery.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/best_of_n.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/bitnet.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/blame.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/block_expansion.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/bom.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/brain_rot.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/brain_rot_lang.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/build_dag.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/canary.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/canary_discovery.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/canary_router.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/capability_suite.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/checklist_dsl.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/checkpoint_trigger.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/ci_workflow.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/citation_faithful.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/classifier.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/cmaes_merge.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/completions.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/constants.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/convergence.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/crash.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/cross_doc_attn.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/curriculum.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/curriculum_dynamic.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/cut_ce.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/data_forge.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/data_mix.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/data_pipeline.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/data_score.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/deepspeed.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/demo_bundles.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/deploy_autopilot.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/deploy_measure.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/diagnose/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/diagnose/badge.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/diagnose/citation.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/diagnose/contamination.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/diagnose/forgetting.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/diagnose/format.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/diagnose/live.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/diagnose/memorization.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/diagnose/mode_collapse.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/diagnose/refusal.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/diagnose/report.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/diagnose/runner.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/distill.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/dpo_variants.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/draft.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/drift_alarm.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/ebft_gdpo.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/echo_trap.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/edit_diff.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/edit_governor.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/edit_kernels.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/embed.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/encoding.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/energy.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/env_lock.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/eval_design.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/eval_gate_hook.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/eval_lock_coverage.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/evolve.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/expectations.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/fetch_examples.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/flash_attn.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/fp8.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/freeze.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/fsdp.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/fsdp_consolidate.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/galore.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/gguf_quant.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/gpu.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/gpu_monitor.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/grace_codebook.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/graceful_save.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/grad_accum.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/gradient_ckpt.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/grpo_variants.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/hardware_fit.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/harm_probe.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/hf.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/hf_space.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/hubs.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/ingest_sources.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/integrations.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/interference.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/interference_live.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/irt.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/iterative_dpo.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/jinja_analyzer.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/kernel_picker.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/knowledge_edit.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/kv_cache.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/launcher.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/license_advisor.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/license_matrix.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/lisa.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/live_eval.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/llama_proxy.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/llama_server_timings.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/local_rl.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/local_rl_scheduler.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/loftq_init.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/log_level.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/long_context.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/longlora.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/loop_budget.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/loop_daemon.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/loop_iteration.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/loop_stages.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/loop_state.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/lr_finder.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/lr_groups.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/magpie.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/metrics.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/minillm.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/mix_proxy.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/mixed_precision.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/mlx.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/mod.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/moe.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/moe_quant.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/mole_routing.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/multipack.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/multipack_sampler.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/multipack_trainer.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/namespace_pin.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/neat_packing.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/ngram_spec.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/nlg_metrics.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/ollama.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/onboarding.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/optimizer_zoo.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/paths.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/peft_builder.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/peft_patches.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/peft_wiring.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/persona_hub.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/pipeline.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/preference_combine.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/prm.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/prm_reward.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/probe_kernel.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/probe_pack.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/profiler.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/profiling.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/profiling_v0_43.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/prompt_distill.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/qat.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/qr_url.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/quality.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/quant_menu.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/ra_dit.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/ra_dit_run.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/raft.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/reasoning_effort.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/reasoning_parser.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/recipe_dag.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/recipe_run.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/registry.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/rehearsal.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/relora.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/replay.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/repro_receipt.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/reward_hack_control.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/reward_hacking.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/ring_attention.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/rl_checkpoint.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/rl_signal_buffer.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/run_cost.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/sae_diff.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/save_formats.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/semdedup.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/server_tools.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/sglang.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/ship_verdict.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/shortcuts.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/shrink.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/signing.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/sleeper_probe.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/soup_lock.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/spec_pairing.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/spectrum_scan.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/spike_recovery.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/sse_train_stream.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/steering.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/strict_safetensors.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/structured_output.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/sweep_config.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/tail_latency.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/terraform_plan.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/tool_outputs.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/topics.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/topology.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/tracing.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/trackers.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/train_event_buffer.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/trainer_plugins.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/trust_remote.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/truth_probe.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/tts.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/tts_codec.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/tunability.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/ui_env.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/uld.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/unlearn_kernels.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/unlearning.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/unlearning_eval.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/unsloth.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/v028_features.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/vector_bank.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/vllm.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/vscode_setup.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/warmup.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/webhooks.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/src/soup_cli/utils/why.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/templates/chat.yaml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/templates/code.yaml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/templates/medical.yaml +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/__init__.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/conftest.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/qa/v053_qa.md +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/qa/v07114_qa.md +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/qa/v0716_qa.md +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_adapters.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_advanced_peft.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_assistant_mask.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_audio.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_auto_tuning.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_autopilot.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_awq_gptq_export.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_batch_probe.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_bco.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_bench.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_brain_rot_multilingual.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_bugfixes.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_build_dag.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_callback.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_cans.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_chat.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_chat_template.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_cli.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_cli_subprocess.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_code_review_critical.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_code_review_deferred.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_code_review_high.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_code_review_medium_low.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_code_review_recurring.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_config.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_cost.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_crash_reporter.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_curriculum.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_data.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_data_augment.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_data_sample.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_data_split.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_data_tools.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_dataset_hub.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_dataset_registry.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_deepspeed.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_deploy_ollama.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_diff.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_display.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_doctor.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_dpo_example.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_dpo_variants.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_embedding.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_errors.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_eval.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_eval_gate.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_eval_platform.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_export.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_formats.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_fp8_recipe.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_freeze_training.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_generate.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_gpu.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_grpo.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_hf_integration.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_infer.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_inference_advanced.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_init.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_ipo.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_jinja_analyzer.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_kto.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_loader.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_log_level.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_loss_watchdog.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_merge.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_migrate.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_mlx_backend.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_moe.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_multi_adapter.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_multi_gpu.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_multipack_config.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_multipack_invariants.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_multipack_sampler.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_neat_packing.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_neftune_rslora.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_onnx_tensorrt_export.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_orpo.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_packing.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_part_a_wave2.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_part_c.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_part_d.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_part_e.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_part_f_hardening.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_peft_methods.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_peft_patches.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_performance.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_pissa_init.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_ppo.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_preference_dispatcher.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_preference_multi.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_preference_multi_runtime.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_pretrain.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_profile.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_profiling.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_progress.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_push.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_qat.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_quality_filter.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_quant_check.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_quant_menu.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_quickstart.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_rank_pattern.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_recipes.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_recipes_v031.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_refusal_multilingual.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_registry.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_relora.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_replay.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_resume.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_review_fixes_v07133.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_rlvr.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_run_cost.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_runs.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_serve.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_server_generate.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_sglang_serve.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_simpo.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_smoke_train.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_speculative_decoding.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_sweep.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_synth_data_pro.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_templates_yaml.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_tensorboard.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_tool_calling.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_trace_to_pref.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_tracker.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_trainer_coverage_v035.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_trainer_init.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_training_intelligence.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_training_speed.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_trust_remote_code.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_tui.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_ui.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_ui_chat.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_ui_config_builder.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_ui_live_monitor.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_ui_metrics.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_unsloth.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0401_part_c.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0401_part_d.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0401_part_e.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0402_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0402_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0403_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0403_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0403_part_c.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0404_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0404_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0405_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0406_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0410_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0410_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0410_part_c.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0420.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0430_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0430_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0430_part_c.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0430_part_d.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0440_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0440_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0440_part_c.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0440_part_d.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0440_review_followups.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0450.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0460_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0460_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0470_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0470_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0480_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0480_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0490.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0500_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0500_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0500_part_c.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0500_part_d.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0500_part_e.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0510.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0520.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0530.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v05310.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v05311.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0531_109.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0531_139.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0531_142.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0531_82.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0532.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0533.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0534.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0535.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0536.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0537.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0538.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0539.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0540.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0550.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0550_followups.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0560.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0570_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0570_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0570_part_c.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0570_part_d.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0580.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0590.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0600_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0600_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0600_part_c.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0600_part_d.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0600_part_e.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0600_part_f.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0610_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0610_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0610_part_c.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0610_part_d.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0610_part_e.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0620_followups.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0620_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0620_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0620_part_c.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0620_part_d.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0620_part_e.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0630_followups.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0630_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0630_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0630_part_c.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0630_part_d.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0630_part_e.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0631_206.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0640_followups.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0640_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0640_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0640_part_c.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0640_part_d.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0640_part_e.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0640_part_f.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0650_followups.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0650_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0650_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0650_part_c.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0650_part_d.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0650_part_e.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0660_cli.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0660_followups.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0660_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0660_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0660_part_c.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0660_part_d.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0660_part_e.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0670_followups.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0670_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0670_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0670_part_c.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0670_part_d.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0670_part_e.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0670_part_f.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0680_followups.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0680_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0680_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0680_part_c.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0680_part_d.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0680_part_e.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0690_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0690_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0690_part_c.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0690_part_d.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0690_part_e.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0700_part_a.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0700_part_b.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0700_part_c.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0700_part_d.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0700_part_e.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0700_part_f.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07110.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07111.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07112.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07113.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07114.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07115.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07116.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07117.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07118.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07119.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0712.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07120.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07121.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07122.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07123.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07124.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07125.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07126.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07127.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07128.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07129.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0713.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07130.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07131.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07132.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07133.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07134.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v07135.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0714.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0715.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0716.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0717.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0718.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_v0719.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_validator.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_vision.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_vllm_serve.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_warmup.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_why.py +0 -0
- {soup_cli-0.71.36 → soup_cli-0.71.37}/tests/test_windows_encoding.py +0 -0
|
@@ -12,6 +12,45 @@ reproducing 70+ versions of notes.
|
|
|
12
12
|
|
|
13
13
|
## [Unreleased]
|
|
14
14
|
|
|
15
|
+
## [0.71.37] - 2026-07-17
|
|
16
|
+
|
|
17
|
+
**Every `pip install soup-cli[extra]` command now works on Windows `cmd.exe`**, and
|
|
18
|
+
eval-gate benchmark tasks run instead of always failing.
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
|
|
22
|
+
- **Install hints are now quoted so they work in every shell.** Soup printed
|
|
23
|
+
`pip install 'soup-cli[ui]'` — bash / zsh / PowerShell syntax. `cmd.exe` has no
|
|
24
|
+
single-quote quoting, so it hands the quotes to pip verbatim and pip refuses:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
ERROR: Invalid requirement: "'soup-cli[train]'": Expected package name at the start of dependency specifier
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Every hint, README command, and docs example now uses `pip install
|
|
31
|
+
"soup-cli[extra]"`, which works in cmd, PowerShell, bash, and zsh alike — the
|
|
32
|
+
same spelling the repo already used for `pip install -e ".[dev]"`. Measured on
|
|
33
|
+
Windows: single quotes fail only on `cmd.exe`; double quotes pass everywhere;
|
|
34
|
+
dropping the quotes passes on Windows but breaks zsh, which globs the bracket.
|
|
35
|
+
|
|
36
|
+
Nothing in Soup can rescue the command after it is typed — pip and the shell
|
|
37
|
+
own it, and Soup is not installed yet when the README command runs — so the
|
|
38
|
+
fix is the spelling we print. A regression test now scans the package and every
|
|
39
|
+
docs code block for the single-quoted form.
|
|
40
|
+
|
|
41
|
+
If you followed an older tutorial and hit `Invalid requirement`, swap the `'`
|
|
42
|
+
for `"`; nothing is wrong with the package.
|
|
43
|
+
|
|
44
|
+
- **Eval-gate `type: benchmark` tasks now actually run.** `eval/gate.py` probed
|
|
45
|
+
for a `forgetting.run_mini_benchmark` helper that never existed, so every
|
|
46
|
+
`type: benchmark` task in a gate suite failed 100% of the time — while
|
|
47
|
+
advising an `[eval]` extras install that could not fix it. The gate now calls
|
|
48
|
+
`ForgettingDetector` directly (the same way `soup ship` already did), and an
|
|
49
|
+
unknown benchmark name fails with the list of valid names. Thanks
|
|
50
|
+
[@Sanjays2402](https://github.com/Sanjays2402)!
|
|
51
|
+
([#315](https://github.com/MakazhanAlpamys/Soup/pull/315), closes
|
|
52
|
+
[#310](https://github.com/MakazhanAlpamys/Soup/issues/310))
|
|
53
|
+
|
|
15
54
|
## [0.71.36] - 2026-07-16
|
|
16
55
|
|
|
17
56
|
**Data Moat II** — a semantic layer over your training data, plus two tools for
|
|
@@ -120,7 +120,7 @@ src/soup_cli/
|
|
|
120
120
|
templates/ - 21 built-in soup.yaml templates (YAML + manifest.json) with load_template loader (v0.39.0, +bco v0.40.0, +4 compliance v0.71.35)
|
|
121
121
|
ui/ - Web UI (FastAPI + HTML/JS SPA)
|
|
122
122
|
|
|
123
|
-
tests/ - Test suite (
|
|
123
|
+
tests/ - Test suite (315 files, 16288 tests)
|
|
124
124
|
examples/ - Real-world config examples and datasets
|
|
125
125
|
```
|
|
126
126
|
|
|
@@ -52,6 +52,8 @@ Listed by first contribution. PR numbers link the work.
|
|
|
52
52
|
- Honor configured vocab expansion in the ORPO / SimPO / GRPO trainers ([#295](https://github.com/MakazhanAlpamys/Soup/pull/295))
|
|
53
53
|
- **Ekaanksh Patil** ([@Ekaanksh-dev](https://github.com/Ekaanksh-dev))
|
|
54
54
|
- Batch the PRM reward forward pass in `PRMScorer.__call__` (single `[B, T]` forward) ([#301](https://github.com/MakazhanAlpamys/Soup/pull/301))
|
|
55
|
+
- **Sanjay Santhanam** ([@Sanjays2402](https://github.com/Sanjays2402))
|
|
56
|
+
- Run built-in benchmark gate tasks through `ForgettingDetector` — every `type: benchmark` eval-gate task had always failed ([#315](https://github.com/MakazhanAlpamys/Soup/pull/315))
|
|
55
57
|
|
|
56
58
|
---
|
|
57
59
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: soup-cli
|
|
3
|
-
Version: 0.71.
|
|
3
|
+
Version: 0.71.37
|
|
4
4
|
Summary: Fine-tune and post-train LLMs in one command. No SSH, no config hell.
|
|
5
5
|
Project-URL: Homepage, https://github.com/MakazhanAlpamys/Soup
|
|
6
6
|
Project-URL: Repository, https://github.com/MakazhanAlpamys/Soup
|
|
@@ -176,7 +176,7 @@ Description-Content-Type: text/markdown
|
|
|
176
176
|
Soup turns the pain of LLM fine-tuning into a simple workflow. One config, one command, done.
|
|
177
177
|
|
|
178
178
|
```bash
|
|
179
|
-
pip install
|
|
179
|
+
pip install "soup-cli[train]" # add [train] to fine-tune; bare `soup-cli` is the light CLI
|
|
180
180
|
soup init --template chat
|
|
181
181
|
soup train
|
|
182
182
|
```
|
|
@@ -212,7 +212,7 @@ infrastructure instead of improving models. Soup fixes that.
|
|
|
212
212
|
separates them. The default is deliberately conservative; see the CHANGELOG.
|
|
213
213
|
- **Two blocking bugs fixed:** the hardware-fit gate **refused to train any model you merged
|
|
214
214
|
yourself** (a local checkpoint's name has no size marker, so it guessed 7B and predicted
|
|
215
|
-
16 GB), and every `pip install
|
|
215
|
+
16 GB), and every `pip install "soup-cli[extra]"` hint printed **without the extra** —
|
|
216
216
|
17 sites where the suggested command succeeds and leaves the feature still broken.
|
|
217
217
|
|
|
218
218
|
```bash
|
|
@@ -248,11 +248,38 @@ Full history: [CHANGELOG.md](CHANGELOG.md) · [GitHub Releases](https://gi
|
|
|
248
248
|
### 1. Install
|
|
249
249
|
|
|
250
250
|
```bash
|
|
251
|
-
|
|
252
|
-
pip install
|
|
253
|
-
|
|
251
|
+
# Light core: CLI + config + data tools, no PyTorch
|
|
252
|
+
pip install soup-cli
|
|
253
|
+
|
|
254
|
+
# Add the training stack (torch, transformers, peft, trl, datasets, …)
|
|
255
|
+
pip install "soup-cli[train]"
|
|
256
|
+
|
|
257
|
+
# Everything (train + serve + ui + data) in one shot
|
|
258
|
+
pip install "soup-cli[all]"
|
|
259
|
+
|
|
260
|
+
# Or from GitHub (latest dev)
|
|
261
|
+
pip install git+https://github.com/MakazhanAlpamys/Soup.git
|
|
254
262
|
```
|
|
255
263
|
|
|
264
|
+
The full extras table (`fast`, `mlx`, `serve`, `eval`, `ui`, `vision`, `audio`, …) lives in
|
|
265
|
+
[`docs/models.md`](docs/models.md#optional-extras).
|
|
266
|
+
|
|
267
|
+
> **Use double quotes around the extra.** They are the only spelling that works in
|
|
268
|
+
> every shell — `cmd.exe`, PowerShell, bash, and zsh.
|
|
269
|
+
>
|
|
270
|
+
> Older tutorials and videos (including some of ours) show the single-quoted
|
|
271
|
+
> `pip install 'soup-cli[train]'`. That is bash / zsh / PowerShell syntax, and it
|
|
272
|
+
> fails on Windows `cmd.exe`, which has no single-quote quoting and hands the
|
|
273
|
+
> quotes straight to pip:
|
|
274
|
+
>
|
|
275
|
+
> ```
|
|
276
|
+
> ERROR: Invalid requirement: "'soup-cli[train]'": Expected package name at the start of dependency specifier
|
|
277
|
+
> ```
|
|
278
|
+
>
|
|
279
|
+
> If you hit that, swap the `'` for `"` — pip is rejecting a literal quote
|
|
280
|
+
> character, nothing is wrong with the package. (Dropping the quotes entirely
|
|
281
|
+
> works on Windows too, but zsh then reads `[train]` as a glob and fails.)
|
|
282
|
+
|
|
256
283
|
`soup init`, `soup data …`, and the other data/inspection commands work on the light install.
|
|
257
284
|
Fine-tuning (`soup train`) needs the `[train]` extra.
|
|
258
285
|
|
|
@@ -287,7 +314,7 @@ A complete `soup.yaml`:
|
|
|
287
314
|
```yaml
|
|
288
315
|
base: meta-llama/Llama-3.1-8B-Instruct
|
|
289
316
|
task: sft
|
|
290
|
-
# backend: unsloth # 2-5x faster, pip install
|
|
317
|
+
# backend: unsloth # 2-5x faster, pip install "soup-cli[fast]"
|
|
291
318
|
|
|
292
319
|
data:
|
|
293
320
|
train: ./data/train.jsonl
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
Soup turns the pain of LLM fine-tuning into a simple workflow. One config, one command, done.
|
|
33
33
|
|
|
34
34
|
```bash
|
|
35
|
-
pip install
|
|
35
|
+
pip install "soup-cli[train]" # add [train] to fine-tune; bare `soup-cli` is the light CLI
|
|
36
36
|
soup init --template chat
|
|
37
37
|
soup train
|
|
38
38
|
```
|
|
@@ -68,7 +68,7 @@ infrastructure instead of improving models. Soup fixes that.
|
|
|
68
68
|
separates them. The default is deliberately conservative; see the CHANGELOG.
|
|
69
69
|
- **Two blocking bugs fixed:** the hardware-fit gate **refused to train any model you merged
|
|
70
70
|
yourself** (a local checkpoint's name has no size marker, so it guessed 7B and predicted
|
|
71
|
-
16 GB), and every `pip install
|
|
71
|
+
16 GB), and every `pip install "soup-cli[extra]"` hint printed **without the extra** —
|
|
72
72
|
17 sites where the suggested command succeeds and leaves the feature still broken.
|
|
73
73
|
|
|
74
74
|
```bash
|
|
@@ -104,11 +104,38 @@ Full history: [CHANGELOG.md](CHANGELOG.md) · [GitHub Releases](https://gi
|
|
|
104
104
|
### 1. Install
|
|
105
105
|
|
|
106
106
|
```bash
|
|
107
|
-
|
|
108
|
-
pip install
|
|
109
|
-
|
|
107
|
+
# Light core: CLI + config + data tools, no PyTorch
|
|
108
|
+
pip install soup-cli
|
|
109
|
+
|
|
110
|
+
# Add the training stack (torch, transformers, peft, trl, datasets, …)
|
|
111
|
+
pip install "soup-cli[train]"
|
|
112
|
+
|
|
113
|
+
# Everything (train + serve + ui + data) in one shot
|
|
114
|
+
pip install "soup-cli[all]"
|
|
115
|
+
|
|
116
|
+
# Or from GitHub (latest dev)
|
|
117
|
+
pip install git+https://github.com/MakazhanAlpamys/Soup.git
|
|
110
118
|
```
|
|
111
119
|
|
|
120
|
+
The full extras table (`fast`, `mlx`, `serve`, `eval`, `ui`, `vision`, `audio`, …) lives in
|
|
121
|
+
[`docs/models.md`](docs/models.md#optional-extras).
|
|
122
|
+
|
|
123
|
+
> **Use double quotes around the extra.** They are the only spelling that works in
|
|
124
|
+
> every shell — `cmd.exe`, PowerShell, bash, and zsh.
|
|
125
|
+
>
|
|
126
|
+
> Older tutorials and videos (including some of ours) show the single-quoted
|
|
127
|
+
> `pip install 'soup-cli[train]'`. That is bash / zsh / PowerShell syntax, and it
|
|
128
|
+
> fails on Windows `cmd.exe`, which has no single-quote quoting and hands the
|
|
129
|
+
> quotes straight to pip:
|
|
130
|
+
>
|
|
131
|
+
> ```
|
|
132
|
+
> ERROR: Invalid requirement: "'soup-cli[train]'": Expected package name at the start of dependency specifier
|
|
133
|
+
> ```
|
|
134
|
+
>
|
|
135
|
+
> If you hit that, swap the `'` for `"` — pip is rejecting a literal quote
|
|
136
|
+
> character, nothing is wrong with the package. (Dropping the quotes entirely
|
|
137
|
+
> works on Windows too, but zsh then reads `[train]` as a glob and fails.)
|
|
138
|
+
|
|
112
139
|
`soup init`, `soup data …`, and the other data/inspection commands work on the light install.
|
|
113
140
|
Fine-tuning (`soup train`) needs the `[train]` extra.
|
|
114
141
|
|
|
@@ -143,7 +170,7 @@ A complete `soup.yaml`:
|
|
|
143
170
|
```yaml
|
|
144
171
|
base: meta-llama/Llama-3.1-8B-Instruct
|
|
145
172
|
task: sft
|
|
146
|
-
# backend: unsloth # 2-5x faster, pip install
|
|
173
|
+
# backend: unsloth # 2-5x faster, pip install "soup-cli[fast]"
|
|
147
174
|
|
|
148
175
|
data:
|
|
149
176
|
train: ./data/train.jsonl
|
|
@@ -79,7 +79,7 @@ Fine-tune on M1-M4 Macs via Apple's [MLX](https://github.com/ml-explore/mlx) fra
|
|
|
79
79
|
|
|
80
80
|
```bash
|
|
81
81
|
# Install MLX support
|
|
82
|
-
pip install
|
|
82
|
+
pip install "soup-cli[mlx]"
|
|
83
83
|
```
|
|
84
84
|
|
|
85
85
|
```yaml
|
|
@@ -108,7 +108,7 @@ Use the [Unsloth](https://github.com/unslothai/unsloth) backend for significantl
|
|
|
108
108
|
|
|
109
109
|
```bash
|
|
110
110
|
# Install unsloth support
|
|
111
|
-
pip install
|
|
111
|
+
pip install "soup-cli[fast]"
|
|
112
112
|
```
|
|
113
113
|
|
|
114
114
|
Then add one line to your config:
|
|
@@ -143,7 +143,7 @@ app from your `soup.yaml` for serverless, per-second-billed GPU training. The co
|
|
|
143
143
|
base64-embedded as **data** — no code interpolation, no secrets in the generated stub.
|
|
144
144
|
|
|
145
145
|
```bash
|
|
146
|
-
pip install
|
|
146
|
+
pip install "soup-cli[modal]" # only needed for live submit
|
|
147
147
|
|
|
148
148
|
# Plan-only (default): write the stub + print the `modal run` command.
|
|
149
149
|
soup train --config soup.yaml --cloud modal --gpu a100
|
|
@@ -585,7 +585,7 @@ Full-screen Textual dashboard. Two-pane: run list (left) + selected-run detail
|
|
|
585
585
|
(right). `r` refreshes, `q` quits.
|
|
586
586
|
|
|
587
587
|
```bash
|
|
588
|
-
pip install
|
|
588
|
+
pip install "soup-cli[tui]"
|
|
589
589
|
soup tui --refresh 1.0 --limit 50
|
|
590
590
|
```
|
|
591
591
|
|
|
@@ -255,9 +255,9 @@ soup adapters bisect <ckpt>... --eval-command "..." Binary search over training
|
|
|
255
255
|
soup lock write --base-sha <h> --dataset-sha <h> --env-hash <h> Write soup.lock (v0.67.0)
|
|
256
256
|
soup lock write --base-sha <h> --dataset-sha <h> --env-lock soup-env.lock Auto-derive --env-hash from soup-env.lock (v0.71.1)
|
|
257
257
|
soup lock show / soup lock check Show + drift-check (exit 3 on drift)
|
|
258
|
-
soup compile <program.py> --eval <suite> [--optimizer mipro|gepa|textgrad|copro|bootstrap_fewshot] [--plan-only] DSPy / GEPA / TextGrad prompt-program compiler — live (v0.71.13; pip install
|
|
258
|
+
soup compile <program.py> --eval <suite> [--optimizer mipro|gepa|textgrad|copro|bootstrap_fewshot] [--plan-only] DSPy / GEPA / TextGrad prompt-program compiler — live (v0.71.13; pip install "soup-cli[compile]")
|
|
259
259
|
soup distill-prompt --traces <jsonl> --teacher <m> --student <m> --strategy sft|preference|kl [--provider ollama|anthropic|vllm] [--base-url <url>] [--temperature F] [--max-rows N] Distill prompt-heavy traces via a live teacher (v0.71.13)
|
|
260
|
-
soup compile-tools <spec.json|yaml> --eval <jsonl> [--optimizer textgrad|gepa] [--plan-only] TextGrad / GEPA tool-schema optimiser — live (v0.71.13; pip install
|
|
260
|
+
soup compile-tools <spec.json|yaml> --eval <jsonl> [--optimizer textgrad|gepa] [--plan-only] TextGrad / GEPA tool-schema optimiser — live (v0.71.13; pip install "soup-cli[compile]")
|
|
261
261
|
soup apple-adapter <source-dir> --direction hf-to-mlx|mlx-to-hf|hf-to-apple|mlx-to-apple --output <dir> [--sign] [--plan-only] PEFT LoRA <-> mlx-lm adapter conversion — live (v0.71.21; *-to-apple upstream-gated exit 3)
|
|
262
262
|
soup local-rl init --db <path> Create personal-LLM flywheel SQLite schema (v0.68.0)
|
|
263
263
|
soup local-rl status --db <path> Print interactions / thumbs-up / thumbs-down counters
|
|
@@ -299,7 +299,7 @@ server over **stdio**, so any MCP client — Claude Code, Cursor, Cline, Continu
|
|
|
299
299
|
can drive Soup conversationally. Install the extra first:
|
|
300
300
|
|
|
301
301
|
```bash
|
|
302
|
-
pip install
|
|
302
|
+
pip install "soup-cli[mcp]"
|
|
303
303
|
```
|
|
304
304
|
|
|
305
305
|
Register it with your client. For **Claude Code** (`.mcp.json` in the repo) or
|
|
@@ -337,7 +337,7 @@ soup data generate --prompt "..." --validate
|
|
|
337
337
|
# Auto-filter by quality (coherence scoring)
|
|
338
338
|
soup data generate --prompt "..." --filter
|
|
339
339
|
|
|
340
|
-
# Auto-dedup (MinHash, requires: pip install
|
|
340
|
+
# Auto-dedup (MinHash, requires: pip install "soup-cli[data]")
|
|
341
341
|
soup data generate --prompt "..." --dedup
|
|
342
342
|
|
|
343
343
|
# Full quality pipeline: validate + filter + dedup
|
|
@@ -591,7 +591,7 @@ soup data convert ./data/train.jsonl --to sharegpt --output converted.jsonl
|
|
|
591
591
|
# Merge multiple datasets
|
|
592
592
|
soup data merge data1.jsonl data2.jsonl --output merged.jsonl --shuffle
|
|
593
593
|
|
|
594
|
-
# Remove near-duplicates (requires: pip install
|
|
594
|
+
# Remove near-duplicates (requires: pip install "soup-cli[data]")
|
|
595
595
|
soup data dedup ./data/train.jsonl --threshold 0.8
|
|
596
596
|
|
|
597
597
|
# Extended statistics (length distribution, token counts, languages)
|
|
@@ -814,7 +814,7 @@ Five checks: `length_bias` — the **#1 silent DPO degradation**: `chosen`
|
|
|
814
814
|
systematically longer than `rejected`, reported as a Cohen's d effect size —
|
|
815
815
|
`label_imbalance` (KTO desirable:undesirable ratio), `near_duplicates`
|
|
816
816
|
(MinHash/LSH, reuses the `soup data dedup` kernel; requires
|
|
817
|
-
`pip install
|
|
817
|
+
`pip install "soup-cli[data]"`, degrades to an advisory skip otherwise),
|
|
818
818
|
`identical_pairs` (`chosen == rejected` — zero preference signal), and
|
|
819
819
|
`prompt_leak` (the prompt echoed verbatim inside the completion, a common
|
|
820
820
|
synthetic-data pipeline bug). Same OK/MINOR/MAJOR taxonomy and exit codes as
|
|
@@ -432,7 +432,7 @@ Full-featured evaluation platform with standard benchmarks, custom evals, LLM-as
|
|
|
432
432
|
|
|
433
433
|
```bash
|
|
434
434
|
# Install eval dependencies
|
|
435
|
-
pip install
|
|
435
|
+
pip install "soup-cli[eval]"
|
|
436
436
|
|
|
437
437
|
# Standard benchmarks (wraps lm-evaluation-harness)
|
|
438
438
|
soup eval benchmark --model ./output --benchmarks mmlu,gsm8k,hellaswag
|
|
@@ -70,29 +70,29 @@ no PyTorch. Add `[train]` to fine-tune, or install other extras only when you ne
|
|
|
70
70
|
|
|
71
71
|
| Extra | Install | What it adds |
|
|
72
72
|
|---|---|---|
|
|
73
|
-
| `train` | `pip install
|
|
74
|
-
| `all` | `pip install
|
|
75
|
-
| `fast` | `pip install
|
|
76
|
-
| `vision` | `pip install
|
|
77
|
-
| `audio` | `pip install
|
|
78
|
-
| `mlx` | `pip install
|
|
79
|
-
| `qat` | `pip install
|
|
80
|
-
| `serve` | `pip install
|
|
81
|
-
| `serve-fast` | `pip install
|
|
82
|
-
| `sglang` | `pip install
|
|
83
|
-
| `ui` | `pip install
|
|
84
|
-
| `tui` | `pip install
|
|
85
|
-
| `eval` | `pip install
|
|
86
|
-
| `data` | `pip install
|
|
87
|
-
| `data-pro` | `pip install
|
|
88
|
-
| `deepspeed` | `pip install
|
|
89
|
-
| `liger` | `pip install
|
|
90
|
-
| `ring-attn` | `pip install
|
|
91
|
-
| `onnx` / `tensorrt` | `pip install
|
|
92
|
-
| `awq` / `gptq` | `pip install
|
|
93
|
-
| `trackers` | `pip install
|
|
94
|
-
| `remote` | `pip install
|
|
95
|
-
| `dev` | `pip install
|
|
73
|
+
| `train` | `pip install "soup-cli[train]"` | Training stack: torch, transformers, peft, trl, datasets, bitsandbytes, accelerate |
|
|
74
|
+
| `all` | `pip install "soup-cli[all]"` | `train` + `serve` + `ui` + `data` in one shot |
|
|
75
|
+
| `fast` | `pip install "soup-cli[fast]"` | Unsloth backend (2-5x faster, lower VRAM) |
|
|
76
|
+
| `vision` | `pip install "soup-cli[vision]"` | Vision / multimodal fine-tuning (Pillow) |
|
|
77
|
+
| `audio` | `pip install "soup-cli[audio]"` | Audio / speech fine-tuning (librosa, soundfile) |
|
|
78
|
+
| `mlx` | `pip install "soup-cli[mlx]"` | Apple Silicon backend (mlx, mlx-lm) |
|
|
79
|
+
| `qat` | `pip install "soup-cli[qat]"` | Quantization-Aware Training (torchao) |
|
|
80
|
+
| `serve` | `pip install "soup-cli[serve]"` | Inference server (FastAPI + uvicorn) |
|
|
81
|
+
| `serve-fast` | `pip install "soup-cli[serve-fast]"` | vLLM inference backend (2-4x throughput) |
|
|
82
|
+
| `sglang` | `pip install "soup-cli[sglang]"` | SGLang inference backend |
|
|
83
|
+
| `ui` | `pip install "soup-cli[ui]"` | Web UI + inference server |
|
|
84
|
+
| `tui` | `pip install "soup-cli[tui]"` | Full-screen Textual dashboard (`soup tui`) |
|
|
85
|
+
| `eval` | `pip install "soup-cli[eval]"` | Benchmark evaluation (lm-evaluation-harness) |
|
|
86
|
+
| `data` | `pip install "soup-cli[data]"` | Deduplication (MinHash via datasketch) |
|
|
87
|
+
| `data-pro` | `pip install "soup-cli[data-pro]"` | Language detection + PII (langdetect, presidio) |
|
|
88
|
+
| `deepspeed` | `pip install "soup-cli[deepspeed]"` | Multi-GPU training (DeepSpeed ZeRO) |
|
|
89
|
+
| `liger` | `pip install "soup-cli[liger]"` | Liger Kernel fused ops |
|
|
90
|
+
| `ring-attn` | `pip install "soup-cli[ring-attn]"` | Ring FlashAttention (sequence parallelism) |
|
|
91
|
+
| `onnx` / `tensorrt` | `pip install "soup-cli[onnx]"` | ONNX / TensorRT-LLM export |
|
|
92
|
+
| `awq` / `gptq` | `pip install "soup-cli[awq]"` | AWQ / GPTQ quantized export |
|
|
93
|
+
| `trackers` | `pip install "soup-cli[trackers]"` | MLflow / SwanLab / Trackio logging |
|
|
94
|
+
| `remote` | `pip install "soup-cli[remote]"` | Remote datasets (s3 / gs / az / oci) |
|
|
95
|
+
| `dev` | `pip install "soup-cli[dev]"` | Tests + lint + types (pytest, ruff, mypy, pre-commit) |
|
|
96
96
|
|
|
97
97
|
The complete, authoritative extras list is in [`pyproject.toml`](../pyproject.toml).
|
|
98
98
|
|
|
@@ -36,7 +36,7 @@ Train with simulated quantization for significantly better post-quantization qua
|
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
38
|
# Install QAT support
|
|
39
|
-
pip install
|
|
39
|
+
pip install "soup-cli[qat]"
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
```yaml
|
|
@@ -71,7 +71,7 @@ QAT works with all training tasks (SFT, DPO, GRPO, PPO, KTO, ORPO, SimPO, IPO, P
|
|
|
71
71
|
For H100 / H200 / B100 / B200 GPUs, train with float8 matmuls for ~2x speedup vs bf16 at comparable quality. This extends QAT infrastructure via `torchao.float8`:
|
|
72
72
|
|
|
73
73
|
```bash
|
|
74
|
-
pip install
|
|
74
|
+
pip install "soup-cli[qat]" # torchao >= 0.5.0 includes torchao.float8
|
|
75
75
|
```
|
|
76
76
|
|
|
77
77
|
```yaml
|
|
@@ -106,7 +106,7 @@ Bool `true` stays on the int8 QAT path for backward compatibility. FP8 requires
|
|
|
106
106
|
Models with 128k+ vocabularies (Llama 3.1, Qwen2) materialise a huge `(batch, seq, vocab)` logits tensor that dominates VRAM. Cut Cross-Entropy computes the loss in chunks instead:
|
|
107
107
|
|
|
108
108
|
```bash
|
|
109
|
-
pip install
|
|
109
|
+
pip install "soup-cli[cce]" # or: pip install cut-cross-entropy
|
|
110
110
|
```
|
|
111
111
|
|
|
112
112
|
```yaml
|
|
@@ -368,9 +368,9 @@ data:
|
|
|
368
368
|
Install optional performance packages:
|
|
369
369
|
|
|
370
370
|
```bash
|
|
371
|
-
pip install
|
|
371
|
+
pip install "soup-cli[liger]" # Liger Kernel fused operations
|
|
372
372
|
pip install flash-attn --no-build-isolation # FlashAttention
|
|
373
|
-
pip install
|
|
373
|
+
pip install "soup-cli[ring-attn]" # Ring FlashAttention (sequence parallelism)
|
|
374
374
|
```
|
|
375
375
|
|
|
376
376
|
|
|
@@ -97,7 +97,7 @@ Linux/macOS need only a C++ toolchain + CMake. CUDA llama.cpp builds are unteste
|
|
|
97
97
|
Export models to ONNX format for use with [ONNX Runtime](https://onnxruntime.ai/):
|
|
98
98
|
|
|
99
99
|
```bash
|
|
100
|
-
pip install
|
|
100
|
+
pip install "soup-cli[onnx]"
|
|
101
101
|
soup export --model ./output --format onnx
|
|
102
102
|
soup export --model ./output --format onnx --output ./model_onnx
|
|
103
103
|
```
|
|
@@ -107,7 +107,7 @@ soup export --model ./output --format onnx --output ./model_onnx
|
|
|
107
107
|
Export models to TensorRT-LLM format for high-throughput GPU inference:
|
|
108
108
|
|
|
109
109
|
```bash
|
|
110
|
-
pip install
|
|
110
|
+
pip install "soup-cli[tensorrt]"
|
|
111
111
|
soup export --model ./output --format tensorrt
|
|
112
112
|
soup export --model ./output --format tensorrt --output ./model_trt
|
|
113
113
|
```
|
|
@@ -212,7 +212,7 @@ Start a local OpenAI-compatible inference server:
|
|
|
212
212
|
|
|
213
213
|
```bash
|
|
214
214
|
# Install server dependencies
|
|
215
|
-
pip install
|
|
215
|
+
pip install "soup-cli[serve]"
|
|
216
216
|
|
|
217
217
|
# Start server
|
|
218
218
|
soup serve --model ./output --port 8000
|
|
@@ -253,7 +253,7 @@ Use [vLLM](https://github.com/vllm-project/vllm) for significantly better throug
|
|
|
253
253
|
|
|
254
254
|
```bash
|
|
255
255
|
# Install vLLM support
|
|
256
|
-
pip install
|
|
256
|
+
pip install "soup-cli[serve-fast]"
|
|
257
257
|
|
|
258
258
|
# Start with vLLM backend
|
|
259
259
|
soup serve --model ./output --backend vllm
|
|
@@ -273,7 +273,7 @@ Use [SGLang](https://github.com/sgl-project/sglang) as an alternative high-throu
|
|
|
273
273
|
|
|
274
274
|
```bash
|
|
275
275
|
# Install SGLang support
|
|
276
|
-
pip install
|
|
276
|
+
pip install "soup-cli[sglang]"
|
|
277
277
|
|
|
278
278
|
# Start with SGLang backend
|
|
279
279
|
soup serve --model ./output --backend sglang
|
|
@@ -482,7 +482,7 @@ The OTLP endpoint is SSRF-hardened: only http/https schemes, plain HTTP only for
|
|
|
482
482
|
Launch a local web interface to manage experiments, start training, explore data, and chat with models — all from your browser.
|
|
483
483
|
|
|
484
484
|
```bash
|
|
485
|
-
pip install
|
|
485
|
+
pip install "soup-cli[ui]"
|
|
486
486
|
soup ui
|
|
487
487
|
# -> opens http://127.0.0.1:7860 in your browser
|
|
488
488
|
# -> prints auth token to console
|
|
@@ -531,7 +531,7 @@ Fine-tune vision-language models (LLaMA-3.2-Vision, Qwen2-VL, Pixtral) on image+
|
|
|
531
531
|
|
|
532
532
|
```bash
|
|
533
533
|
# Install vision support
|
|
534
|
-
pip install
|
|
534
|
+
pip install "soup-cli[vision]"
|
|
535
535
|
|
|
536
536
|
# Create a vision config
|
|
537
537
|
soup init --template vision
|
|
@@ -581,7 +581,7 @@ Fine-tune audio-language models (Qwen2-Audio, Whisper) on audio+text data:
|
|
|
581
581
|
|
|
582
582
|
```bash
|
|
583
583
|
# Install audio support
|
|
584
|
-
pip install
|
|
584
|
+
pip install "soup-cli[audio]"
|
|
585
585
|
|
|
586
586
|
# Create an audio config
|
|
587
587
|
soup init --template audio
|
|
@@ -137,7 +137,7 @@ soup train
|
|
|
137
137
|
- Uses RoPE scaling (dynamic) to extend context to 128k tokens
|
|
138
138
|
- Enables gradient checkpointing and FlashAttention for memory efficiency
|
|
139
139
|
- Supports `linear`, `dynamic`, `yarn`, `longrope` scaling types
|
|
140
|
-
- Optional Liger Kernel for fused ops: `pip install
|
|
140
|
+
- Optional Liger Kernel for fused ops: `pip install "soup-cli[liger]"`
|
|
141
141
|
|
|
142
142
|
### 9. Embedding Model Fine-Tuning
|
|
143
143
|
|
|
@@ -159,7 +159,7 @@ soup train
|
|
|
159
159
|
Fine-tune audio-language models (Qwen2-Audio, Whisper):
|
|
160
160
|
|
|
161
161
|
```bash
|
|
162
|
-
pip install
|
|
162
|
+
pip install "soup-cli[audio]"
|
|
163
163
|
soup init --template audio
|
|
164
164
|
soup train
|
|
165
165
|
```
|
|
@@ -301,7 +301,7 @@ quantization: int8 # Reduces memory by 4x
|
|
|
301
301
|
Unsloth is 2-5x faster training:
|
|
302
302
|
|
|
303
303
|
```bash
|
|
304
|
-
pip install
|
|
304
|
+
pip install "soup-cli[fast]"
|
|
305
305
|
```
|
|
306
306
|
|
|
307
307
|
Then in your config:
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
base: meta-llama/Llama-3.1-8B-Instruct
|
|
9
9
|
task: dpo
|
|
10
|
-
# backend: unsloth # 2-5x faster, pip install
|
|
10
|
+
# backend: unsloth # 2-5x faster, pip install "soup-cli[fast]"
|
|
11
11
|
|
|
12
12
|
data:
|
|
13
13
|
train: examples/data/dpo_sample.jsonl
|
|
@@ -32,7 +32,7 @@ training:
|
|
|
32
32
|
# gradient_checkpointing: true # Save memory on long sequences
|
|
33
33
|
# packing: true # Pack short samples for faster training
|
|
34
34
|
# use_flash_attn: true # FlashAttention for faster attention
|
|
35
|
-
# use_liger: true # Liger Kernel fused ops, pip install
|
|
35
|
+
# use_liger: true # Liger Kernel fused ops, pip install "soup-cli[liger]"
|
|
36
36
|
lora:
|
|
37
37
|
r: 16
|
|
38
38
|
alpha: 32
|
|
@@ -280,7 +280,7 @@ def submit_modal_run(plan: CloudPlan, *, env: Optional[Mapping] = None) -> int:
|
|
|
280
280
|
import modal # noqa: F401 — presence check only
|
|
281
281
|
except ImportError as exc:
|
|
282
282
|
raise RuntimeError(
|
|
283
|
-
"Modal SDK not installed. Run `pip install
|
|
283
|
+
"Modal SDK not installed. Run `pip install \"soup-cli[modal]\"`."
|
|
284
284
|
) from exc
|
|
285
285
|
import subprocess
|
|
286
286
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Renders a ``CompilePlan`` panel and, when ``--plan-only`` is omitted, runs
|
|
4
4
|
the live optimizer (v0.71.13 #225). A missing optimizer library surfaces a
|
|
5
|
-
friendly exit-2 advisory naming ``pip install
|
|
5
|
+
friendly exit-2 advisory naming ``pip install "soup-cli[compile]"``.
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
8
|
from __future__ import annotations
|
|
@@ -264,9 +264,11 @@ def _semantic_dedup(
|
|
|
264
264
|
console.print(
|
|
265
265
|
"[red]Semantic dedup needs PyTorch + transformers.[/]\n"
|
|
266
266
|
# \[train] is escaped: Rich would otherwise eat the bracket as a
|
|
267
|
-
# markup tag and print `pip install
|
|
267
|
+
# markup tag and print `pip install "soup-cli"` -- a command that
|
|
268
268
|
# installs the package WITHOUT the extra the user is missing.
|
|
269
|
-
|
|
269
|
+
# Double quotes, not single: cmd.exe cannot strip `'` and pip then
|
|
270
|
+
# rejects the requirement outright.
|
|
271
|
+
"Install with: [bold]pip install \"soup-cli\\[train]\"[/]"
|
|
270
272
|
)
|
|
271
273
|
raise typer.Exit(1)
|
|
272
274
|
except (ValueError, TypeError) as exc:
|
|
@@ -358,7 +360,7 @@ def dedup(
|
|
|
358
360
|
except ImportError:
|
|
359
361
|
console.print(
|
|
360
362
|
"[red]datasketch not installed.[/]\n"
|
|
361
|
-
"Install with: [bold]pip install
|
|
363
|
+
"Install with: [bold]pip install \"soup-cli\\[data]\"[/]"
|
|
362
364
|
)
|
|
363
365
|
raise typer.Exit(1)
|
|
364
366
|
|
|
@@ -191,7 +191,7 @@ def check(
|
|
|
191
191
|
"[red]soup data canary check needs PyTorch + transformers.[/]\n"
|
|
192
192
|
# \[train] escaped: Rich would eat the bracket and print a
|
|
193
193
|
# command that installs WITHOUT the extra.
|
|
194
|
-
"Install with: [bold]pip install
|
|
194
|
+
"Install with: [bold]pip install \"soup-cli\\[train]\"[/]"
|
|
195
195
|
)
|
|
196
196
|
raise typer.Exit(1)
|
|
197
197
|
except (ValueError, OSError, RuntimeError) as exc:
|
|
@@ -117,7 +117,7 @@ def topics(
|
|
|
117
117
|
"[red]soup data topics needs PyTorch + transformers.[/]\n"
|
|
118
118
|
# \[train] escaped: Rich would eat the bracket and print a
|
|
119
119
|
# command that installs WITHOUT the extra.
|
|
120
|
-
"Install with: [bold]pip install
|
|
120
|
+
"Install with: [bold]pip install \"soup-cli\\[train]\"[/]"
|
|
121
121
|
)
|
|
122
122
|
raise typer.Exit(1)
|
|
123
123
|
except (ValueError, TypeError) as exc:
|
|
@@ -108,7 +108,7 @@ def benchmark(
|
|
|
108
108
|
except ImportError:
|
|
109
109
|
console.print(
|
|
110
110
|
"[red]lm-eval not installed.[/]\n"
|
|
111
|
-
"Install with: [bold]pip install
|
|
111
|
+
"Install with: [bold]pip install \"soup-cli\\[eval]\"[/]"
|
|
112
112
|
)
|
|
113
113
|
raise typer.Exit(1)
|
|
114
114
|
|