openrunner-sdk 2.37.35__tar.gz → 2.37.36__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.35 → openrunner_sdk-2.37.36}/PKG-INFO +1 -1
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/__init__.py +1 -1
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/run.py +17 -2
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/pyproject.toml +1 -1
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_run_module.py +29 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/.gitignore +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/=6.0 +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/=8.1 +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/README.md +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/CLAUDE.md +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/_safepath.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/_secret_rules.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/api_client.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/artifact.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/autoresearch.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/buffer.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/cache.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/cli.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/config.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/cost.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/dataset.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/datasets.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/environment.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/evaluation.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/feedback.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/git_info.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/gpu/__init__.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/gpu/api_integration.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/gpu/cost_guard.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/gpu/gpu_types.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/gpu/price_compare.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/gpu/provider_base.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/gpu/providers/__init__.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/gpu/providers/lambda_cloud.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/gpu/providers/modal_provider.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/gpu/providers/ovhcloud.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/gpu/providers/runpod.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/gpu/providers/vastai.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/gpu/runner.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/gpu/workspace_sync.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/guardrails.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/handover.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/hooks/patent-lab-post-commit +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/install_commands.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/__init__.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/accelerate.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/anthropic_tracer.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/catboost.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/diffusers.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/fastai.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/forced_alignment.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/gladia.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/gymnasium.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/huggingface.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/hydra.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/ignite.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/jax.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/keras.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/langchain.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/lightgbm.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/lightning.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/llamaindex.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/openai_finetune.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/openai_tracer.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/optuna.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/pytorch.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/sb3.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/sklearn.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/skypilot.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/tensorflow.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/trl.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/tts.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/ultralytics.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/voice_agent.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/whisper.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/xgboost.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/launch.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/machine.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/mcp_server.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/media.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/migrate.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/model.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/model_card.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/offline.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/patent_scan.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/pii.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/plot.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/projects.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/prompt.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/query_api.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/redact.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/reload.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/research.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/research_policy.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/scorers.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/sender.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/session.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/settings.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/summary.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/sweep.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/sync.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/system_metrics.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/tensorboard.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/tools/__init__.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/tools/patent_report.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/trace.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/transcript_formatter.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/wal.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/wandb_compat/__init__.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/wandb_compat/_shim.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/wer.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/scripts/gen_betterleaks_rules.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/__init__.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/conftest.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/fixtures/wandb-export-mini/run-aaa/config.json +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/fixtures/wandb-export-mini/run-aaa/metadata.json +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/fixtures/wandb-export-mini/run-aaa/metrics.jsonl +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/fixtures/wandb-export-mini/run-aaa/summary.json +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/fixtures/wandb-export-mini/run-bbb/artifacts/model-checkpoint/manifest.json +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/fixtures/wandb-export-mini/run-bbb/artifacts/model-checkpoint/weights.bin +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/fixtures/wandb-export-mini/run-bbb/artifacts/sample-image/manifest.json +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/fixtures/wandb-export-mini/run-bbb/artifacts/sample-image/preview.png +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/fixtures/wandb-export-mini/run-bbb/config.json +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/fixtures/wandb-export-mini/run-bbb/metadata.json +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/fixtures/wandb-export-mini/run-bbb/metrics.jsonl +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/fixtures/wandb-export-mini/run-bbb/summary.json +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/integration/__init__.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/integration/conftest.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/integration/test_artifact_round_trip.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_alert.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_aliases.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_api_client.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_api_client_methods.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_api_client_transport.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_artifact.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_buffer.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_cache.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_class_scorers.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_cli.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_cli_artifact_sweep.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_cli_datasets.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_cli_gpu_registry_deploy.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_cli_infra.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_cli_remainder.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_cli_topup.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_config.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_datasets_module.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_evaluation.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_finish.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_git_info.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_gpu/__init__.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_gpu/conftest.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_gpu/test_cost_guard.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_gpu/test_gpu_cluster.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_gpu/test_gpu_types.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_gpu/test_lambda.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_gpu/test_modal.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_gpu/test_ovhcloud.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_gpu/test_price_compare.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_gpu/test_provider_base.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_gpu/test_runner.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_gpu/test_runpod.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_gpu/test_sdk_gpu_api.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_gpu/test_vastai.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_gpu/test_workspace_sync.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_gpu_modal_creds.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_init.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_init_facade.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_install_commands.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_integration_fastai.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_integration_huggingface.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_integration_keras.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_integration_langchain.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_integration_lightning.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_integration_pytorch.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_integration_setA.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_integration_setB.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_integration_setC.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_integration_sklearn.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_integration_xgboost.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_launch.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_log.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_log_code.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_machine_migrate.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_mcp_decisions.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_mcp_monitor.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_mcp_predictions.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_mcp_server.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_media.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_media_extra.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_migrate.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_offline.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_offline_sync.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_patent_scan.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_pii.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_plot.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_plot_media_extra2.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_prompt_module.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_pure_modules.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_query_api.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_redact.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_reload_module.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_research_module.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_resume.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_sdk_cluster_j1.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_sdk_cluster_j2.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_sdk_cluster_j3.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_sdk_cluster_j4.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_sdk_core_edges.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_sdk_features.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_sender.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_session_module.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_session_sync.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_summary.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_sweep.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_system_metrics.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_topup_hi.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/tests/test_trace.py +0 -0
- {openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/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.36
|
|
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.36"
|
|
185
185
|
|
|
186
186
|
logger = logging.getLogger("openrunner")
|
|
187
187
|
|
|
@@ -921,7 +921,7 @@ class Run:
|
|
|
921
921
|
|
|
922
922
|
# Get artifact by project lookup
|
|
923
923
|
art_result = self._client._client.get(
|
|
924
|
-
f"/projects/{self.
|
|
924
|
+
f"/projects/{self._project_ref()}/artifacts"
|
|
925
925
|
)
|
|
926
926
|
if art_result.status_code == 200:
|
|
927
927
|
arts = art_result.json()
|
|
@@ -940,10 +940,25 @@ class Run:
|
|
|
940
940
|
|
|
941
941
|
return result
|
|
942
942
|
|
|
943
|
+
def _project_ref(self) -> str:
|
|
944
|
+
"""Path segment for ``/projects/{ref}/*`` endpoints.
|
|
945
|
+
|
|
946
|
+
Those endpoints are keyed by the project **UUID**, but a run may have
|
|
947
|
+
been constructed with a project *name* (``org/name``). Prefer the
|
|
948
|
+
server-resolved UUID (``self._project_id``, populated from the
|
|
949
|
+
create_run response) and fall back to the name only when it is absent
|
|
950
|
+
(e.g. offline mode). Using the bare name against a UUID-keyed endpoint
|
|
951
|
+
404s -- the bug that made ``set_model_card``/``get_model_card`` and
|
|
952
|
+
artifact-alias resolution silently no-op.
|
|
953
|
+
"""
|
|
954
|
+
return getattr(self, "_project_id", None) or self._project
|
|
955
|
+
|
|
943
956
|
def _resolve_artifact_id(self, name: str) -> str | None:
|
|
944
957
|
"""Look up an artifact's id by name within this run's project."""
|
|
945
958
|
try:
|
|
946
|
-
resp = self._client._client.get(
|
|
959
|
+
resp = self._client._client.get(
|
|
960
|
+
f"/projects/{self._project_ref()}/artifacts"
|
|
961
|
+
)
|
|
947
962
|
if resp.status_code == 200:
|
|
948
963
|
for a in resp.json():
|
|
949
964
|
if a.get("name") == name:
|
|
@@ -729,6 +729,35 @@ def test_resolve_artifact_id_exception():
|
|
|
729
729
|
assert run._resolve_artifact_id("m") is None
|
|
730
730
|
|
|
731
731
|
|
|
732
|
+
def test_resolve_artifact_id_uses_project_uuid():
|
|
733
|
+
# Regression: the /projects/{ref}/artifacts endpoint is keyed by the
|
|
734
|
+
# project UUID, not the project name. When the server-resolved UUID is
|
|
735
|
+
# available it must be used, else the lookup 404s and set_model_card
|
|
736
|
+
# silently no-ops.
|
|
737
|
+
run = _bare_run(project="gladia/openpii")
|
|
738
|
+
run._project_id = "96de4897-38b0-4327-a07b-1c5a71871ef9"
|
|
739
|
+
run._client._client = MagicMock()
|
|
740
|
+
resp = MagicMock(status_code=200)
|
|
741
|
+
resp.json.return_value = [{"id": "aid", "name": "m"}]
|
|
742
|
+
run._client._client.get.return_value = resp
|
|
743
|
+
assert run._resolve_artifact_id("m") == "aid"
|
|
744
|
+
run._client._client.get.assert_called_once_with(
|
|
745
|
+
"/projects/96de4897-38b0-4327-a07b-1c5a71871ef9/artifacts"
|
|
746
|
+
)
|
|
747
|
+
|
|
748
|
+
|
|
749
|
+
def test_resolve_artifact_id_falls_back_to_name_without_uuid():
|
|
750
|
+
# Offline / pre-create: no UUID yet -> fall back to the project name so
|
|
751
|
+
# behavior is unchanged when _project_id is absent.
|
|
752
|
+
run = _bare_run(project="gladia/openpii") # _bare_run sets no _project_id
|
|
753
|
+
run._client._client = MagicMock()
|
|
754
|
+
resp = MagicMock(status_code=200)
|
|
755
|
+
resp.json.return_value = [{"id": "aid", "name": "m"}]
|
|
756
|
+
run._client._client.get.return_value = resp
|
|
757
|
+
assert run._resolve_artifact_id("m") == "aid"
|
|
758
|
+
run._client._client.get.assert_called_once_with("/projects/openpii/artifacts")
|
|
759
|
+
|
|
760
|
+
|
|
732
761
|
def test_set_model_card_success():
|
|
733
762
|
run = _bare_run()
|
|
734
763
|
run._client._client = MagicMock()
|
|
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.35 → openrunner_sdk-2.37.36}/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
|
|
File without changes
|
{openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/openrunner/integration/anthropic_tracer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/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
|
{openrunner_sdk-2.37.35 → openrunner_sdk-2.37.36}/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
|
|
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
|