openrunner-sdk 2.18.1__tar.gz → 2.18.2__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.
Files changed (120) hide show
  1. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/PKG-INFO +1 -1
  2. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/__init__.py +1 -1
  3. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/install_commands.py +13 -5
  4. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/pyproject.toml +1 -1
  5. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/.gitignore +0 -0
  6. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/=6.0 +0 -0
  7. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/=8.1 +0 -0
  8. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/README.md +0 -0
  9. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/CLAUDE.md +0 -0
  10. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/api_client.py +0 -0
  11. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/artifact.py +0 -0
  12. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/buffer.py +0 -0
  13. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/cache.py +0 -0
  14. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/cli.py +0 -0
  15. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/config.py +0 -0
  16. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/cost.py +0 -0
  17. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/dataset.py +0 -0
  18. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/environment.py +0 -0
  19. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/evaluation.py +0 -0
  20. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/feedback.py +0 -0
  21. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/git_info.py +0 -0
  22. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/guardrails.py +0 -0
  23. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/__init__.py +0 -0
  24. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/accelerate.py +0 -0
  25. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/anthropic_tracer.py +0 -0
  26. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/catboost.py +0 -0
  27. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/diffusers.py +0 -0
  28. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/fastai.py +0 -0
  29. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/forced_alignment.py +0 -0
  30. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/gladia.py +0 -0
  31. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/gymnasium.py +0 -0
  32. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/huggingface.py +0 -0
  33. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/hydra.py +0 -0
  34. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/ignite.py +0 -0
  35. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/jax.py +0 -0
  36. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/keras.py +0 -0
  37. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/langchain.py +0 -0
  38. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/lightgbm.py +0 -0
  39. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/lightning.py +0 -0
  40. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/llamaindex.py +0 -0
  41. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/openai_finetune.py +0 -0
  42. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/openai_tracer.py +0 -0
  43. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/optuna.py +0 -0
  44. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/pytorch.py +0 -0
  45. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/sb3.py +0 -0
  46. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/sklearn.py +0 -0
  47. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/tensorflow.py +0 -0
  48. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/trl.py +0 -0
  49. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/tts.py +0 -0
  50. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/ultralytics.py +0 -0
  51. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/voice_agent.py +0 -0
  52. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/whisper.py +0 -0
  53. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/integration/xgboost.py +0 -0
  54. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/launch.py +0 -0
  55. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/mcp_server.py +0 -0
  56. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/media.py +0 -0
  57. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/migrate.py +0 -0
  58. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/model.py +0 -0
  59. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/offline.py +0 -0
  60. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/pii.py +0 -0
  61. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/plot.py +0 -0
  62. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/prompt.py +0 -0
  63. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/query_api.py +0 -0
  64. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/redact.py +0 -0
  65. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/run.py +0 -0
  66. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/scorers.py +0 -0
  67. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/sender.py +0 -0
  68. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/session.py +0 -0
  69. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/settings.py +0 -0
  70. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/summary.py +0 -0
  71. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/sweep.py +0 -0
  72. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/system_metrics.py +0 -0
  73. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/tensorboard.py +0 -0
  74. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/trace.py +0 -0
  75. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/transcript_formatter.py +0 -0
  76. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/wal.py +0 -0
  77. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/wandb_compat/__init__.py +0 -0
  78. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/wandb_compat/_shim.py +0 -0
  79. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/openrunner/wer.py +0 -0
  80. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/__init__.py +0 -0
  81. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/conftest.py +0 -0
  82. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_alert.py +0 -0
  83. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_aliases.py +0 -0
  84. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_api_client.py +0 -0
  85. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_artifact.py +0 -0
  86. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_buffer.py +0 -0
  87. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_cache.py +0 -0
  88. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_class_scorers.py +0 -0
  89. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_cli.py +0 -0
  90. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_config.py +0 -0
  91. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_evaluation.py +0 -0
  92. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_finish.py +0 -0
  93. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_git_info.py +0 -0
  94. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_init.py +0 -0
  95. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_integration_fastai.py +0 -0
  96. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_integration_huggingface.py +0 -0
  97. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_integration_keras.py +0 -0
  98. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_integration_langchain.py +0 -0
  99. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_integration_lightning.py +0 -0
  100. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_integration_pytorch.py +0 -0
  101. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_integration_sklearn.py +0 -0
  102. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_integration_xgboost.py +0 -0
  103. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_launch.py +0 -0
  104. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_log.py +0 -0
  105. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_log_code.py +0 -0
  106. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_media.py +0 -0
  107. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_migrate.py +0 -0
  108. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_offline.py +0 -0
  109. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_offline_sync.py +0 -0
  110. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_pii.py +0 -0
  111. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_plot.py +0 -0
  112. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_query_api.py +0 -0
  113. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_resume.py +0 -0
  114. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_sdk_features.py +0 -0
  115. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_sender.py +0 -0
  116. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_summary.py +0 -0
  117. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_sweep.py +0 -0
  118. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_system_metrics.py +0 -0
  119. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/tests/test_trace.py +0 -0
  120. {openrunner_sdk-2.18.1 → openrunner_sdk-2.18.2}/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.18.1
3
+ Version: 2.18.2
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.18.1"
123
+ __version__ = "2.18.2"
124
124
 
125
125
  logger = logging.getLogger("openrunner")
126
126
 
@@ -504,11 +504,12 @@ if not config.get('api_key'):
504
504
 
505
505
  client = APIClient(base_url=config['base_url'], api_key=config['api_key'])
506
506
 
507
- # Resolve project
507
+ # Resolve project (case-insensitive)
508
508
  project_name = config.get('project', '')
509
509
  project_id = None
510
510
  for p in client.list_projects():
511
- if f'{{p.get(\"org_name\",\"\")}}/{{p.get(\"name\",\"\")}}' == project_name or p.get('name') == project_name:
511
+ full = f'{{p.get(\"org_name\",\"\")}}/{{p.get(\"name\",\"\")}}'
512
+ if full.lower() == project_name.lower() or (p.get('name') or '').lower() == project_name.lower():
512
513
  project_id = p.get('id')
513
514
  break
514
515
 
@@ -559,11 +560,18 @@ while True:
559
560
  else:
560
561
  resp = client._request('get', f'/projects/{{project_id}}/runs', params={{'limit': 10, 'order': 'desc'}})
561
562
  runs_data = resp.json()
562
- runs = runs_data.get('runs', runs_data) if isinstance(runs_data, dict) else runs_data
563
+ if isinstance(runs_data, dict) and 'detail' in runs_data:
564
+ print('API_ERROR=%s' % runs_data['detail'])
565
+ break
566
+ if isinstance(runs_data, dict):
567
+ runs = runs_data.get('runs', [])
568
+ elif isinstance(runs_data, list):
569
+ runs = runs_data
570
+ else:
571
+ runs = []
563
572
  if not runs:
564
573
  print('NO_RUNS')
565
- client.close()
566
- sys.exit(1)
574
+ break
567
575
 
568
576
  # Collect metrics
569
577
  bars = '▁▂▃▄▅▆▇█'
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "openrunner-sdk"
3
- version = "2.18.1"
3
+ version = "2.18.2"
4
4
  description = "OpenRunner SDK - W&B-compatible ML experiment tracking client"
5
5
  readme = "README.md"
6
6
  license = {text = "MIT"}
File without changes
File without changes