hud-python 0.4.41__py3-none-any.whl → 0.4.42__py3-none-any.whl

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.

Potentially problematic release.


This version of hud-python might be problematic. Click here for more details.

hud/cli/rl/gpu_utils.py CHANGED
@@ -253,6 +253,8 @@ def adjust_config_for_ddp(config: Config, num_gpus: int) -> Config:
253
253
  # Update max_parallel_episodes to match
254
254
  config.actor.max_parallel_episodes = config.training.batch_size
255
255
 
256
+ config.training.num_gpus = num_gpus
257
+
256
258
  # Log the adjustment
257
259
  from rich.console import Console
258
260
 
@@ -310,7 +310,7 @@ def run_remote_training(
310
310
  # console.print(gpu_table)
311
311
 
312
312
  if yes:
313
- gpu_choice = "A100" # Default GPU in yes mode
313
+ gpu_choice = "A100"
314
314
  hud_console.info(f"Auto-selecting GPU: {gpu_choice} 80GB (--yes mode)")
315
315
  else:
316
316
  gpu_choice = hud_console.select(
@@ -323,7 +323,7 @@ def run_remote_training(
323
323
  )
324
324
 
325
325
  if yes:
326
- num_gpus = 1 # Default to 1 GPU in yes mode
326
+ num_gpus = 2 # Default to 2 GPUs in yes mode
327
327
  hud_console.info(f"Auto-selecting {num_gpus} GPU(s) (--yes mode)")
328
328
  else:
329
329
  num_gpus = hud_console.select(
@@ -350,6 +350,8 @@ def run_remote_training(
350
350
 
351
351
  config = adjust_config_for_ddp(config, int(num_gpus))
352
352
 
353
+ config.training.gpu_type = gpu_choice
354
+
353
355
  # Use a short label for tasks (avoid full absolute paths)
354
356
  try:
355
357
  if tasks_file and Path(tasks_file).exists():
@@ -424,8 +426,8 @@ def run_remote_training(
424
426
  hud_console.info(f"Loading configuration from: {config_file}")
425
427
  config = load_config(config_file)
426
428
  config_dict = config.to_dict()
427
- gpu_choice = "A100" # Default
428
- num_gpus = 1 # Default for non-interactive mode
429
+ gpu_choice = config.training.gpu_type
430
+ num_gpus = config.training.num_gpus
429
431
 
430
432
  # Launch training
431
433
  try:
hud/rl/actor.py CHANGED
@@ -109,7 +109,7 @@ class Actor:
109
109
 
110
110
  # Run the task
111
111
  try:
112
- with hud.trace(f"Training | {task.id}", job_id=job_id):
112
+ with hud.trace(f"Training | {task.prompt}", job_id=job_id):
113
113
  result = await agent.run(task, max_steps=self.actor_config.max_steps_per_episode)
114
114
 
115
115
  except Exception:
hud/rl/config.py CHANGED
@@ -61,6 +61,9 @@ class ModelConfig:
61
61
  @dataclass
62
62
  class TrainingConfig:
63
63
  """Training hyperparameters."""
64
+ # GPU parameters
65
+ gpu_type: str = "A100"
66
+ num_gpus: int = 2
64
67
 
65
68
  # Training parameters
66
69
  training_steps: int = 100
hud/rl/train.py CHANGED
@@ -103,7 +103,10 @@ async def train(config: Config, tasks: list[Task]) -> None:
103
103
  if is_main_process():
104
104
  hud_console.info(f"Creating job with config.job_id: {config.job_id}")
105
105
  job_obj = hud.create_job(
106
- job_id=config.job_id, name=config.job_name, metadata={"config": config.to_dict()}
106
+ job_id=config.job_id, name=config.job_name, metadata={
107
+ "config": config.to_dict(),
108
+ "agent_class": config.model.base_model
109
+ }
107
110
  )
108
111
  hud_console.info(f"Created job with job_obj.id: {job_obj.id}")
109
112
  job_obj.update_status_sync("running")
@@ -5,4 +5,4 @@ def test_import():
5
5
  """Test that the package can be imported."""
6
6
  import hud
7
7
 
8
- assert hud.__version__ == "0.4.41"
8
+ assert hud.__version__ == "0.4.42"
hud/version.py CHANGED
@@ -4,4 +4,4 @@ Version information for the HUD SDK.
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- __version__ = "0.4.41"
7
+ __version__ = "0.4.42"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hud-python
3
- Version: 0.4.41
3
+ Version: 0.4.42
4
4
  Summary: SDK for the HUD platform.
5
5
  Project-URL: Homepage, https://github.com/hud-evals/hud-python
6
6
  Project-URL: Bug Tracker, https://github.com/hud-evals/hud-python/issues
@@ -2,7 +2,7 @@ hud/__init__.py,sha256=JMDFUE1pP0J1Xl_miBdt7ERvoffZmTzSFe8yxz512A8,552
2
2
  hud/__main__.py,sha256=YR8Dq8OhINOsVfQ55PmRXXg4fEK84Rt_-rMtJ5rvhWo,145
3
3
  hud/settings.py,sha256=disObWa-DgXzoDcCDp3y1dTPaNsbR0IvoMJL9Eg4zyo,3947
4
4
  hud/types.py,sha256=pmPj_8emfMIfEY_fRS8NgIJ56kCsolWSqQjyCzXDaGY,11072
5
- hud/version.py,sha256=C1Fy_xyAmtsGqUTTCdTCms68E9dj7ZaxR50aXhxj6cc,105
5
+ hud/version.py,sha256=cq2TbXqf0IU0JmINUgqBhq-0yqdfvngAxHjSWlTSBns,105
6
6
  hud/agents/__init__.py,sha256=UoIkljWdbq4bM0LD-mSaw6w826EqdEjOk7r6glNYwYQ,286
7
7
  hud/agents/base.py,sha256=_u1zR3gXzZ1RlTCUYdMcvgHqdJBC4-AB1lZt0yBx8lg,35406
8
8
  hud/agents/claude.py,sha256=TGhm5gE2ltINDAdEsDxKuT9iGMQ5G87R6kmabU3KPt8,16101
@@ -40,10 +40,10 @@ hud/cli/rl/celebrate.py,sha256=trGEJn3xebexlHwFVKPJKhRujVVV8sy7TQTJvRd2p9A,5947
40
40
  hud/cli/rl/config.py,sha256=VZ8fiOI22Aw6YTRk7gj1ozpF-TU7NK8QWQgWFwMbNs0,3235
41
41
  hud/cli/rl/display.py,sha256=hqJVGmO9csYinladhZwjF-GMvppYWngxDHajTyIJ_gM,5214
42
42
  hud/cli/rl/gpu.py,sha256=peXS-NdUF5RyuSs0aZoCzGLboneBUpCy8f9f99WMrG0,2009
43
- hud/cli/rl/gpu_utils.py,sha256=H5ckPwgj5EVP3yJ5eVihR5R7Y6Gp6pt8ZUfWCCwcLG4,11072
43
+ hud/cli/rl/gpu_utils.py,sha256=f7olAhIxLmZmvII9igwtqnjIRPenY9DP6m70hp4lP0U,11113
44
44
  hud/cli/rl/local_runner.py,sha256=NFsNmRZ4nenPnb45ZtdsILeICKEq11wmpLwq9E-a8ZE,22614
45
45
  hud/cli/rl/presets.py,sha256=DzOO82xL5QyzdVtlX-Do1CODMvDz9ILMPapjU92jcZg,3051
46
- hud/cli/rl/remote_runner.py,sha256=FkFr6IOHLdmlNOZTqjaNBOCYyGm7Tf2BAT2YCWOoIGM,17486
46
+ hud/cli/rl/remote_runner.py,sha256=AXnmFGDqo4NcCpJ2RE-Q1HaKzIYlqFP1TWU4tQC_DFk,17500
47
47
  hud/cli/rl/rl_api.py,sha256=INJobvSa50ccR037u_GPsDa_9WboWyNwqEaoh9hcXj0,4306
48
48
  hud/cli/rl/viewer.py,sha256=ExQs1IX3T8x_9aBzc4JojZ779jmFvFTh7EjOYIHzYsU,4441
49
49
  hud/cli/rl/vllm.py,sha256=Gq_M6KsQArGz7FNIdemuM5mk16mu3xe8abpO2GCCuOE,6093
@@ -117,13 +117,13 @@ hud/otel/tests/__init__.py,sha256=VNJKBMaxTtbn7trW-1Ph50zCvCok_wTSGcI1HD6GOLA,43
117
117
  hud/otel/tests/test_processors.py,sha256=np0R4ssd9j6LJSJykJ5bNjl0POwNYNhgb7BqOZHwcMY,6778
118
118
  hud/rl/README.md,sha256=uFRpNFaEY8paq9k1C4miF7AGnbqHTGAsPmpcf9JIEeA,1189
119
119
  hud/rl/__init__.py,sha256=yYL7U1WV6L3mr3Hig48-4lhnryTaWj4nCXm4lG5vrYI,25
120
- hud/rl/actor.py,sha256=n2f2BI9IOK__x7Seirq6EQI0yyicMBYd5BjPsc4T9rQ,6946
120
+ hud/rl/actor.py,sha256=H6gwRGRY1YpkOyiaJ9yai8yQwcI-Gx0dFxd18jpLx_Q,6950
121
121
  hud/rl/buffer.py,sha256=z47HOjOBJx3umUzzUfdtq_N4ZoJ8FMBPkX8YQKBtd3A,15457
122
122
  hud/rl/chat_template.jinja,sha256=XTdzI8oFGEcSA-exKxyHaprwRDmX5Am1KEb0VxvUc6U,4965
123
- hud/rl/config.py,sha256=PAKYPCsKl8yg_j3gJSE5SJUgLM7j0lFy0K_Vt4-otDM,5384
123
+ hud/rl/config.py,sha256=0ejjbIMXqxjhz3VnIHX0QFtZ_0KmXNynTuHdg-i0M5o,5454
124
124
  hud/rl/distributed.py,sha256=8avhrb0lHYkhW22Z7MfkqSnlczWj5jMrUMEtkcoCf74,2473
125
125
  hud/rl/learner.py,sha256=FKIgIIghsNiDr_g090xokOO_BxNmTSj1O-TSJzIq_Uw,24703
126
- hud/rl/train.py,sha256=ZigkUKj-I1nsYmFByZprqaoDZ88LVDH-6auYneEPOsA,13555
126
+ hud/rl/train.py,sha256=i8_HocC92yC-wP_ZeQYUXLhJKNvsfX8mdnhO8gOf-8c,13641
127
127
  hud/rl/types.py,sha256=lrLKo7iaqodYth2EyeuOQfLiuzXfYM2eJjPmpObrD7c,3965
128
128
  hud/rl/utils.py,sha256=IsgVUUibxnUzb32a4mu1sYrgJC1CwoG9E-Dd5y5VDOA,19115
129
129
  hud/rl/vllm_adapter.py,sha256=2wnTfoXPI4C9EzhVxk0GU-ArLjX7hgXS0BndMwN8Ppg,4751
@@ -218,10 +218,10 @@ hud/utils/tests/test_init.py,sha256=2QLQSGgyP9wJhOvPCusm_zjJad0qApOZi1BXpxcdHXQ,
218
218
  hud/utils/tests/test_mcp.py,sha256=0pUa16mL-bqbZDXp5NHBnt1gO5o10BOg7zTMHZ1DNPM,4023
219
219
  hud/utils/tests/test_progress.py,sha256=QSF7Kpi03Ff_l3mAeqW9qs1nhK50j9vBiSobZq7T4f4,7394
220
220
  hud/utils/tests/test_telemetry.py,sha256=5jl7bEx8C8b-FfFUko5pf4UY-mPOR-9HaeL98dGtVHM,2781
221
- hud/utils/tests/test_version.py,sha256=Y5eL4qx41L0b6Ih_xxAcO_cnvcUmfISmHlut9W0haOA,160
221
+ hud/utils/tests/test_version.py,sha256=nPdE5Z40E9Q4XglmFTXKz9ffcgtlH7iV_yqI267-7ic,160
222
222
  hud/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
223
- hud_python-0.4.41.dist-info/METADATA,sha256=Hx89Ngi8RmMOFtvMNF5y2m_1Y_lXI3C5dtTH_g4Fco0,22275
224
- hud_python-0.4.41.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
225
- hud_python-0.4.41.dist-info/entry_points.txt,sha256=jJbodNFg1m0-CDofe5AHvB4zKBq7sSdP97-ohaQ3ae4,63
226
- hud_python-0.4.41.dist-info/licenses/LICENSE,sha256=yIzBheVUf86FC1bztAcr7RYWWNxyd3B-UJQ3uddg1HA,1078
227
- hud_python-0.4.41.dist-info/RECORD,,
223
+ hud_python-0.4.42.dist-info/METADATA,sha256=cN0LvsjgX38My66ATDP5l_KqaokO9oRS8vWetmAL_So,22275
224
+ hud_python-0.4.42.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
225
+ hud_python-0.4.42.dist-info/entry_points.txt,sha256=jJbodNFg1m0-CDofe5AHvB4zKBq7sSdP97-ohaQ3ae4,63
226
+ hud_python-0.4.42.dist-info/licenses/LICENSE,sha256=yIzBheVUf86FC1bztAcr7RYWWNxyd3B-UJQ3uddg1HA,1078
227
+ hud_python-0.4.42.dist-info/RECORD,,