openrunner-sdk 2.24.2__tar.gz → 2.37.4__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.24.2 → openrunner_sdk-2.37.4}/.gitignore +4 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/PKG-INFO +1 -1
- openrunner_sdk-2.37.4/openrunner/CLAUDE.md +151 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/__init__.py +449 -3
- openrunner_sdk-2.37.4/openrunner/_safepath.py +33 -0
- openrunner_sdk-2.37.4/openrunner/_secret_rules.py +284 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/api_client.py +280 -10
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/artifact.py +23 -12
- openrunner_sdk-2.37.4/openrunner/autoresearch.py +108 -0
- openrunner_sdk-2.37.4/openrunner/cache.py +263 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/cli.py +955 -1
- openrunner_sdk-2.37.4/openrunner/datasets.py +1011 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/environment.py +66 -28
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/gpu/__init__.py +2 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/gpu/api_integration.py +23 -0
- openrunner_sdk-2.37.4/openrunner/gpu/runner.py +214 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/gpu/workspace_sync.py +2 -5
- openrunner_sdk-2.37.4/openrunner/handover.py +230 -0
- openrunner_sdk-2.37.4/openrunner/install_commands.py +2920 -0
- openrunner_sdk-2.37.4/openrunner/machine.py +236 -0
- openrunner_sdk-2.37.4/openrunner/mcp_server.py +4176 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/migrate.py +2 -3
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/model.py +12 -2
- openrunner_sdk-2.37.4/openrunner/model_card.py +314 -0
- openrunner_sdk-2.37.4/openrunner/projects.py +72 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/query_api.py +75 -3
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/redact.py +152 -8
- openrunner_sdk-2.37.4/openrunner/reload.py +564 -0
- openrunner_sdk-2.37.4/openrunner/research.py +376 -0
- openrunner_sdk-2.37.4/openrunner/research_policy.py +200 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/run.py +188 -51
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/session.py +162 -24
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/settings.py +69 -6
- openrunner_sdk-2.37.4/openrunner/sync.py +162 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/pyproject.toml +1 -1
- openrunner_sdk-2.37.4/scripts/gen_betterleaks_rules.py +175 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_api_client.py +33 -0
- openrunner_sdk-2.37.4/tests/test_gpu/test_runner.py +154 -0
- openrunner_sdk-2.37.4/tests/test_install_commands.py +35 -0
- openrunner_sdk-2.37.4/tests/test_mcp_decisions.py +187 -0
- openrunner_sdk-2.37.4/tests/test_mcp_monitor.py +146 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_query_api.py +47 -0
- openrunner_sdk-2.37.4/tests/test_session_sync.py +117 -0
- openrunner_sdk-2.24.2/openrunner/CLAUDE.md +0 -15
- openrunner_sdk-2.24.2/openrunner/cache.py +0 -92
- openrunner_sdk-2.24.2/openrunner/install_commands.py +0 -1505
- openrunner_sdk-2.24.2/openrunner/mcp_server.py +0 -1986
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/=6.0 +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/=8.1 +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/README.md +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/buffer.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/config.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/cost.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/dataset.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/evaluation.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/feedback.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/git_info.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/gpu/cost_guard.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/gpu/gpu_types.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/gpu/price_compare.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/gpu/provider_base.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/gpu/providers/__init__.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/gpu/providers/lambda_cloud.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/gpu/providers/modal_provider.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/gpu/providers/ovhcloud.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/gpu/providers/runpod.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/gpu/providers/vastai.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/guardrails.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/hooks/patent-lab-post-commit +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/__init__.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/accelerate.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/anthropic_tracer.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/catboost.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/diffusers.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/fastai.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/forced_alignment.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/gladia.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/gymnasium.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/huggingface.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/hydra.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/ignite.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/jax.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/keras.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/langchain.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/lightgbm.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/lightning.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/llamaindex.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/openai_finetune.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/openai_tracer.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/optuna.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/pytorch.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/sb3.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/sklearn.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/skypilot.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/tensorflow.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/trl.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/tts.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/ultralytics.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/voice_agent.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/whisper.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/integration/xgboost.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/launch.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/media.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/offline.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/patent_scan.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/pii.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/plot.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/prompt.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/scorers.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/sender.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/summary.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/sweep.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/system_metrics.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/tensorboard.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/tools/__init__.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/tools/patent_report.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/trace.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/transcript_formatter.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/wal.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/wandb_compat/__init__.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/wandb_compat/_shim.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/openrunner/wer.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/__init__.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/conftest.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/fixtures/wandb-export-mini/run-aaa/config.json +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/fixtures/wandb-export-mini/run-aaa/metadata.json +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/fixtures/wandb-export-mini/run-aaa/metrics.jsonl +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/fixtures/wandb-export-mini/run-aaa/summary.json +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/fixtures/wandb-export-mini/run-bbb/artifacts/model-checkpoint/manifest.json +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/fixtures/wandb-export-mini/run-bbb/artifacts/model-checkpoint/weights.bin +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/fixtures/wandb-export-mini/run-bbb/artifacts/sample-image/manifest.json +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/fixtures/wandb-export-mini/run-bbb/artifacts/sample-image/preview.png +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/fixtures/wandb-export-mini/run-bbb/config.json +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/fixtures/wandb-export-mini/run-bbb/metadata.json +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/fixtures/wandb-export-mini/run-bbb/metrics.jsonl +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/fixtures/wandb-export-mini/run-bbb/summary.json +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/integration/__init__.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/integration/conftest.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/integration/test_artifact_round_trip.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_alert.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_aliases.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_artifact.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_buffer.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_cache.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_class_scorers.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_cli.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_config.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_evaluation.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_finish.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_git_info.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_gpu/__init__.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_gpu/conftest.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_gpu/test_cost_guard.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_gpu/test_gpu_types.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_gpu/test_lambda.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_gpu/test_modal.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_gpu/test_ovhcloud.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_gpu/test_price_compare.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_gpu/test_provider_base.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_gpu/test_runpod.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_gpu/test_sdk_gpu_api.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_gpu/test_vastai.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_gpu/test_workspace_sync.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_init.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_integration_fastai.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_integration_huggingface.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_integration_keras.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_integration_langchain.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_integration_lightning.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_integration_pytorch.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_integration_sklearn.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_integration_xgboost.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_launch.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_log.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_log_code.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_mcp_predictions.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_media.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_migrate.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_offline.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_offline_sync.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_pii.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_plot.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_resume.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_sdk_features.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_sender.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_summary.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_sweep.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_system_metrics.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/tests/test_trace.py +0 -0
- {openrunner_sdk-2.24.2 → openrunner_sdk-2.37.4}/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.
|
|
3
|
+
Version: 2.37.4
|
|
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
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# OpenRunner SDK — Datasets (HuggingFace-style)
|
|
2
|
+
|
|
3
|
+
`openrunner.datasets` is a near drop-in replacement for `huggingface_hub` +
|
|
4
|
+
`datasets` for **org-level, reference-only** datasets (metadata, tags, card,
|
|
5
|
+
optional small preview — no full content stored). `repo_id` is `"org/name"`.
|
|
6
|
+
|
|
7
|
+
```python
|
|
8
|
+
from openrunner import datasets as ord
|
|
9
|
+
|
|
10
|
+
ord.create_dataset("gladia/wmt-en-fr", modality="Text", tasks=["translation"],
|
|
11
|
+
languages=["en", "fr"], num_examples=40_000_000,
|
|
12
|
+
format="parquet", source_uri="hf:wmt/wmt14",
|
|
13
|
+
card="# WMT En-Fr\n...", preview=[{"en": "hi", "fr": "salut"}])
|
|
14
|
+
|
|
15
|
+
ord.list_datasets(org="gladia") # -> [DatasetInfo, ...]
|
|
16
|
+
info = ord.dataset_info("gladia/wmt-en-fr")
|
|
17
|
+
ds = ord.load_dataset("gladia/wmt-en-fr") # HF rows if source is hf:*, else metadata+preview
|
|
18
|
+
ord.set_dataset_card("gladia/wmt-en-fr", md) # update README
|
|
19
|
+
ord.link_run("gladia/wmt-en-fr", run_id) # lineage dataset -> run -> model
|
|
20
|
+
ord.push_dataset("gladia/wmt-en-fr", license="cc-by-4.0") # create-or-update
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**ALWAYS link the dataset(s) a run uses** — pass `datasets=` to `init` so every
|
|
24
|
+
run has data lineage (no "no dataset linked" reproducibility gap):
|
|
25
|
+
|
|
26
|
+
```python
|
|
27
|
+
openrunner.init(project="gladia/age-gender-sentiment-emotion", name="v15",
|
|
28
|
+
datasets=["03822df0-...", "gladia/fleurs"]) # UUID or org/name
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
(`openrunner.sync_environment(..., link_datasets=[...])` and
|
|
32
|
+
`/openrunner:sync-env --link-dataset ID` do the same when pushing a local env.)
|
|
33
|
+
|
|
34
|
+
`load_dataset` delegates to HF `datasets.load_dataset` when `source_uri` is
|
|
35
|
+
`hf:org/name` and the package is installed; otherwise returns a `LoadedDataset`
|
|
36
|
+
(`.info`, `.rows`, iterable). Facets match the HF Hub: modality, format,
|
|
37
|
+
dataset_type (standard/benchmark/traces), tasks, languages, size.
|
|
38
|
+
|
|
39
|
+
### Charts & diagrams in cards
|
|
40
|
+
Dataset cards and model cards render markdown with two live graphic blocks —
|
|
41
|
+
use them instead of static tables/images, with REAL data only:
|
|
42
|
+
- ```` ```echarts ```` + a valid ECharts option (JSON) → a live chart
|
|
43
|
+
(line/bar/scatter/pie, and `series.type:"graph"` for node-edge dependency
|
|
44
|
+
graphs). e.g. plot per-subset row counts or eval metrics.
|
|
45
|
+
- ```` ```mermaid ```` → a flowchart / sequence / ER diagram for pipeline or
|
|
46
|
+
schema. Rendered in `securityLevel:"strict"`.
|
|
47
|
+
|
|
48
|
+
## Managed (governed) uploads
|
|
49
|
+
|
|
50
|
+
Bind a dataset to **one** org storage connection so uploads flow through the API
|
|
51
|
+
— credentials never leave the server, and every file is tracked (who/what/size/
|
|
52
|
+
sha256/content-type). This avoids scattered connections and opaque bucket blobs.
|
|
53
|
+
|
|
54
|
+
```python
|
|
55
|
+
# bind at create (connection = org storage-connection NAME or UUID)
|
|
56
|
+
ord.create_dataset("gladia/my-text-set", modality="Text", format="parquet",
|
|
57
|
+
connection="ML.text-datasets") # -> source_type="managed"
|
|
58
|
+
|
|
59
|
+
ord.upload_file("gladia/my-text-set", "train.parquet") # one file
|
|
60
|
+
ord.upload_folder("gladia/my-text-set", "./data") # whole tree
|
|
61
|
+
ord.list_files("gladia/my-text-set") # [{path,size_bytes,sha256,content_type,uploaded_by}]
|
|
62
|
+
|
|
63
|
+
# or bind lazily on first upload of an unbound dataset:
|
|
64
|
+
ord.upload_file("gladia/my-text-set", "train.parquet", connection="ML.text-datasets")
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
CLI: `openrunner datasets create … --connection ML.text-datasets`,
|
|
68
|
+
`openrunner datasets upload org/name FILE_OR_DIR…`, `openrunner datasets files org/name`.
|
|
69
|
+
|
|
70
|
+
Files land under `s3://<bucket>/<conn.prefix>/datasets/<org_id>/<name>/<path>`;
|
|
71
|
+
`source_uri` is set to that prefix and `source_type` becomes `managed`.
|
|
72
|
+
|
|
73
|
+
Uploading does **not** index/embed. To make a managed dataset searchable, build
|
|
74
|
+
a LanceDB index (written to the same connection) — opt-in:
|
|
75
|
+
|
|
76
|
+
```python
|
|
77
|
+
ord.index_dataset("gladia/my-text-set", text_columns=["en", "fr"]) # FTS, no external svc
|
|
78
|
+
ord.search_dataset("gladia/my-text-set", "translation", limit=10)
|
|
79
|
+
ord.index_dataset("gladia/my-text-set", embed=True) # + vectors, only if a server embedder is set
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
CLI: `openrunner datasets index org/name --text-col en --text-col fr`,
|
|
83
|
+
`openrunner datasets search org/name "translation"`. FTS indexes a single
|
|
84
|
+
combined `_text` column so one query spans all text fields; preview/search read
|
|
85
|
+
the LanceDB table on the dataset's own connection.
|
|
86
|
+
|
|
87
|
+
# OpenRunner MCP Integration
|
|
88
|
+
|
|
89
|
+
When the user publishes a MODEL, or asks to write/update a model card:
|
|
90
|
+
- FIRST call `mcp__openrunner__openrunner_model_card_standard` (pass `model_type`/`task`)
|
|
91
|
+
to get the rules + a fill-in template. Follow it exactly.
|
|
92
|
+
- Ground every number in REAL data — read run `summary` (metrics live there),
|
|
93
|
+
`config`, environment, the project's AI sessions and repo reports. NEVER
|
|
94
|
+
fabricate a number; flag unknowns as `must benchmark`. Label each figure
|
|
95
|
+
`(ours, measured, <protocol>)` or as an external published reference.
|
|
96
|
+
- Write the card with `mcp__openrunner__openrunner_set_model_card` (it validates
|
|
97
|
+
against the standard and returns non-blocking warnings). It only ever PATCHes
|
|
98
|
+
`card_markdown` — never touch other fields/runs/weights.
|
|
99
|
+
- From the SDK: `openrunner.set_model_card(name, md)` / `openrunner.get_model_card(name)`,
|
|
100
|
+
`openrunner.MODEL_CARD_STANDARD`, `openrunner.model_card_template()`,
|
|
101
|
+
`openrunner.validate_model_card(md)`. CLI: `openrunner upload-artifact ... --card card.md`.
|
|
102
|
+
Call `log_artifact`/`link_artifact` EXACTLY ONCE per version (a second call
|
|
103
|
+
duplicates the version).
|
|
104
|
+
|
|
105
|
+
When the user says a model is "done", wants to hand it over / ship / deploy it, or
|
|
106
|
+
asks how to make a model ready for product (the ML / inference / foundations teams):
|
|
107
|
+
- FIRST call `mcp__openrunner__openrunner_handover_standard` (pass `model_name`) to
|
|
108
|
+
get the Gladia Model Handover Standard: 13 mandatory deliverables, Definition of
|
|
109
|
+
Done, enablement session, ownership transfer, maturity tags POC/BETA/PROD-READY.
|
|
110
|
+
- "It's done" != "ready for product". Ownership only transfers when the receiving
|
|
111
|
+
team can operate, modify, retrain and deploy WITHOUT the author.
|
|
112
|
+
- Assess each deliverable against REAL artifacts/runs; fill gaps (model card via
|
|
113
|
+
`openrunner_model_card_standard`, benchmarks vs Solaria baselines, license
|
|
114
|
+
analysis, repro script, ops/COGS, known gaps with owner+ETA).
|
|
115
|
+
- Validate with `mcp__openrunner__openrunner_validate_handover` (pass a `status`
|
|
116
|
+
map + `maturity`). Never call a model PROD-READY while a BLOCKING gap is open.
|
|
117
|
+
- SDK: `openrunner.HANDOVER_STANDARD`, `handover_ticket_template(name)`,
|
|
118
|
+
`validate_handover(status, maturity=...)`. CLI: `openrunner handover standard|ticket|check`.
|
|
119
|
+
Slash command: `/openrunner:handover`.
|
|
120
|
+
|
|
121
|
+
When the user asks about training metrics, loss charts, run data, or experiment results:
|
|
122
|
+
- Use `mcp__openrunner__openrunner_watch_run` to show ASCII sparkline charts
|
|
123
|
+
- Use `mcp__openrunner__openrunner_get_run_metrics` for raw metrics
|
|
124
|
+
- Use `mcp__openrunner__openrunner_list_runs` to find runs
|
|
125
|
+
- Use `mcp__openrunner__openrunner_search_sessions` to search AI session history
|
|
126
|
+
|
|
127
|
+
Do NOT parse log files or grep for metrics when OpenRunner MCP tools are available.
|
|
128
|
+
|
|
129
|
+
When the user asks to monitor a training, diagnose loss curves, or get training
|
|
130
|
+
advice (diverging, overfitting, plateau, NaN loss, LR tuning):
|
|
131
|
+
- Use `mcp__openrunner__openrunner_monitor_training` for a health verdict
|
|
132
|
+
(HEALTHY / IMPROVING / PLATEAUED / OVERFITTING / UNSTABLE / DIVERGING) plus
|
|
133
|
+
per-metric trend, plateau, instability and overfitting signals.
|
|
134
|
+
- Run `/openrunner:training-recommendations [run_id]` for actionable fixes.
|
|
135
|
+
|
|
136
|
+
When the user makes or describes a deliberate decision (changing a param,
|
|
137
|
+
switching strategy, picking an architecture, a data/process/tooling choice):
|
|
138
|
+
- Use `mcp__openrunner__openrunner_log_decision` to document it (context,
|
|
139
|
+
rationale, alternatives; `source_runs` for the run(s) it was decided from,
|
|
140
|
+
`param`/`old_value`/`new_value` for a param change, optional `markdown` body
|
|
141
|
+
+ `attachment_url` PDF).
|
|
142
|
+
- Use `mcp__openrunner__openrunner_set_decision_runs` to attach resulting runs.
|
|
143
|
+
- Use `mcp__openrunner__openrunner_list_decisions` to review the decision log.
|
|
144
|
+
- Run `/openrunner:log-decision` for a guided capture.
|
|
145
|
+
- Decisions render to HTML/PDF: `GET /projects/{id}/decisions/{id}/render?format=pdf`.
|
|
146
|
+
|
|
147
|
+
When the user asks about papers, research, or sessions:
|
|
148
|
+
- Use `mcp__openrunner__openrunner_search_papers` for paper content
|
|
149
|
+
- Use `mcp__openrunner__openrunner_search_research` for research plans
|
|
150
|
+
- Use `mcp__openrunner__openrunner_search_sessions` for AI session history
|
|
151
|
+
- Use `mcp__openrunner__openrunner_update_paper` to modify paper sections
|