freesolo-flash-dev 0.2.49__tar.gz → 0.2.50__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.
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/PKG-INFO +1 -1
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/grpo.py +0 -13
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/opd.py +332 -134
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/opd_vllm.py +176 -25
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/rl.py +0 -24
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/_worker.py +3 -5
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/pyproject.toml +2 -2
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_allocator.py +127 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_flash_worker.py +9 -6
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_opd.py +359 -21
- freesolo_flash_dev-0.2.50/tests/test_opd_vllm.py +516 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/uv.lock +1 -1
- freesolo_flash_dev-0.2.49/tests/test_opd_vllm.py +0 -184
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/.dockerignore +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/.env.example +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/.github/workflows/auto-rebake.yml +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/.github/workflows/bake-kernel-cache.yml +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/.github/workflows/ci.yml +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/.github/workflows/main-source-guard.yml +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/.github/workflows/notify-tests-repo.yml +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/.github/workflows/publish-dev.yml +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/.github/workflows/publish-image.yml +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/.github/workflows/publish.yml +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/.github/workflows/version-parity.yml +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/.github/workflows/worker-image.yml +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/.gitignore +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/Dockerfile +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/Dockerfile.worker +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/LICENSE +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/README.md +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/build/kernel_cache/.gitignore +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/build/kernel_cache/.keep +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/docker/Dockerfile.kernelcache +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/docker/Dockerfile.kernelcache.relayer +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/docker/bake_kernel_cache.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/docker/bake_pod_entry.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/docker/kernel_fingerprint.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/docker/make_rp_handler.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/_channel.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/_fileio.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/_logging.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/_update_check.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/adapter_artifacts.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/catalog.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/cli/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/cli/__main__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/cli/_tty.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/cli/commands.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/cli/envpush.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/cli/render.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/cli/training_doc.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/client/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/client/config.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/client/http.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/client/runtime_secrets.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/client/specs.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/cost/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/cost/analytical.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/cost/facts.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/cost/spec.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/cost/types.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/accounting.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/chalk_kernels.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/multiturn_rollout.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/recipe.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/steps.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/vram.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/__main__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/_pkg.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/adapter.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/decoding.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/finalize.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/gpu_setup.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/heartbeat.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/hf.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/kernel_warmup.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/lora.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/opd_gkd.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/packing.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/perf/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/perf/attn.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/perf/diagnostics.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/perf/lifecycle.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/perf/liger.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/perf/loraplus.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/perf/memory.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/sft.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/teacher.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/tokenizer_align.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/engine/worker/wandb_log.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/envs/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/envs/adapter.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/envs/archive_policy.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/envs/base.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/envs/loader.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/envs/pull.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/envs/registry.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/lora_rank.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/_auth.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/_hf_artifacts.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/_hf_retry.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/_http.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/_instance.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/_instance_bootstrap.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/_instance_poll.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/_instance_provider.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/_poll.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/allocator.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/base.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/lambdalabs/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/lambdalabs/api.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/lambdalabs/auth.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/lambdalabs/gpus.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/lambdalabs/jobs/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/lambdalabs/jobs/builders.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/lambdalabs/preflight.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/lambdalabs/pricing.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/preflight.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/realized.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/runpod/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/runpod/api.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/runpod/auth.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/runpod/cost.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/runpod/gpus.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/runpod/jobs.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/runpod/keys.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/runpod/preflight.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/runpod/preload.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/runpod/pricing.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/runpod/slots.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/runpod/train/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/runpod/train/deps.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/runpod/train/endpoints.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/vast/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/vast/api.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/vast/auth.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/vast/jobs/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/vast/jobs/builders.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/vast/preflight.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/providers/vast/pricing.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/py.typed +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/runner/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/runner/checkpoints.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/runner/deploy.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/runner/lifecycle.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/schema/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/schema/fields.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/serve/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/serve/deploy.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/serve/export.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/serve/pricing.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/server/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/server/__main__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/server/_deps.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/server/_internal_client.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/server/_locks.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/server/_runtime.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/server/app.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/server/auth.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/server/billing.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/server/billing_retry.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/server/checkpoints.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/server/db.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/server/environment_registry.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/server/envs.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/server/reconcile.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/server/routes/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/server/routes/envs.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/server/routes/meta.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/server/routes/runs.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/server/routes/serving.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/server/run_registry.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/flash/spec.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/infisical-entrypoint.sh +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/scripts/build_dev_dist.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/_helpers/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/_helpers/runner.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/_helpers/specs.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/_helpers/vast.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/conftest.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/fixtures/math_eval.jsonl +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/fixtures/math_train.jsonl +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/live/__init__.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/live/conftest.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/live/test_lambda_live.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/live/test_runpod_live.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/live/test_vast_live.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_agent_flash_cli_contract.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_algorithms.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_b200_rollout_opt.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_backend_jobspec_contract.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_billing_retry.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_cancel_remote.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_catalog_consistency.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_chalk_kernels.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_charge_pricing.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_checkpoints.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_cli_commands.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_cli_errors.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_cli_estimate.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_cli_help.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_cli_managed.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_cli_render_theme.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_client.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_client_server_integration.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_config_overrides.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_cost_analytical.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_cost_equation.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_cost_estimate.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_cost_hardware.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_cost_models.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_cost_rewards.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_dev_channel.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_disk_gb.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_endpoint_name.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_env_cache_evict.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_env_delete.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_env_download.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_env_download_api.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_env_no_install.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_env_publish.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_env_pull.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_env_pull_managed_control_plane.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_env_push.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_env_rate_limit_resolve.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_envs_coverage.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_export.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_flash_mvp.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_flashinfer_cache_dirs.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_github_urlopen_retry.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_gpus.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_grpo_mask_aware.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_grpo_params.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_grpo_sleep_gate.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_health_liveness.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_idle_endpoint_reaper.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_internal_client.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_jobs.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_kernel_cache.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_kernel_fingerprint.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_kv_util.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_lambda_runner.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_logging.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_login_perms.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_lora_rank_preflight.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_managed_hf_repo.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_metrics_schema_agent_contract.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_mig_guard.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_multiturn_rollout.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_oom_escalate_gpu.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_open_model_policy.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_orchestrator_flash.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_packing.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_poll_helpers.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_preflight.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_provider_routing.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_provider_teardown_robustness.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_providers_symmetry.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_realized_cost.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_resolve_params_b.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_resume_on_retry.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_runmgmt.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_runpod_api_delete.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_runpod_key_fingerprint.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_runpod_key_waterfall.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_runpod_slots.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_serve.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_server_api.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_server_billing.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_server_db.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_serving_contract.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_sft_example_selection.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_sft_gc_off.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_spec_and_validation.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_thinking_config.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_train_context_preflight.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_update_check.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_vast_api.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_vast_offers.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_vast_runner.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_verifiers.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_version.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_vl_warmstart_adapter_keys.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_vl_warmstart_recombine.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_wandb_naming.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_warmstart_cross_repo.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_weight_cache.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_worker_dryrun.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_worker_hardexit.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_worker_image.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_worker_init_heartbeat.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_worker_stack.py +0 -0
- {freesolo_flash_dev-0.2.49 → freesolo_flash_dev-0.2.50}/tests/test_worker_thinking.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: freesolo-flash-dev
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.50
|
|
4
4
|
Summary: Flash — managed LoRA post-training (SFT/GRPO/OPD) for Freesolo environments, driven by the `flash` CLI
|
|
5
5
|
Project-URL: Homepage, https://github.com/freesolo-co/flash
|
|
6
6
|
Project-URL: Repository, https://github.com/freesolo-co/flash
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
import os
|
|
6
|
-
|
|
7
5
|
from flash.engine.worker._pkg import W as _w
|
|
8
6
|
|
|
9
7
|
|
|
@@ -86,17 +84,6 @@ def rl_per_device_comps(
|
|
|
86
84
|
"""
|
|
87
85
|
default = 2 if _w.THINKING else 8
|
|
88
86
|
|
|
89
|
-
_ovr = os.environ.get("FLASH_RL_PER_DEVICE_COMPS", "").strip()
|
|
90
|
-
if _ovr:
|
|
91
|
-
try:
|
|
92
|
-
forced = int(_ovr)
|
|
93
|
-
if forced >= 1:
|
|
94
|
-
print(f"rl_per_device_comps: FLASH_RL_PER_DEVICE_COMPS override -> per_device={forced}")
|
|
95
|
-
return forced
|
|
96
|
-
print(f"rl_per_device_comps: ignoring non-positive FLASH_RL_PER_DEVICE_COMPS={_ovr!r}")
|
|
97
|
-
except ValueError:
|
|
98
|
-
print(f"rl_per_device_comps: ignoring non-integer FLASH_RL_PER_DEVICE_COMPS={_ovr!r}")
|
|
99
|
-
|
|
100
87
|
logits_cap = _RL_PER_DEVICE_MAX
|
|
101
88
|
if completion_len > 0 and not fused_logits:
|
|
102
89
|
logits_cap = max(1, int(6.0e9 / (max(1, completion_len) * vocab * 4)))
|