openrunner-sdk 2.4.3__tar.gz → 2.4.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.4.3 → openrunner_sdk-2.4.4}/PKG-INFO +1 -1
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/__init__.py +1 -1
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/api_client.py +14 -5
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/pyproject.toml +1 -1
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/.gitignore +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/=6.0 +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/=8.1 +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/README.md +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/artifact.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/buffer.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/cache.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/cli.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/config.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/cost.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/dataset.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/environment.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/evaluation.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/feedback.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/git_info.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/guardrails.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/__init__.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/accelerate.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/anthropic_tracer.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/catboost.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/diffusers.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/fastai.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/forced_alignment.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/gladia.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/gymnasium.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/huggingface.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/hydra.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/ignite.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/jax.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/keras.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/langchain.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/lightgbm.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/lightning.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/llamaindex.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/openai_finetune.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/openai_tracer.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/optuna.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/pytorch.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/sb3.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/sklearn.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/tensorflow.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/trl.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/tts.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/ultralytics.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/voice_agent.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/whisper.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/integration/xgboost.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/launch.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/media.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/migrate.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/model.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/offline.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/pii.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/plot.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/prompt.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/query_api.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/run.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/scorers.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/sender.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/settings.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/summary.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/sweep.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/system_metrics.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/tensorboard.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/trace.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/transcript_formatter.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/wal.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/wandb_compat/__init__.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/wandb_compat/_shim.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/openrunner/wer.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/__init__.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/conftest.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_alert.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_aliases.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_api_client.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_artifact.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_buffer.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_cache.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_class_scorers.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_cli.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_config.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_evaluation.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_finish.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_git_info.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_init.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_integration_fastai.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_integration_huggingface.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_integration_keras.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_integration_langchain.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_integration_lightning.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_integration_pytorch.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_integration_sklearn.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_integration_xgboost.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_launch.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_log.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_log_code.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_media.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_migrate.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_offline.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_offline_sync.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_pii.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_plot.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_query_api.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_resume.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_sdk_features.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_sender.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_summary.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_sweep.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_system_metrics.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.4}/tests/test_trace.py +0 -0
- {openrunner_sdk-2.4.3 → openrunner_sdk-2.4.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.4.
|
|
3
|
+
Version: 2.4.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
|
|
@@ -120,7 +120,7 @@ launch.from_run = _launch_from_run # type: ignore[attr-defined]
|
|
|
120
120
|
# openrunner.trace.patch_openai() syntax
|
|
121
121
|
trace.patch_openai = _patch_openai # type: ignore[attr-defined]
|
|
122
122
|
|
|
123
|
-
__version__ = "2.4.
|
|
123
|
+
__version__ = "2.4.4"
|
|
124
124
|
|
|
125
125
|
logger = logging.getLogger("openrunner")
|
|
126
126
|
|
|
@@ -688,23 +688,32 @@ class APIClient:
|
|
|
688
688
|
) -> bool:
|
|
689
689
|
"""PUT raw file bytes to a presigned URL.
|
|
690
690
|
|
|
691
|
-
|
|
692
|
-
|
|
691
|
+
Handles three cases:
|
|
692
|
+
1. Relative proxy URL (/api/v1/runs/...) — use authenticated client
|
|
693
|
+
2. Absolute URL — try direct PUT, fall back to proxy on ConnectError
|
|
694
|
+
3. ConnectError fallback — PUT via /runs/{run_id}/files/{name}
|
|
693
695
|
"""
|
|
694
696
|
try:
|
|
695
697
|
with open(file_path, "rb") as f:
|
|
696
698
|
data = f.read()
|
|
697
|
-
|
|
699
|
+
|
|
700
|
+
# Case 1: relative proxy URL from server
|
|
701
|
+
if presigned_url.startswith("/"):
|
|
702
|
+
api_path = presigned_url.replace("/api/v1/", "/", 1) if presigned_url.startswith("/api/v1/") else presigned_url
|
|
703
|
+
resp = self._request("put", api_path, content=data)
|
|
704
|
+
return resp.status_code == 200
|
|
705
|
+
|
|
706
|
+
# Case 2: absolute presigned URL (direct to S3)
|
|
698
707
|
try:
|
|
699
708
|
resp = httpx.put(presigned_url, content=data, timeout=300.0)
|
|
700
709
|
resp.raise_for_status()
|
|
701
710
|
return True
|
|
702
711
|
except (httpx.ConnectError, httpx.ConnectTimeout):
|
|
703
|
-
#
|
|
712
|
+
# Case 3: fallback to API proxy
|
|
704
713
|
if run_id:
|
|
705
714
|
import os
|
|
706
715
|
fname = os.path.basename(file_path)
|
|
707
|
-
proxy_resp = self._request("
|
|
716
|
+
proxy_resp = self._request("put", f"/runs/{run_id}/files/{fname}", content=data)
|
|
708
717
|
return proxy_resp.status_code == 200
|
|
709
718
|
return False
|
|
710
719
|
except Exception as e:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|