openrunner-sdk 2.37.26__tar.gz → 2.37.28__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.
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/PKG-INFO +1 -1
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/__init__.py +1 -1
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/cli.py +8 -3
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/install_commands.py +11 -11
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/pyproject.toml +1 -1
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/.gitignore +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/=6.0 +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/=8.1 +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/README.md +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/CLAUDE.md +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/_safepath.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/_secret_rules.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/api_client.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/artifact.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/autoresearch.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/buffer.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/cache.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/config.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/cost.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/dataset.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/datasets.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/environment.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/evaluation.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/feedback.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/git_info.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/gpu/__init__.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/gpu/api_integration.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/gpu/cost_guard.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/gpu/gpu_types.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/gpu/price_compare.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/gpu/provider_base.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/gpu/providers/__init__.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/gpu/providers/lambda_cloud.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/gpu/providers/modal_provider.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/gpu/providers/ovhcloud.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/gpu/providers/runpod.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/gpu/providers/vastai.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/gpu/runner.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/gpu/workspace_sync.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/guardrails.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/handover.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/hooks/patent-lab-post-commit +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/__init__.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/accelerate.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/anthropic_tracer.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/catboost.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/diffusers.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/fastai.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/forced_alignment.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/gladia.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/gymnasium.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/huggingface.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/hydra.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/ignite.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/jax.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/keras.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/langchain.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/lightgbm.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/lightning.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/llamaindex.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/openai_finetune.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/openai_tracer.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/optuna.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/pytorch.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/sb3.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/sklearn.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/skypilot.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/tensorflow.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/trl.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/tts.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/ultralytics.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/voice_agent.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/whisper.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/xgboost.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/launch.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/machine.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/mcp_server.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/media.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/migrate.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/model.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/model_card.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/offline.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/patent_scan.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/pii.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/plot.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/projects.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/prompt.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/query_api.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/redact.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/reload.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/research.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/research_policy.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/run.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/scorers.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/sender.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/session.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/settings.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/summary.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/sweep.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/sync.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/system_metrics.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/tensorboard.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/tools/__init__.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/tools/patent_report.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/trace.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/transcript_formatter.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/wal.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/wandb_compat/__init__.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/wandb_compat/_shim.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/wer.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/scripts/gen_betterleaks_rules.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/__init__.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/conftest.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/fixtures/wandb-export-mini/run-aaa/config.json +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/fixtures/wandb-export-mini/run-aaa/metadata.json +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/fixtures/wandb-export-mini/run-aaa/metrics.jsonl +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/fixtures/wandb-export-mini/run-aaa/summary.json +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/fixtures/wandb-export-mini/run-bbb/artifacts/model-checkpoint/manifest.json +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/fixtures/wandb-export-mini/run-bbb/artifacts/model-checkpoint/weights.bin +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/fixtures/wandb-export-mini/run-bbb/artifacts/sample-image/manifest.json +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/fixtures/wandb-export-mini/run-bbb/artifacts/sample-image/preview.png +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/fixtures/wandb-export-mini/run-bbb/config.json +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/fixtures/wandb-export-mini/run-bbb/metadata.json +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/fixtures/wandb-export-mini/run-bbb/metrics.jsonl +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/fixtures/wandb-export-mini/run-bbb/summary.json +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/integration/__init__.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/integration/conftest.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/integration/test_artifact_round_trip.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_alert.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_aliases.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_api_client.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_artifact.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_buffer.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_cache.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_class_scorers.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_cli.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_config.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_evaluation.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_finish.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_git_info.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_gpu/__init__.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_gpu/conftest.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_gpu/test_cost_guard.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_gpu/test_gpu_types.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_gpu/test_lambda.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_gpu/test_modal.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_gpu/test_ovhcloud.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_gpu/test_price_compare.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_gpu/test_provider_base.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_gpu/test_runner.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_gpu/test_runpod.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_gpu/test_sdk_gpu_api.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_gpu/test_vastai.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_gpu/test_workspace_sync.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_init.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_install_commands.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_integration_fastai.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_integration_huggingface.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_integration_keras.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_integration_langchain.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_integration_lightning.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_integration_pytorch.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_integration_sklearn.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_integration_xgboost.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_launch.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_log.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_log_code.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_mcp_decisions.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_mcp_monitor.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_mcp_predictions.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_media.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_migrate.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_offline.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_offline_sync.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_pii.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_plot.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_query_api.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_resume.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_sdk_features.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_sender.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_session_sync.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_summary.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_sweep.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_system_metrics.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_trace.py +0 -0
- {openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/test_wandb_compat.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openrunner-sdk
|
|
3
|
-
Version: 2.37.
|
|
3
|
+
Version: 2.37.28
|
|
4
4
|
Summary: OpenRunner SDK - W&B-compatible ML experiment tracking client
|
|
5
5
|
Project-URL: Homepage, https://github.com/jqueguiner/openrunner
|
|
6
6
|
Project-URL: Repository, https://github.com/jqueguiner/openrunner
|
|
@@ -181,7 +181,7 @@ launch.from_run = _launch_from_run # type: ignore[attr-defined]
|
|
|
181
181
|
# openrunner.trace.patch_openai() syntax
|
|
182
182
|
trace.patch_openai = _patch_openai # type: ignore[attr-defined]
|
|
183
183
|
|
|
184
|
-
__version__ = "2.37.
|
|
184
|
+
__version__ = "2.37.28"
|
|
185
185
|
|
|
186
186
|
logger = logging.getLogger("openrunner")
|
|
187
187
|
|
|
@@ -4013,8 +4013,8 @@ def gpu_credentials() -> None:
|
|
|
4013
4013
|
|
|
4014
4014
|
@gpu_credentials.command("add")
|
|
4015
4015
|
@click.option("--org", "org_id", required=True, help="Organization ID (UUID)")
|
|
4016
|
-
@click.option("--provider", required=True, help="Provider, e.g. runpod, vastai, lambda")
|
|
4017
|
-
@click.option("--api-key", "provider_key", required=True, help="Provider API key")
|
|
4016
|
+
@click.option("--provider", required=True, help="Provider, e.g. runpod, vastai, ovhcloud, lambda")
|
|
4017
|
+
@click.option("--api-key", "provider_key", required=True, help="Provider API key. For ovhcloud pass a JSON blob: '{\"application_key\":..,\"application_secret\":..,\"consumer_key\":..,\"service_name\":..,\"endpoint\":\"ovh-eu\",\"region\":\"GRA11\"}'")
|
|
4018
4018
|
def gpu_credentials_add(org_id: str, provider: str, provider_key: str) -> None:
|
|
4019
4019
|
"""Store a provider API key on the platform (Fernet-encrypted, never returned)."""
|
|
4020
4020
|
from openrunner.gpu.api_integration import GpuAPIClient
|
|
@@ -5197,7 +5197,7 @@ def runner_enroll(org, name, labels, gpu, gpu_count, exec_mode, sessions, poll_i
|
|
|
5197
5197
|
@runner_group.command("launch")
|
|
5198
5198
|
@click.option("--org", required=True, help="Organization UUID or name/slug")
|
|
5199
5199
|
@click.option("--name", "-n", required=True, help="Runner name")
|
|
5200
|
-
@click.option("--provider", default="runpod", help="
|
|
5200
|
+
@click.option("--provider", default="runpod", help="Provider whose pods self-enroll at boot: runpod, vastai, ovhcloud. (Lambda has no boot hook — use `gpu run --provider lambda` instead.)")
|
|
5201
5201
|
@click.option("--gpu", required=True, help="GPU type, e.g. A100_80GB, H100")
|
|
5202
5202
|
@click.option("--gpu-count", default=1, type=int)
|
|
5203
5203
|
@click.option("--labels", "-l", default="", help="Comma-separated labels to target jobs at")
|
|
@@ -5222,6 +5222,11 @@ def runner_launch(org, name, provider, gpu, gpu_count, labels, image, web, poll_
|
|
|
5222
5222
|
if not api_key:
|
|
5223
5223
|
click.echo("Error: Not logged in. Run 'openrunner login' first.", err=True)
|
|
5224
5224
|
raise SystemExit(1)
|
|
5225
|
+
if provider == "lambda":
|
|
5226
|
+
click.echo("Error: Lambda has no boot hook, so a pod can't self-enroll. "
|
|
5227
|
+
"Use `openrunner gpu run --provider lambda --gpu GPU \"<cmd>\"` "
|
|
5228
|
+
"(SSH run), or `openrunner runner enroll` on a box you provisioned.", err=True)
|
|
5229
|
+
raise SystemExit(2)
|
|
5225
5230
|
client = APIClient(base_url=base_url, api_key=api_key)
|
|
5226
5231
|
org_id = _resolve_org_id(client, org)
|
|
5227
5232
|
label_list = [x.strip() for x in labels.split(",") if x.strip()]
|
|
@@ -2895,17 +2895,17 @@ The worker/job/session mechanism works on ANY machine with outbound HTTPS —
|
|
|
2895
2895
|
RunPod, Vast.ai, Lambda, a GCP/AWS VM, a k8s pod, a laptop. Only *auto-
|
|
2896
2896
|
provisioning* is provider-specific.
|
|
2897
2897
|
- Already registered box? Use its id from `runner ls`.
|
|
2898
|
-
- **RunPod / Vast.ai (auto-provision)**: `openrunner runner launch
|
|
2899
|
-
runpod|vastai --org ORG --name N --gpu
|
|
2900
|
-
+ boots a pod that self-enrolls (
|
|
2901
|
-
`--web` = browser terminal on `:7681
|
|
2902
|
-
via
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
2898
|
+
- **RunPod / Vast.ai / OVH (auto-provision)**: `openrunner runner launch
|
|
2899
|
+
--provider runpod|vastai|ovhcloud --org ORG --name N --gpu GPU [--labels a100]
|
|
2900
|
+
[--web]` — registers + boots a pod that self-enrolls (tmux + SDK, direct-exec).
|
|
2901
|
+
RunPod `--web` = browser terminal on `:7681`; Vast injects the bootstrap via
|
|
2902
|
+
onstart; OVH via cloud-init userData. These have server-side adapters (store the
|
|
2903
|
+
provider key with `openrunner gpu credentials add`; for OVH the key is a JSON
|
|
2904
|
+
blob — app_key/app_secret/consumer_key/service_name).
|
|
2905
|
+
- **Lambda / AWS / GCP / k8s / any box**: `openrunner runner enroll --org ORG
|
|
2906
|
+
--name N [--labels ...] [--cloud-init]` mints the token + PRINTS a paste-
|
|
2907
|
+
anywhere bootstrap (run once on the box, or `--cloud-init` for user-data /
|
|
2908
|
+
startup-script). Provision the box yourself; this just enrolls it.
|
|
2909
2909
|
- All of these print the runner **id** you target jobs/sessions at.
|
|
2910
2910
|
|
|
2911
2911
|
## Jobs (one-shot command -> result)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/gpu/providers/modal_provider.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/anthropic_tracer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/openrunner/integration/forced_alignment.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openrunner_sdk-2.37.26 → openrunner_sdk-2.37.28}/tests/integration/test_artifact_round_trip.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|