openrunner-sdk 2.41.5__tar.gz → 2.41.6__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.41.5 → openrunner_sdk-2.41.6}/PKG-INFO +1 -1
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/CLAUDE.md +2 -1
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/__init__.py +1 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/_native.py +2 -2
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/datasets.py +26 -1
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/install_commands.py +3 -3
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/pyproject.toml +1 -1
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_datasets_module.py +39 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/.gitignore +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/=6.0 +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/=8.1 +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/README.md +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/_retry_transport.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/_safepath.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/_secret_rules.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/api_client.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/artifact.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/autoresearch.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/buffer.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/cache.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/cli.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/config.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/cost.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/dataset.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/environment.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/evaluation.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/feedback.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/git_info.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/gpu/__init__.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/gpu/api_integration.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/gpu/cost_guard.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/gpu/gpu_types.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/gpu/price_compare.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/gpu/provider_base.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/gpu/providers/__init__.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/gpu/providers/forge_provider.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/gpu/providers/lambda_cloud.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/gpu/providers/modal_provider.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/gpu/providers/ovhcloud.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/gpu/providers/runpod.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/gpu/providers/vastai.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/gpu/runner.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/gpu/workspace_sync.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/guardrails.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/handover.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/hooks/patent-lab-post-commit +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/__init__.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/accelerate.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/anthropic_tracer.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/catboost.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/diffusers.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/fastai.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/forced_alignment.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/gladia.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/gymnasium.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/huggingface.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/hydra.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/ignite.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/jax.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/keras.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/langchain.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/lightgbm.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/lightning.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/llamaindex.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/openai_finetune.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/openai_tracer.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/optuna.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/pytorch.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/sb3.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/sklearn.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/skypilot.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/tensorflow.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/trl.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/tts.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/ultralytics.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/voice_agent.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/whisper.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/integration/xgboost.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/launch.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/machine.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/mcp_server.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/media.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/migrate.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/model.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/model_card.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/offline.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/patent_scan.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/pii.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/plot.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/projects.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/prompt.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/query_api.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/redact.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/reload.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/research.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/research_policy.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/run.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/scorers.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/sender.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/session.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/settings.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/summary.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/sweep.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/sync.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/system_metrics.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/tensorboard.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/tools/__init__.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/tools/patent_report.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/trace.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/transcript_formatter.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/wal.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/wandb_compat/__init__.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/wandb_compat/_shim.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/openrunner/wer.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/scripts/gen_betterleaks_rules.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/__init__.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/conftest.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/fixtures/wandb-export-mini/run-aaa/config.json +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/fixtures/wandb-export-mini/run-aaa/metadata.json +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/fixtures/wandb-export-mini/run-aaa/metrics.jsonl +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/fixtures/wandb-export-mini/run-aaa/summary.json +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/fixtures/wandb-export-mini/run-bbb/artifacts/model-checkpoint/manifest.json +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/fixtures/wandb-export-mini/run-bbb/artifacts/model-checkpoint/weights.bin +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/fixtures/wandb-export-mini/run-bbb/artifacts/sample-image/manifest.json +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/fixtures/wandb-export-mini/run-bbb/artifacts/sample-image/preview.png +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/fixtures/wandb-export-mini/run-bbb/config.json +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/fixtures/wandb-export-mini/run-bbb/metadata.json +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/fixtures/wandb-export-mini/run-bbb/metrics.jsonl +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/fixtures/wandb-export-mini/run-bbb/summary.json +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/integration/__init__.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/integration/conftest.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/integration/test_artifact_round_trip.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_alert.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_aliases.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_api_client.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_api_client_methods.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_api_client_transport.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_artifact.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_buffer.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_cache.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_class_scorers.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_cli.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_cli_artifact_sweep.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_cli_datasets.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_cli_gpu_registry_deploy.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_cli_infra.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_cli_remainder.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_cli_topup.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_config.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_evaluation.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_finish.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_git_info.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_gpu/__init__.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_gpu/conftest.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_gpu/test_cost_guard.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_gpu/test_engine_serverside.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_gpu/test_forge.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_gpu/test_governed_jobs.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_gpu/test_gpu_cluster.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_gpu/test_gpu_types.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_gpu/test_lambda.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_gpu/test_modal.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_gpu/test_ovh_training.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_gpu/test_ovhcloud.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_gpu/test_price_compare.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_gpu/test_provider_base.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_gpu/test_runner.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_gpu/test_runpod.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_gpu/test_sdk_gpu_api.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_gpu/test_vastai.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_gpu/test_workspace_sync.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_gpu_modal_creds.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_init.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_init_facade.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_install_commands.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_integration_fastai.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_integration_huggingface.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_integration_keras.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_integration_langchain.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_integration_lightning.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_integration_pytorch.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_integration_setA.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_integration_setB.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_integration_setC.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_integration_sklearn.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_integration_xgboost.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_launch.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_log.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_log_code.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_machine_migrate.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_mcp_decisions.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_mcp_monitor.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_mcp_predictions.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_mcp_server.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_media.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_media_extra.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_migrate.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_offline.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_offline_sync.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_patent_scan.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_pii.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_plot.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_plot_media_extra2.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_prompt_module.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_pure_modules.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_query_api.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_redact.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_reload_module.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_research_module.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_resume.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_retry_transport.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_run_module.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_sdk_cluster_j1.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_sdk_cluster_j2.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_sdk_cluster_j3.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_sdk_cluster_j4.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_sdk_core_edges.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_sdk_features.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_sender.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_session_module.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_session_sync.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_summary.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_sweep.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_system_metrics.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_topup_hi.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/test_trace.py +0 -0
- {openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/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.41.
|
|
3
|
+
Version: 2.41.6
|
|
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
|
|
@@ -96,10 +96,11 @@ falling back to pure-Python httpx otherwise:
|
|
|
96
96
|
ord.search_dataset(repo, q, mode="mixed"|"exact", lang="fr") # BM25 / phrase, lang filter
|
|
97
97
|
ord.optimize_embedding_search(repo) # build ANN index (once)
|
|
98
98
|
ord.semantic_search(repo, q, lang="en,fr") # vector (cosine) search
|
|
99
|
+
ord.regex_search(repo, r"\bcancel(led)?\b", lang="en") # Python-re over the text column (bounded)
|
|
99
100
|
ord.word_lookup(repo, "medical,doctor", op="union"|"intersect", lang="fr") # lexical_map
|
|
100
101
|
ord.keyword_expand("medical terms in french", count=300) # LLM -> {keywords, csv, count}
|
|
101
102
|
|
|
102
|
-
# derive: mode = word (op union/intersect) | fts | exact | semantic; lang filter; append via target_repo_id
|
|
103
|
+
# derive: mode = word (op union/intersect) | fts | exact | regex | semantic; lang filter; append via target_repo_id
|
|
103
104
|
child = ord.derive_by_query(parent, keywords_csv, name="org/medical-fr",
|
|
104
105
|
mode="word", lang="fr", limit=5000)
|
|
105
106
|
ord.derive_by_query(parent, "more,terms", target_repo_id="org/medical-fr", mode="word") # append, de-dup
|
|
@@ -11,8 +11,8 @@ Covered surface today: projects (incl. linked repo), artifacts/versions,
|
|
|
11
11
|
presigned downloads (selective, GIL released during transfers), container
|
|
12
12
|
registries + broker login tokens, dataset editable-overlay columns
|
|
13
13
|
(add column / set cell / edit row / get row — source columns stay read-only),
|
|
14
|
-
and dataset search + query-derivation (full-text / semantic / word
|
|
15
|
-
LLM keyword-expand, derive-by-query + derived rows).
|
|
14
|
+
and dataset search + query-derivation (full-text / semantic / regex / word
|
|
15
|
+
union·intersect, LLM keyword-expand, derive-by-query + derived rows).
|
|
16
16
|
"""
|
|
17
17
|
|
|
18
18
|
from __future__ import annotations
|
|
@@ -794,6 +794,25 @@ class DatasetsClient:
|
|
|
794
794
|
_check(r)
|
|
795
795
|
return r.json().get("rows", r.json().get("hits", []))
|
|
796
796
|
|
|
797
|
+
def regex_search(
|
|
798
|
+
self, repo_id: str, pattern: str, *, limit: int = 20, lang: str = ""
|
|
799
|
+
) -> list[dict]:
|
|
800
|
+
"""Regex search: match a Python-``re`` ``pattern`` against the dataset's
|
|
801
|
+
text column (streamed, bounded — no index needed). Case-insensitive is
|
|
802
|
+
opt-in via an inline ``(?i)`` flag. Native core when available, else httpx.
|
|
803
|
+
Pairs with ``derive_by_query(mode="regex")`` to build a regex-derived set.
|
|
804
|
+
"""
|
|
805
|
+
ds = self._resolve(repo_id)
|
|
806
|
+
nat = self._native_client()
|
|
807
|
+
if nat is not None:
|
|
808
|
+
return nat.regex_search(str(ds.id), pattern, lang, limit).get("rows", [])
|
|
809
|
+
params: dict[str, Any] = {"q": pattern, "limit": limit, "mode": "regex"}
|
|
810
|
+
if lang:
|
|
811
|
+
params["lang"] = lang
|
|
812
|
+
r = self._http.get(f"/datasets/{ds.id}/search", params=params)
|
|
813
|
+
_check(r)
|
|
814
|
+
return r.json().get("rows", [])
|
|
815
|
+
|
|
797
816
|
def optimize_embedding_search(
|
|
798
817
|
self,
|
|
799
818
|
repo_id: str,
|
|
@@ -869,7 +888,8 @@ class DatasetsClient:
|
|
|
869
888
|
"""Create (or append to) a dataset **derived from a query** over ``repo_id``.
|
|
870
889
|
|
|
871
890
|
``mode``: "word" (``q`` = term / CSV; pairs with LLM ``keyword_expand``),
|
|
872
|
-
"fts" (BM25), "exact" (phrase), "
|
|
891
|
+
"fts" (BM25), "exact" (phrase), "regex" (``q`` = a Python-``re`` pattern
|
|
892
|
+
matched over the text column, bounded), "semantic" (vector — needs
|
|
873
893
|
``optimize_embedding_search``). ``lang`` filters by language / CSV. Pass
|
|
874
894
|
``name`` to create, or ``target_repo_id`` to append (must derive from the
|
|
875
895
|
same parent). Lineage is recorded automatically. The query runs and
|
|
@@ -1292,6 +1312,11 @@ def semantic_search(repo_id: str, query: str, **kwargs: Any) -> list[dict]:
|
|
|
1292
1312
|
return _c().semantic_search(repo_id, query, **kwargs)
|
|
1293
1313
|
|
|
1294
1314
|
|
|
1315
|
+
def regex_search(repo_id: str, pattern: str, **kwargs: Any) -> list[dict]:
|
|
1316
|
+
"""Regex search — Python-``re`` ``pattern`` over the text column (bounded)."""
|
|
1317
|
+
return _c().regex_search(repo_id, pattern, **kwargs)
|
|
1318
|
+
|
|
1319
|
+
|
|
1295
1320
|
def optimize_embedding_search(repo_id: str, **kwargs: Any) -> dict:
|
|
1296
1321
|
"""Embed rows + build the ANN index for semantic search / semantic-derive."""
|
|
1297
1322
|
return _c().optimize_embedding_search(repo_id, **kwargs)
|
|
@@ -2135,7 +2135,7 @@ Give the dataset **URL** (`<base>/datasets/<id>`), the modality/tasks/languages,
|
|
|
2135
2135
|
|
|
2136
2136
|
DERIVE_DATASET_CMD = """---
|
|
2137
2137
|
name: {prefix}derive-dataset
|
|
2138
|
-
description: Derive a dataset from an existing one — either by a SEARCH QUERY (semantic / word union·intersect / fts / exact, with language filter + LLM keyword expansion) or by adding a computed column. Keeps lineage, never re-uploads the parent's media.
|
|
2138
|
+
description: Derive a dataset from an existing one — either by a SEARCH QUERY (semantic / regex / word union·intersect / fts / exact, with language filter + LLM keyword expansion) or by adding a computed column. Keeps lineage, never re-uploads the parent's media.
|
|
2139
2139
|
argument-hint: "[parent org/name] [child org/name] [--query ... | --column NAME]"
|
|
2140
2140
|
allowed-tools:
|
|
2141
2141
|
- Bash
|
|
@@ -2152,7 +2152,7 @@ Pick by intent: **subset/select rows -> A**; **annotate/flag rows -> B**.
|
|
|
2152
2152
|
|
|
2153
2153
|
---
|
|
2154
2154
|
|
|
2155
|
-
## A. Query-derivation (semantic / word union·intersect / fts / exact + lang + LLM keywords)
|
|
2155
|
+
## A. Query-derivation (semantic / regex / word union·intersect / fts / exact + lang + LLM keywords)
|
|
2156
2156
|
|
|
2157
2157
|
All server-side; the SDK delegates to the native Rust core when installed. `PARENT` must be indexed (`ds.index_dataset(...)`; for `semantic`, also `ds.optimize_embedding_search(...)`).
|
|
2158
2158
|
|
|
@@ -2177,7 +2177,7 @@ print(ds.derived_rows('ORG/medical-fr', limit=10))
|
|
|
2177
2177
|
"
|
|
2178
2178
|
```
|
|
2179
2179
|
|
|
2180
|
-
Query modes (`mode=`): `word` (CSV of terms; `op='union'|'intersect'`), `fts` (BM25), `exact` (phrase), `semantic` (vector ANN). `lang=` takes a language or CSV ("fr" / "en,fr"); "" = all. Lineage to `PARENT` is recorded automatically by `derive_by_query`.
|
|
2180
|
+
Query modes (`mode=`): `word` (CSV of terms; `op='union'|'intersect'`), `fts` (BM25), `exact` (phrase), `regex` (a Python-`re` pattern over the text column, e.g. `ds.regex_search('ORG/PARENT', r'\\bcancel(led)?\\b')` / `ds.derive_by_query('ORG/PARENT', r'\\brefund', name='ORG/refunds', mode='regex')`), `semantic` (vector ANN). `lang=` takes a language or CSV ("fr" / "en,fr"); "" = all. Lineage to `PARENT` is recorded automatically by `derive_by_query`.
|
|
2181
2181
|
|
|
2182
2182
|
---
|
|
2183
2183
|
|
|
@@ -720,6 +720,40 @@ def test_semantic_search(monkeypatch):
|
|
|
720
720
|
assert "/semantic" in c._http.get.call_args.args[0]
|
|
721
721
|
|
|
722
722
|
|
|
723
|
+
def test_regex_search(monkeypatch):
|
|
724
|
+
c = _client(monkeypatch)
|
|
725
|
+
c._native = None
|
|
726
|
+
c._resolve = MagicMock(return_value=DatasetInfo._from_json(_DS_JSON))
|
|
727
|
+
c._http.get.return_value = _resp(200, {"rows": [{"debug_id": "r1"}]})
|
|
728
|
+
out = c.regex_search("g/n", r"\bcancel(led)?\b", lang="en", limit=5)
|
|
729
|
+
assert out[0]["debug_id"] == "r1"
|
|
730
|
+
params = c._http.get.call_args.kwargs["params"]
|
|
731
|
+
assert params["mode"] == "regex" and params["q"] == r"\bcancel(led)?\b"
|
|
732
|
+
assert params["lang"] == "en"
|
|
733
|
+
assert "/search" in c._http.get.call_args.args[0]
|
|
734
|
+
|
|
735
|
+
|
|
736
|
+
def test_regex_search_native_delegates(monkeypatch):
|
|
737
|
+
c = _client(monkeypatch)
|
|
738
|
+
c._resolve = MagicMock(return_value=DatasetInfo._from_json(_DS_JSON))
|
|
739
|
+
nat = MagicMock()
|
|
740
|
+
nat.regex_search.return_value = {"rows": [{"debug_id": "x"}]}
|
|
741
|
+
c._native = nat
|
|
742
|
+
assert c.regex_search("g/n", "foo.*bar", lang="fr", limit=7) == [{"debug_id": "x"}]
|
|
743
|
+
nat.regex_search.assert_called_once_with("ds-1", "foo.*bar", "fr", 7)
|
|
744
|
+
c._http.get.assert_not_called()
|
|
745
|
+
|
|
746
|
+
|
|
747
|
+
def test_derive_by_query_regex_mode(monkeypatch):
|
|
748
|
+
c = _client(monkeypatch)
|
|
749
|
+
c._native = None
|
|
750
|
+
c._resolve = MagicMock(return_value=DatasetInfo._from_json(_DS_JSON))
|
|
751
|
+
c._http.post.return_value = _resp(200, dict(_DS_JSON, name="cancels"))
|
|
752
|
+
c.derive_by_query("g/parent", r"\bcancel", name="g/cancels", mode="regex", lang="en")
|
|
753
|
+
body = c._http.post.call_args.kwargs["json"]
|
|
754
|
+
assert body["mode"] == "regex" and body["q"] == r"\bcancel" and body["lang"] == "en"
|
|
755
|
+
|
|
756
|
+
|
|
723
757
|
def test_optimize_embedding_search(monkeypatch):
|
|
724
758
|
c = _client(monkeypatch)
|
|
725
759
|
c._native = None
|
|
@@ -1093,6 +1127,11 @@ def test_module_semantic_search(fake_singleton):
|
|
|
1093
1127
|
assert ds_mod.semantic_search("g/n", "q", lang="fr") == [{"id": 2}]
|
|
1094
1128
|
|
|
1095
1129
|
|
|
1130
|
+
def test_module_regex_search(fake_singleton):
|
|
1131
|
+
fake_singleton.regex_search.return_value = [{"debug_id": "r1"}]
|
|
1132
|
+
assert ds_mod.regex_search("g/n", r"\bfoo", lang="en") == [{"debug_id": "r1"}]
|
|
1133
|
+
|
|
1134
|
+
|
|
1096
1135
|
def test_module_optimize_embedding_search(fake_singleton):
|
|
1097
1136
|
fake_singleton.optimize_embedding_search.return_value = {"status": "ready"}
|
|
1098
1137
|
assert ds_mod.optimize_embedding_search("g/n") == {"status": "ready"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.41.5 → openrunner_sdk-2.41.6}/tests/fixtures/wandb-export-mini/run-aaa/config.json
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
|
{openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/tests/fixtures/wandb-export-mini/run-bbb/config.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openrunner_sdk-2.41.5 → openrunner_sdk-2.41.6}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|