soup-cli 0.71.31__tar.gz → 0.71.32__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.31 → soup_cli-0.71.32}/CHANGELOG.md +30 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/CONTRIBUTING.md +2 -2
- {soup_cli-0.71.31 → soup_cli-0.71.32}/PKG-INFO +25 -21
- {soup_cli-0.71.31 → soup_cli-0.71.32}/README.md +24 -20
- {soup_cli-0.71.31 → soup_cli-0.71.32}/docs/commands.md +1 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/docs/data.md +7 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/docs/models.md +11 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/docs/training.md +42 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/pyproject.toml +1 -1
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/__init__.py +1 -1
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/infer.py +331 -3
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/train.py +5 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/config/schema.py +81 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/formats.py +28 -3
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/recipes/catalog.py +133 -1
- soup_cli-0.71.32/src/soup_cli/trainer/asr.py +445 -0
- soup_cli-0.71.32/src/soup_cli/utils/asr_metrics.py +164 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/gpu.py +13 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_recipes.py +3 -2
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07124.py +2 -2
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07130.py +2 -2
- soup_cli-0.71.32/tests/test_v07132.py +956 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/.dockerignore +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/.github/FUNDING.yml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/.github/pull_request_template.md +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/.github/workflows/ci.yml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/.github/workflows/docker.yml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/.github/workflows/publish.yml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/.github/workflows/recipe-validation.yml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/.gitignore +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/.mailmap +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/.pre-commit-config.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/AGENTS.md +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/CODEOWNERS +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/CODE_OF_CONDUCT.md +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/CONTRIBUTORS.md +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/Dockerfile +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/LICENSE +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/NOTICE +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/SECURITY.md +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/docker-compose.yml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/docs/README.md +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/docs/adapters-and-governance.md +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/docs/backends-and-ops.md +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/docs/evaluation.md +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/docs/peft-and-efficiency.md +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/docs/performance-and-quantization.md +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/docs/serving-and-export.md +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/examples/README.md +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/examples/configs/dpo_chat.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/examples/configs/dpo_example.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/examples/configs/grpo_reasoning.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/examples/configs/rlhf_step1_sft.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/examples/configs/rlhf_step2_reward.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/examples/configs/rlhf_step3_ppo.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/examples/configs/sft_basic.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/examples/configs/vision_llama.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/examples/data/alpaca_tiny.jsonl +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/examples/data/chat_preferences.jsonl +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/examples/data/dpo_sample.jsonl +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/examples/data/reasoning_math.jsonl +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/examples/reward_hacking/rewards.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/examples/synthetic_workflow.md +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/examples/synthetic_workflow.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/soup.png +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/soup_logo_svg.svg +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/__main__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/autopilot/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/autopilot/analyzer.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/autopilot/decisions.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/autopilot/generate_config.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/cans/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/cans/pack.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/cans/publish.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/cans/run.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/cans/schema.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/cans/unpack.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/cans/verify.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/cli.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/cloud/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/cloud/modal.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/_eval_v0550.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/_eval_v0610.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/_eval_v0650.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/_eval_v07110.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/_webhook_cli.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/ab.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/active_sample.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/adapters.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/advise.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/agent.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/airgap.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/apple_adapter.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/attest.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/audit_log.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/autopilot.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/bench.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/bom.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/build.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/can.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/chat.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/compile_cmd.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/compile_tools.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/completions.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/cost.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/data.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/data_doctor.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/data_forge.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/data_mix.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/data_score.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/delinearize_llama4.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/deploy.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/diagnose.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/diff.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/distill_prompt.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/doctor.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/drift_alarm.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/edit.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/env.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/eval.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/expect.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/export.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/fetch.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/generate.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/history.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/ingest.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/init.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/iterative_dpo.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/license_advisor.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/llama.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/local_rl.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/lock.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/loop.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/mcp.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/merge.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/merge_sharded_fsdp_weights.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/migrate.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/monitor.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/plan.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/plugins.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/probe.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/profile.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/prune_prompt.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/push.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/quantize.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/quickstart.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/ra_dit.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/recipes.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/registry.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/runs.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/serve.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/ship.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/shrink.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/spectrum.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/steer.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/sweep.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/tokenizer.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/tui.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/tunability.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/ui.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/commands/why.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/config/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/config/loader.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/_fixtures/alpaca_tiny.jsonl +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/_fixtures/behavior/elephant.jsonl +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/_fixtures/behavior/harmbench.jsonl +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/_fixtures/behavior/jailbreakbench.jsonl +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/_fixtures/behavior/syceval.jsonl +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/_fixtures/behavior/xstest.jsonl +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/_fixtures/chat_preferences.jsonl +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/_fixtures/dpo_sample.jsonl +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/_fixtures/reasoning_math.jsonl +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/_fixtures/unlearning/muse_demo.jsonl +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/_fixtures/unlearning/tofu_demo.jsonl +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/_fixtures/unlearning/wmdp_demo.jsonl +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/augment.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/chat_templates.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/collators.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/loader.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/loss_mask.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/providers/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/providers/_utils.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/providers/anthropic.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/providers/ollama.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/providers/vllm.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/sft_format.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/templates/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/templates/code.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/templates/conversation.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/templates/preference.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/templates/qa.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/templates/reasoning.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/templates/tool_calling.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/templates/verifiable.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/traces/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/traces/pair_builder.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/traces/parsers.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/traces/quality.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/data/validator.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/envs/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/envs/_common.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/envs/calculator.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/envs/guess_number.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/envs/retrieval_qa.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/eval/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/eval/arena.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/eval/benchmarks_v0_43.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/eval/calibrate.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/eval/checkpoint_intelligence.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/eval/custom.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/eval/forgetting.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/eval/gate.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/eval/human.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/eval/judge.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/eval/leaderboard.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/eval/quant_check.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/experiment/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/experiment/tracker.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/mcp_server/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/mcp_server/registry.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/mcp_server/server.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/migrate/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/migrate/axolotl.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/migrate/common.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/migrate/llamafactory.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/migrate/unsloth.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/monitoring/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/monitoring/callback.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/monitoring/curriculum_callback.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/monitoring/display.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/monitoring/grpo_stability_callback.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/monitoring/hf_push.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/monitoring/plugin_callback.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/monitoring/trace_logger.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/plugins/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/py.typed +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/recipes/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/registry/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/registry/attach.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/registry/diff.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/registry/hashing.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/registry/store.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/audio.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/bco.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/chat.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/code.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/embedding.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/fetch_examples/llama-3.1-8b-lora.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/fetch_examples/qwen2.5-7b-dpo.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/fetch_examples/zero3-cpu-offload.json +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/ipo.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/kto.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/longcontext.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/manifest.json +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/medical.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/moe.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/orpo.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/pretrain.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/reasoning.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/rlhf.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/simpo.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/tool-calling.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/templates/vision.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/bco.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/bitnet.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/classifier.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/distill.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/dpo.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/embedding.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/grpo.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/ipo.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/kto.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/mlx_dpo.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/mlx_grpo.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/mlx_routing.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/mlx_sft.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/mole_routing.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/online_dpo.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/orpo.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/ppo.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/preference.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/pretrain.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/prm.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/raft.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/reward_model.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/rewards.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/sft.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/simpo.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/tts.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/trainer/unlearn.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/tui_app.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/ui/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/ui/app.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/ui/plugins/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/ui/static/app.js +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/ui/static/index.html +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/ui/static/logo.png +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/ui/static/logo.svg +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/ui/static/style.css +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/_eval_text.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/ab_test.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/activation_offload.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/active_sampler.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/adapter_bisect.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/adapter_branch.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/adapter_diff.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/adapter_merge.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/adapter_pr.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/adapter_scan.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/adapter_sign.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/advanced_precision.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/advise.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/advise_history.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/agent_forge.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/agent_rollout.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/agent_sandbox.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/airgap_bundle.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/annex_xi.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/anthropic_messages.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/apple_adapter.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/attest.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/audit_log.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/auto_quant.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/backend_detect.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/batch_probe.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/behavior_battery.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/best_of_n.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/bitnet.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/blame.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/block_expansion.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/bom.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/brain_rot.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/brain_rot_lang.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/build_dag.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/canary_discovery.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/canary_router.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/capability_suite.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/checklist_dsl.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/checkpoint_trigger.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/citation_faithful.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/classifier.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/cmaes_merge.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/compile_tools.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/completions.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/constants.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/convergence.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/crash.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/cross_doc_attn.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/curriculum.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/curriculum_dynamic.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/cut_ce.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/data_doctor.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/data_forge.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/data_lint.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/data_mix.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/data_pipeline.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/data_score.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/deepspeed.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/delinearize_llama4.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/demo_bundles.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/deploy_autopilot.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/deploy_measure.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/diagnose/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/diagnose/_common.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/diagnose/badge.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/diagnose/citation.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/diagnose/contamination.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/diagnose/forgetting.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/diagnose/format.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/diagnose/live.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/diagnose/memorization.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/diagnose/mode_collapse.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/diagnose/refusal.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/diagnose/report.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/diagnose/runner.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/distill.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/dpo_variants.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/drift_alarm.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/ebft_gdpo.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/echo_trap.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/edit_diff.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/edit_governor.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/edit_kernels.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/encoding.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/energy.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/env_lock.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/errors.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/eval_design.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/eval_gate_hook.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/eval_lock_coverage.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/evolve.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/expectations.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/fetch_examples.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/flash_attn.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/fp8.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/freeze.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/fsdp.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/fsdp_consolidate.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/galore.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/gguf_quant.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/gpu_monitor.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/grace_codebook.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/graceful_save.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/grad_accum.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/gradient_ckpt.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/grpo_long_context.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/grpo_variants.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/hardware_fit.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/harm_probe.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/hf.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/hf_space.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/hubs.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/ingest_sources.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/integrations.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/interference.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/interference_live.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/irt.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/iterative_dpo.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/jinja_analyzer.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/kernel_picker.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/knowledge_edit.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/kv_cache.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/launcher.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/license_advisor.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/license_matrix.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/liger.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/live_eval.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/llama_proxy.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/llama_server_timings.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/local_rl.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/local_rl_scheduler.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/loftq_init.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/log_level.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/long_context.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/longlora.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/loop_budget.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/loop_daemon.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/loop_iteration.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/loop_stages.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/loop_state.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/lr_finder.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/lr_groups.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/magpie.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/metrics.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/mii.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/minillm.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/mix_proxy.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/mixed_precision.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/mlx.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/mod.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/moe.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/moe_quant.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/mole_routing.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/multipack.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/multipack_sampler.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/multipack_trainer.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/namespace_pin.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/neat_packing.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/ngram_spec.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/nlg_metrics.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/ollama.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/onboarding.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/optimizer_zoo.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/paths.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/peft_builder.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/peft_patches.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/peft_wiring.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/persona_hub.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/pipeline.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/preference_combine.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/prm.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/prm_reward.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/probe_kernel.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/probe_pack.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/profiler.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/profiling.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/profiling_v0_43.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/prompt_compile.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/prompt_distill.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/prune_prompt.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/qat.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/qr_url.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/quality.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/quant_menu.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/ra_dit.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/ra_dit_run.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/raft.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/reasoning_effort.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/reasoning_parser.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/recipe_dag.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/recipe_run.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/registry.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/relora.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/replay.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/repro_receipt.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/reward_hack_control.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/reward_hacking.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/ring_attention.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/rl_checkpoint.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/rl_signal_buffer.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/run_cost.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/sae_diff.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/save_formats.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/server_tools.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/sglang.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/ship_verdict.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/shortcuts.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/shrink.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/signing.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/sleeper_probe.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/soup_lock.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/spec_pairing.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/spectrum_scan.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/spike_recovery.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/sse_train_stream.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/steering.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/strict_safetensors.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/structured_output.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/sweep_config.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/tail_latency.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/terraform_plan.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/tool_outputs.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/topology.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/tracing.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/trackers.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/train_event_buffer.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/trainer_plugins.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/trust_remote.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/truth_probe.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/tts.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/tts_codec.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/tunability.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/ui_env.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/uld.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/unlearn_kernels.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/unlearning.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/unlearning_eval.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/unsloth.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/v028_features.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/vector_bank.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/vllm.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/vscode_setup.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/warmup.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/webhooks.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/src/soup_cli/utils/why.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/templates/chat.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/templates/code.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/templates/medical.yaml +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/__init__.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/conftest.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/qa/v053_qa.md +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/qa/v07114_qa.md +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/qa/v0716_qa.md +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_adapters.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_advanced_peft.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_assistant_mask.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_audio.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_auto_tuning.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_autopilot.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_awq_gptq_export.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_batch_probe.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_bco.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_bench.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_brain_rot_multilingual.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_bugfixes.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_build_dag.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_callback.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_cans.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_chat.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_chat_template.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_cli.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_cli_subprocess.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_code_review_critical.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_code_review_deferred.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_code_review_high.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_code_review_medium_low.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_code_review_recurring.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_config.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_cost.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_crash_reporter.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_curriculum.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_data.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_data_augment.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_data_sample.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_data_split.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_data_tools.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_dataset_hub.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_dataset_registry.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_deepspeed.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_deploy_ollama.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_diff.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_display.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_doctor.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_dpo_example.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_dpo_variants.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_embedding.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_errors.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_eval.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_eval_gate.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_eval_platform.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_export.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_formats.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_fp8_recipe.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_freeze_training.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_generate.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_gpu.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_grpo.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_hf_integration.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_infer.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_inference_advanced.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_init.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_ipo.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_jinja_analyzer.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_kto.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_loader.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_log_level.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_loss_watchdog.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_merge.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_migrate.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_mlx_backend.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_moe.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_multi_adapter.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_multi_gpu.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_multipack_config.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_multipack_invariants.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_multipack_sampler.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_neat_packing.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_neftune_rslora.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_onnx_tensorrt_export.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_orpo.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_packing.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_part_a_wave1.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_part_a_wave2.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_part_c.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_part_d.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_part_e.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_part_f_hardening.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_peft_methods.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_peft_patches.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_performance.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_pissa_init.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_ppo.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_preference_dispatcher.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_preference_multi.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_preference_multi_runtime.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_pretrain.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_profile.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_profiling.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_progress.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_push.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_qat.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_quality_filter.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_quant_check.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_quant_menu.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_quickstart.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_rank_pattern.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_recipes_v031.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_refusal_multilingual.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_registry.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_relora.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_replay.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_resume.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_rlvr.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_run_cost.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_runs.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_serve.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_server_generate.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_sglang_serve.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_simpo.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_smoke_train.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_speculative_decoding.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_sweep.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_synth_data_pro.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_templates_yaml.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_tensorboard.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_tool_calling.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_trace_to_pref.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_tracker.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_trainer_coverage_v035.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_trainer_init.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_training_intelligence.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_training_speed.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_trust_remote_code.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_tui.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_ui.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_ui_chat.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_ui_config_builder.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_ui_live_monitor.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_ui_metrics.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_unsloth.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0401_part_c.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0401_part_d.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0401_part_e.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0402_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0402_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0403_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0403_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0403_part_c.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0404_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0404_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0405_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0406_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0410_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0410_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0410_part_c.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0420.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0430_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0430_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0430_part_c.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0430_part_d.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0440_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0440_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0440_part_c.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0440_part_d.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0440_review_followups.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0450.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0460_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0460_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0470_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0470_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0480_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0480_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0490.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0500_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0500_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0500_part_c.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0500_part_d.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0500_part_e.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0510.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0520.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0530.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v05310.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v05311.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0531_109.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0531_139.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0531_142.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0531_82.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0532.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0533.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0534.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0535.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0536.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0537.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0538.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0539.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0540.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0550.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0550_followups.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0560.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0570_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0570_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0570_part_c.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0570_part_d.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0580.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0590.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0600_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0600_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0600_part_c.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0600_part_d.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0600_part_e.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0600_part_f.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0610_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0610_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0610_part_c.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0610_part_d.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0610_part_e.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0620_followups.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0620_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0620_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0620_part_c.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0620_part_d.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0620_part_e.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0630_followups.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0630_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0630_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0630_part_c.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0630_part_d.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0630_part_e.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0631_206.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0640_followups.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0640_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0640_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0640_part_c.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0640_part_d.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0640_part_e.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0640_part_f.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0650_followups.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0650_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0650_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0650_part_c.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0650_part_d.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0650_part_e.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0660_cli.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0660_followups.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0660_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0660_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0660_part_c.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0660_part_d.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0660_part_e.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0670_followups.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0670_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0670_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0670_part_c.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0670_part_d.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0670_part_e.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0670_part_f.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0680_followups.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0680_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0680_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0680_part_c.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0680_part_d.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0680_part_e.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0690_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0690_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0690_part_c.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0690_part_d.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0690_part_e.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0700_part_a.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0700_part_b.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0700_part_c.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0700_part_d.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0700_part_e.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0700_part_f.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07110.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07111.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07112.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07113.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07114.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07115.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07116.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07117.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07118.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07119.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0712.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07120.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07121.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07122.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07123.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07125.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07126.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07127.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07128.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07129.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0713.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v07131.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0714.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0715.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0716.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0717.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0718.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_v0719.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_validator.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_vision.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_vllm_serve.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_warmup.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_why.py +0 -0
- {soup_cli-0.71.31 → soup_cli-0.71.32}/tests/test_windows_encoding.py +0 -0
|
@@ -12,6 +12,36 @@ reproducing 70+ versions of notes.
|
|
|
12
12
|
|
|
13
13
|
## [Unreleased]
|
|
14
14
|
|
|
15
|
+
## [0.71.32] - 2026-07-07
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
- **ASR fine-tuning (`task='asr'`, Whisper)** — fine-tune Whisper on your accent
|
|
19
|
+
or domain, locally. whisper-tiny (39M) / base (74M) train on a 4 GB GPU.
|
|
20
|
+
- New `AsrTrainerWrapper` (HF `Seq2SeqTrainer` + `WhisperProcessor`); data rows
|
|
21
|
+
are `{"audio": <path>, "text": <transcript>}` under the new `data.format='asr'`.
|
|
22
|
+
Audio decodes via the hardened `load_audio_mono` (16 kHz mono, soundfile
|
|
23
|
+
pre-probe + `O_NOFOLLOW` + symlink/size guards); transcripts become decoder
|
|
24
|
+
labels (pad → −100, decoder-start token stripped).
|
|
25
|
+
- Optional LoRA on q/v attention projections via `training.asr_lora: true`
|
|
26
|
+
(default full fine-tune); `training.asr_language` / `training.asr_task`
|
|
27
|
+
(`transcribe`|`translate`) set the decoder prefix and are persisted to an
|
|
28
|
+
`asr_generation.json` sidecar so inference restores them.
|
|
29
|
+
- **`soup infer --task asr`** — transcribe an `{"audio": path[, "text": ref]}`
|
|
30
|
+
JSONL; reports per-row and corpus WER/CER when references are present. Loads a
|
|
31
|
+
full model or a PEFT/LoRA adapter dir. Flags: `--asr-language`, `--asr-task`,
|
|
32
|
+
`--audio-dir` (audio paths are cwd/dir-contained; UNC/traversal rejected).
|
|
33
|
+
- New pure-python `utils/asr_metrics.py` — WER / CER / `word_accuracy`
|
|
34
|
+
(= 1 − WER, for a higher-is-better ship metric leg) / `corpus_wer`, with a
|
|
35
|
+
light Whisper-style text normalizer (no new dependency).
|
|
36
|
+
- Recipes: `whisper-tiny-asr`, `whisper-base-asr` (live-trainable),
|
|
37
|
+
`whisper-large-v3-asr` (parse-only, needs a larger GPU), plus
|
|
38
|
+
`smolvlm-256m-sft` (vision). Catalog 138 → 142.
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
- `model_size_from_name` now knows Whisper checkpoint sizes (tiny…large), so the
|
|
42
|
+
hardware-fit gate no longer mistakes a 39M whisper-tiny for the 7B default and
|
|
43
|
+
blocks ASR training on consumer GPUs.
|
|
44
|
+
|
|
15
45
|
## [0.71.31] - 2026-07-06
|
|
16
46
|
|
|
17
47
|
### Added
|
|
@@ -110,7 +110,7 @@ src/soup_cli/
|
|
|
110
110
|
experiment/ - SQLite experiment tracking
|
|
111
111
|
eval/ - Eval platform (custom tasks, LLM judge, human eval, leaderboard)
|
|
112
112
|
migrate/ - Config migration (LLaMA-Factory, Axolotl, Unsloth)
|
|
113
|
-
recipes/ - Ready-made configs for popular models (
|
|
113
|
+
recipes/ - Ready-made configs for popular models (142 recipes)
|
|
114
114
|
autopilot/ - Zero-config decision engine (v0.25.0)
|
|
115
115
|
registry/ - Model Registry (hashing, store, diff, attach) (v0.26.0 + v0.33.0)
|
|
116
116
|
cans/ - Shareable .can artifact format + run/publish orchestrator (v0.26.0 + v0.33.0)
|
|
@@ -120,7 +120,7 @@ src/soup_cli/
|
|
|
120
120
|
templates/ - 17 built-in soup.yaml templates (YAML + manifest.json) with load_template loader (v0.39.0, +bco v0.40.0)
|
|
121
121
|
ui/ - Web UI (FastAPI + HTML/JS SPA)
|
|
122
122
|
|
|
123
|
-
tests/ - Test suite (
|
|
123
|
+
tests/ - Test suite (309 files, 15663 tests)
|
|
124
124
|
examples/ - Real-world config examples and datasets
|
|
125
125
|
```
|
|
126
126
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: soup-cli
|
|
3
|
-
Version: 0.71.
|
|
3
|
+
Version: 0.71.32
|
|
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
|
|
@@ -193,29 +193,33 @@ infrastructure instead of improving models. Soup fixes that.
|
|
|
193
193
|
|
|
194
194
|
## What's New
|
|
195
195
|
|
|
196
|
-
**v0.71.
|
|
197
|
-
|
|
198
|
-
- **`task='
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
`training.
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
-
|
|
210
|
-
|
|
211
|
-
|
|
196
|
+
**v0.71.32 — ASR fine-tuning (Whisper).** Fine-tune Whisper on your accent or domain, locally. whisper-tiny (39M) and base (74M) train on a 4 GB GPU — a new modality that actually runs on a laptop card.
|
|
197
|
+
|
|
198
|
+
- **`task='asr'`.** A new `AsrTrainerWrapper` (HF `Seq2SeqTrainer` + `WhisperProcessor`). Data rows
|
|
199
|
+
are `{"audio": <path>, "text": <transcript>}` under `data.format='asr'`; audio decodes to 16 kHz
|
|
200
|
+
mono through the hardened loader (soundfile pre-probe + symlink/size guards). Opt-in LoRA on q/v
|
|
201
|
+
via `training.asr_lora: true` (default full fine-tune); `training.asr_language` / `asr_task`
|
|
202
|
+
(`transcribe`|`translate`) set — and persist — the decoder prefix for inference.
|
|
203
|
+
- **`soup infer --task asr`.** Transcribe an `{"audio"[, "text"]}` JSONL and get per-row + corpus
|
|
204
|
+
**WER / CER** when references are present. Loads a full model or a LoRA adapter dir; audio paths
|
|
205
|
+
are containment-checked (traversal / UNC rejected).
|
|
206
|
+
- **Pure-python metrics.** New `soup_cli.utils.asr_metrics` (WER / CER / `word_accuracy` /
|
|
207
|
+
`corpus_wer`) — no new dependency, reusable as a higher-is-better ship metric leg.
|
|
208
|
+
- **Recipes.** `whisper-tiny-asr` / `whisper-base-asr` (live-trainable), `whisper-large-v3-asr`
|
|
209
|
+
(parse-only). Catalog 138 → 142.
|
|
210
|
+
- **Proof-of-mechanism, honestly.** Live-validated on an RTX 3050: a memorization task drove
|
|
211
|
+
WER 1.000 → 0.000 (loss 7.2 → 0.0005 at 0.4/4 GB). Real accent/domain gains need real audio;
|
|
212
|
+
WER/CER use a light normalizer, not the full Whisper text normalizer.
|
|
212
213
|
|
|
213
214
|
```yaml
|
|
214
|
-
|
|
215
|
+
base: openai/whisper-tiny
|
|
216
|
+
task: asr
|
|
217
|
+
data:
|
|
218
|
+
format: asr # rows: {"audio": "clip.wav", "text": "hello world"}
|
|
219
|
+
audio_dir: ./data/audio
|
|
215
220
|
training:
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
online_dpo_max_new_tokens: 64
|
|
221
|
+
asr_language: en
|
|
222
|
+
asr_lora: true # optional; default = full fine-tune
|
|
219
223
|
```
|
|
220
224
|
|
|
221
225
|
Full history: [CHANGELOG.md](CHANGELOG.md) · [GitHub Releases](https://github.com/MakazhanAlpamys/Soup/releases).
|
|
@@ -49,29 +49,33 @@ infrastructure instead of improving models. Soup fixes that.
|
|
|
49
49
|
|
|
50
50
|
## What's New
|
|
51
51
|
|
|
52
|
-
**v0.71.
|
|
53
|
-
|
|
54
|
-
- **`task='
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
`training.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
-
|
|
66
|
-
|
|
67
|
-
|
|
52
|
+
**v0.71.32 — ASR fine-tuning (Whisper).** Fine-tune Whisper on your accent or domain, locally. whisper-tiny (39M) and base (74M) train on a 4 GB GPU — a new modality that actually runs on a laptop card.
|
|
53
|
+
|
|
54
|
+
- **`task='asr'`.** A new `AsrTrainerWrapper` (HF `Seq2SeqTrainer` + `WhisperProcessor`). Data rows
|
|
55
|
+
are `{"audio": <path>, "text": <transcript>}` under `data.format='asr'`; audio decodes to 16 kHz
|
|
56
|
+
mono through the hardened loader (soundfile pre-probe + symlink/size guards). Opt-in LoRA on q/v
|
|
57
|
+
via `training.asr_lora: true` (default full fine-tune); `training.asr_language` / `asr_task`
|
|
58
|
+
(`transcribe`|`translate`) set — and persist — the decoder prefix for inference.
|
|
59
|
+
- **`soup infer --task asr`.** Transcribe an `{"audio"[, "text"]}` JSONL and get per-row + corpus
|
|
60
|
+
**WER / CER** when references are present. Loads a full model or a LoRA adapter dir; audio paths
|
|
61
|
+
are containment-checked (traversal / UNC rejected).
|
|
62
|
+
- **Pure-python metrics.** New `soup_cli.utils.asr_metrics` (WER / CER / `word_accuracy` /
|
|
63
|
+
`corpus_wer`) — no new dependency, reusable as a higher-is-better ship metric leg.
|
|
64
|
+
- **Recipes.** `whisper-tiny-asr` / `whisper-base-asr` (live-trainable), `whisper-large-v3-asr`
|
|
65
|
+
(parse-only). Catalog 138 → 142.
|
|
66
|
+
- **Proof-of-mechanism, honestly.** Live-validated on an RTX 3050: a memorization task drove
|
|
67
|
+
WER 1.000 → 0.000 (loss 7.2 → 0.0005 at 0.4/4 GB). Real accent/domain gains need real audio;
|
|
68
|
+
WER/CER use a light normalizer, not the full Whisper text normalizer.
|
|
68
69
|
|
|
69
70
|
```yaml
|
|
70
|
-
|
|
71
|
+
base: openai/whisper-tiny
|
|
72
|
+
task: asr
|
|
73
|
+
data:
|
|
74
|
+
format: asr # rows: {"audio": "clip.wav", "text": "hello world"}
|
|
75
|
+
audio_dir: ./data/audio
|
|
71
76
|
training:
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
online_dpo_max_new_tokens: 64
|
|
77
|
+
asr_language: en
|
|
78
|
+
asr_lora: true # optional; default = full fine-tune
|
|
75
79
|
```
|
|
76
80
|
|
|
77
81
|
Full history: [CHANGELOG.md](CHANGELOG.md) · [GitHub Releases](https://github.com/MakazhanAlpamys/Soup/releases).
|
|
@@ -19,6 +19,7 @@ soup train --config soup.yaml --push-as user/repo --hf-resume Resume from lates
|
|
|
19
19
|
soup train --config soup.yaml --find-lr LR range finder: write recommended LR JSON
|
|
20
20
|
soup train --config soup.yaml --cloud modal --gpu a100 Render a Modal.com app for serverless GPU training (plan-only; --cloud-submit submits live)
|
|
21
21
|
soup infer --model ./output --input p.jsonl Batch inference
|
|
22
|
+
soup infer --task asr --model <whisper|adapter> --input a.jsonl --output o.jsonl [--audio-dir d --asr-language en --asr-task transcribe|translate] Whisper transcription + WER/CER
|
|
22
23
|
soup chat --model ./output Interactive chat
|
|
23
24
|
soup push --model ./output --repo user/name Upload to HuggingFace
|
|
24
25
|
soup push --model ./output --repo user/name --collection user/coll-abc123 Add to HF Collection
|
|
@@ -352,6 +352,13 @@ Or use `.txt` files directly (one document per line).
|
|
|
352
352
|
{"audio": "recording.wav", "messages": [{"role": "user", "content": "Transcribe."}, {"role": "assistant", "content": "Hello world."}]}
|
|
353
353
|
```
|
|
354
354
|
|
|
355
|
+
**ASR (Whisper transcription — `data.format: asr`, v0.71.32):**
|
|
356
|
+
```json
|
|
357
|
+
{"audio": "clip.wav", "text": "hello world"}
|
|
358
|
+
```
|
|
359
|
+
Audio paths resolve under `data.audio_dir` (containment-checked). Used by
|
|
360
|
+
`task: asr` and `soup infer --task asr`. See [Training → ASR](training.md).
|
|
361
|
+
|
|
355
362
|
**PRM (process reward, stepwise-supervised):**
|
|
356
363
|
```json
|
|
357
364
|
{"prompt": "Solve 2+2", "completions": ["First, add", "Result is 4"], "labels": [true, true]}
|
|
@@ -40,6 +40,17 @@ Soup works with **any** of the **340,000+** text-generation models on [HuggingFa
|
|
|
40
40
|
| Qwen2-VL-7B-Instruct | 7B | LLaVA, ShareGPT4V |
|
|
41
41
|
| Pixtral-12B-2409 | 12B | LLaVA, ShareGPT4V |
|
|
42
42
|
|
|
43
|
+
### ASR Models (`task: asr`, Whisper — v0.71.32)
|
|
44
|
+
|
|
45
|
+
| Recipe | Base | Size | Status |
|
|
46
|
+
|---|---|---|---|
|
|
47
|
+
| `whisper-tiny-asr` | openai/whisper-tiny | 39M | Live on 4 GB |
|
|
48
|
+
| `whisper-base-asr` | openai/whisper-base | 74M | Live on 4 GB |
|
|
49
|
+
| `whisper-large-v3-asr` | openai/whisper-large-v3 | 1.5B | Parse-only (larger GPU) |
|
|
50
|
+
|
|
51
|
+
Rows are `{"audio": <path>, "text": <transcript>}` with `data.format: asr`. See
|
|
52
|
+
[Training → ASR fine-tuning](training.md).
|
|
53
|
+
|
|
43
54
|
### Quick Size Guide
|
|
44
55
|
|
|
45
56
|
| VRAM | Max Model (QLoRA 4-bit) | Example |
|
|
@@ -561,6 +561,48 @@ training:
|
|
|
561
561
|
{"audio": "recording.wav", "messages": [{"role": "user", "content": "Transcribe this audio."}, {"role": "assistant", "content": "Hello world."}]}
|
|
562
562
|
```
|
|
563
563
|
|
|
564
|
+
### ASR fine-tuning (`task='asr'`, Whisper) — v0.71.32
|
|
565
|
+
|
|
566
|
+
Fine-tune Whisper on your accent or domain. whisper-tiny (39M) and base (74M)
|
|
567
|
+
train on a 4 GB GPU. Rows are `{"audio": <path>, "text": <transcript>}` under
|
|
568
|
+
`data.format='asr'`; audio decodes to 16 kHz mono through the hardened loader.
|
|
569
|
+
|
|
570
|
+
```yaml
|
|
571
|
+
base: openai/whisper-tiny
|
|
572
|
+
task: asr
|
|
573
|
+
data:
|
|
574
|
+
train: ./data/train.jsonl
|
|
575
|
+
format: asr # rows: {"audio": "clip.wav", "text": "hello world"}
|
|
576
|
+
audio_dir: ./data/audio # audio paths resolve here (containment-checked)
|
|
577
|
+
training:
|
|
578
|
+
epochs: 3
|
|
579
|
+
lr: 1e-4
|
|
580
|
+
batch_size: 2
|
|
581
|
+
asr_language: en # optional; sets + persists the decoder prefix
|
|
582
|
+
asr_task: transcribe # transcribe | translate
|
|
583
|
+
asr_lora: true # optional LoRA on q/v; default = full fine-tune
|
|
584
|
+
quantization: none
|
|
585
|
+
output: ./out
|
|
586
|
+
```
|
|
587
|
+
|
|
588
|
+
```json
|
|
589
|
+
{"audio": "clip0.wav", "text": "hello world"}
|
|
590
|
+
```
|
|
591
|
+
|
|
592
|
+
Transcribe + score after training:
|
|
593
|
+
|
|
594
|
+
```bash
|
|
595
|
+
soup infer --task asr --model ./out --input eval.jsonl --output preds.jsonl --audio-dir ./data/audio
|
|
596
|
+
# -> preds carry {"transcription", "wer", "cer"} per row + a corpus WER summary
|
|
597
|
+
```
|
|
598
|
+
|
|
599
|
+
Notes: `task='asr'` requires `backend='transformers'` and a Whisper base (a
|
|
600
|
+
non-Whisper base is rejected before download). `asr_language`/`asr_task` persist
|
|
601
|
+
to an `asr_generation.json` sidecar so `soup infer --task asr` restores them
|
|
602
|
+
(override with `--asr-language`/`--asr-task`). WER/CER use a light normalizer —
|
|
603
|
+
good for before/after deltas, not leaderboard-comparable absolutes.
|
|
604
|
+
`whisper-large-v3-asr` ships parse-only (needs a larger GPU).
|
|
605
|
+
|
|
564
606
|
|
|
565
607
|
## GRPO Plus — Objective Variants, Long-Context RL, Multi-Turn Agents
|
|
566
608
|
|