hud-python 0.4.22__py3-none-any.whl → 0.4.23__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/agents/base.py +37 -39
- hud/agents/grounded_openai.py +3 -1
- hud/agents/misc/response_agent.py +3 -2
- hud/agents/openai.py +2 -2
- hud/agents/openai_chat_generic.py +3 -1
- hud/cli/__init__.py +34 -24
- hud/cli/analyze.py +27 -26
- hud/cli/build.py +50 -46
- hud/cli/debug.py +7 -7
- hud/cli/dev.py +107 -99
- hud/cli/eval.py +31 -29
- hud/cli/hf.py +53 -53
- hud/cli/init.py +28 -28
- hud/cli/list_func.py +22 -22
- hud/cli/pull.py +36 -36
- hud/cli/push.py +76 -74
- hud/cli/remove.py +42 -40
- hud/cli/rl/__init__.py +2 -2
- hud/cli/rl/init.py +41 -41
- hud/cli/rl/pod.py +97 -91
- hud/cli/rl/ssh.py +42 -40
- hud/cli/rl/train.py +75 -73
- hud/cli/rl/utils.py +10 -10
- hud/cli/tests/test_analyze.py +1 -1
- hud/cli/tests/test_analyze_metadata.py +2 -2
- hud/cli/tests/test_pull.py +45 -45
- hud/cli/tests/test_push.py +31 -29
- hud/cli/tests/test_registry.py +15 -15
- hud/cli/utils/environment.py +11 -11
- hud/cli/utils/interactive.py +17 -17
- hud/cli/utils/logging.py +12 -12
- hud/cli/utils/metadata.py +12 -12
- hud/cli/utils/registry.py +5 -5
- hud/cli/utils/runner.py +23 -23
- hud/cli/utils/server.py +16 -16
- hud/shared/hints.py +7 -7
- hud/tools/grounding/grounder.py +2 -1
- hud/types.py +4 -4
- hud/utils/__init__.py +3 -3
- hud/utils/{design.py → hud_console.py} +39 -33
- hud/utils/pretty_errors.py +6 -6
- hud/utils/tests/test_version.py +1 -1
- hud/version.py +1 -1
- {hud_python-0.4.22.dist-info → hud_python-0.4.23.dist-info}/METADATA +3 -1
- {hud_python-0.4.22.dist-info → hud_python-0.4.23.dist-info}/RECORD +48 -48
- {hud_python-0.4.22.dist-info → hud_python-0.4.23.dist-info}/WHEEL +0 -0
- {hud_python-0.4.22.dist-info → hud_python-0.4.23.dist-info}/entry_points.txt +0 -0
- {hud_python-0.4.22.dist-info → hud_python-0.4.23.dist-info}/licenses/LICENSE +0 -0
hud/shared/hints.py
CHANGED
|
@@ -144,9 +144,9 @@ def render_hints(hints: Iterable[Hint] | None, *, design: Any | None = None) ->
|
|
|
144
144
|
|
|
145
145
|
try:
|
|
146
146
|
if design is None:
|
|
147
|
-
from hud.utils.
|
|
147
|
+
from hud.utils.hud_console import hud_console as default_design # lazy import
|
|
148
148
|
|
|
149
|
-
|
|
149
|
+
hud_console = default_design
|
|
150
150
|
except Exception:
|
|
151
151
|
# If design is unavailable (non-CLI contexts), silently skip rendering
|
|
152
152
|
return
|
|
@@ -155,23 +155,23 @@ def render_hints(hints: Iterable[Hint] | None, *, design: Any | None = None) ->
|
|
|
155
155
|
try:
|
|
156
156
|
# Compact rendering - skip title if same as message
|
|
157
157
|
if hint.title and hint.title != hint.message:
|
|
158
|
-
|
|
158
|
+
hud_console.warning(f"{hint.title}: {hint.message}")
|
|
159
159
|
else:
|
|
160
|
-
|
|
160
|
+
hud_console.warning(hint.message)
|
|
161
161
|
|
|
162
162
|
# Tips as bullet points
|
|
163
163
|
if hint.tips:
|
|
164
164
|
for tip in hint.tips:
|
|
165
|
-
|
|
165
|
+
hud_console.info(f" • {tip}")
|
|
166
166
|
|
|
167
167
|
# Only show command examples if provided
|
|
168
168
|
if hint.command_examples:
|
|
169
169
|
for cmd in hint.command_examples:
|
|
170
|
-
|
|
170
|
+
hud_console.command_example(cmd)
|
|
171
171
|
|
|
172
172
|
# Only show docs URL if provided
|
|
173
173
|
if hint.docs_url:
|
|
174
|
-
|
|
174
|
+
hud_console.link(hint.docs_url)
|
|
175
175
|
except Exception:
|
|
176
176
|
logger.warning("Failed to render hint: %s", hint)
|
|
177
177
|
continue
|
hud/tools/grounding/grounder.py
CHANGED
|
@@ -9,7 +9,6 @@ import re
|
|
|
9
9
|
|
|
10
10
|
from openai import AsyncOpenAI
|
|
11
11
|
from opentelemetry import trace
|
|
12
|
-
from PIL import Image
|
|
13
12
|
|
|
14
13
|
from hud import instrument
|
|
15
14
|
from hud.tools.grounding.config import GrounderConfig # noqa: TC001
|
|
@@ -45,6 +44,8 @@ class Grounder:
|
|
|
45
44
|
(processed_width, processed_height))
|
|
46
45
|
"""
|
|
47
46
|
# Decode image
|
|
47
|
+
from PIL import Image
|
|
48
|
+
|
|
48
49
|
image_bytes = base64.b64decode(image_b64)
|
|
49
50
|
img = Image.open(io.BytesIO(image_bytes))
|
|
50
51
|
original_size = (img.width, img.height)
|
hud/types.py
CHANGED
|
@@ -29,9 +29,9 @@ class MCPToolCall(CallToolRequestParams):
|
|
|
29
29
|
|
|
30
30
|
def __rich__(self) -> str:
|
|
31
31
|
"""Rich representation with color formatting."""
|
|
32
|
-
from hud.utils.
|
|
32
|
+
from hud.utils.hud_console import hud_console
|
|
33
33
|
|
|
34
|
-
return
|
|
34
|
+
return hud_console.format_tool_call(self.name, self.arguments)
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
class MCPToolResult(CallToolResult):
|
|
@@ -74,10 +74,10 @@ class MCPToolResult(CallToolResult):
|
|
|
74
74
|
|
|
75
75
|
def __rich__(self) -> str:
|
|
76
76
|
"""Rich representation with color formatting."""
|
|
77
|
-
from hud.utils.
|
|
77
|
+
from hud.utils.hud_console import hud_console
|
|
78
78
|
|
|
79
79
|
content_summary = self._get_content_summary()
|
|
80
|
-
return
|
|
80
|
+
return hud_console.format_tool_result(content_summary, self.isError)
|
|
81
81
|
|
|
82
82
|
|
|
83
83
|
class AgentResponse(BaseModel):
|
hud/utils/__init__.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""HUD Design System - Consistent styling utilities for CLI output.
|
|
1
|
+
"""HUD Console Design System - Consistent styling utilities for CLI output.
|
|
2
2
|
|
|
3
3
|
This module provides a unified design system for HUD CLI commands,
|
|
4
4
|
ensuring consistent colors, formatting, and visual hierarchy across
|
|
@@ -6,10 +6,11 @@ all commands.
|
|
|
6
6
|
|
|
7
7
|
Color Palette:
|
|
8
8
|
- Gold (#c0960c): Primary brand color for headers and important elements
|
|
9
|
-
-
|
|
10
|
-
- Red: Errors and failures
|
|
11
|
-
- Green: Success messages
|
|
12
|
-
-
|
|
9
|
+
- Neutral Grey: Standard text that works on both light and dark backgrounds
|
|
10
|
+
- Muted Red: Errors and failures
|
|
11
|
+
- Muted Green: Success messages
|
|
12
|
+
- Bright Black: Secondary/dimmed information
|
|
13
|
+
- Blue-Purple: Links and interactive elements
|
|
13
14
|
"""
|
|
14
15
|
|
|
15
16
|
from __future__ import annotations
|
|
@@ -23,14 +24,16 @@ from rich.console import Console
|
|
|
23
24
|
from rich.panel import Panel
|
|
24
25
|
from rich.table import Table
|
|
25
26
|
|
|
26
|
-
# HUD Brand Colors
|
|
27
|
-
GOLD = "rgb(192,150,12)" # #c0960c
|
|
28
|
-
RED = "red
|
|
29
|
-
GREEN = "green
|
|
30
|
-
DIM = "
|
|
27
|
+
# HUD Brand Colors - Optimized for both light and dark modes
|
|
28
|
+
GOLD = "rgb(192,150,12)" # #c0960c - Primary brand color
|
|
29
|
+
RED = "rgb(220,50,47)" # Slightly muted red that works on both backgrounds
|
|
30
|
+
GREEN = "rgb(133,153,0)" # Slightly muted green that works on both backgrounds
|
|
31
|
+
DIM = "bright_black" # Grey that's visible on both light and dark backgrounds
|
|
32
|
+
TEXT = "bright_white" # Off-white that's readable on dark, not too bright on light
|
|
33
|
+
SECONDARY = "rgb(108,113,196)" # Muted blue-purple for secondary text
|
|
31
34
|
|
|
32
35
|
|
|
33
|
-
class
|
|
36
|
+
class HUDConsole:
|
|
34
37
|
"""Design system for HUD CLI output."""
|
|
35
38
|
|
|
36
39
|
def __init__(self, logger: logging.Logger | None = None) -> None:
|
|
@@ -72,7 +75,7 @@ class HUDDesign:
|
|
|
72
75
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
73
76
|
"""
|
|
74
77
|
console = self._stderr_console if stderr else self._stdout_console
|
|
75
|
-
console.print(f"[{GREEN}
|
|
78
|
+
console.print(f"[{GREEN}]✅ {message}[/{GREEN}]")
|
|
76
79
|
|
|
77
80
|
def error(self, message: str, stderr: bool = True) -> None:
|
|
78
81
|
"""Print an error message.
|
|
@@ -82,7 +85,7 @@ class HUDDesign:
|
|
|
82
85
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
83
86
|
"""
|
|
84
87
|
console = self._stderr_console if stderr else self._stdout_console
|
|
85
|
-
console.print(f"[{RED}
|
|
88
|
+
console.print(f"[{RED}]❌ {message}[/{RED}]")
|
|
86
89
|
|
|
87
90
|
def warning(self, message: str, stderr: bool = True) -> None:
|
|
88
91
|
"""Print a warning message.
|
|
@@ -92,7 +95,7 @@ class HUDDesign:
|
|
|
92
95
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
93
96
|
"""
|
|
94
97
|
console = self._stderr_console if stderr else self._stdout_console
|
|
95
|
-
console.print(f"[
|
|
98
|
+
console.print(f"[rgb(181,137,0)]⚠️ {message}[/rgb(181,137,0)]")
|
|
96
99
|
|
|
97
100
|
def info(self, message: str, stderr: bool = True) -> None:
|
|
98
101
|
"""Print an info message.
|
|
@@ -102,7 +105,7 @@ class HUDDesign:
|
|
|
102
105
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
103
106
|
"""
|
|
104
107
|
console = self._stderr_console if stderr else self._stdout_console
|
|
105
|
-
console.print(f"[
|
|
108
|
+
console.print(f"[{TEXT}]{message}[/{TEXT}]")
|
|
106
109
|
|
|
107
110
|
def print(self, message: str, stderr: bool = True) -> None:
|
|
108
111
|
"""Print a message.
|
|
@@ -123,7 +126,7 @@ class HUDDesign:
|
|
|
123
126
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
124
127
|
"""
|
|
125
128
|
console = self._stderr_console if stderr else self._stdout_console
|
|
126
|
-
console.print(f"[{DIM}]{label}[/{DIM}] [
|
|
129
|
+
console.print(f"[{DIM}]{label}[/{DIM}] [{TEXT}]{value}[/{TEXT}]")
|
|
127
130
|
|
|
128
131
|
def link(self, url: str, stderr: bool = True) -> None:
|
|
129
132
|
"""Print an underlined link.
|
|
@@ -133,18 +136,18 @@ class HUDDesign:
|
|
|
133
136
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
134
137
|
"""
|
|
135
138
|
console = self._stderr_console if stderr else self._stdout_console
|
|
136
|
-
console.print(f"[
|
|
139
|
+
console.print(f"[{SECONDARY} underline]{url}[/{SECONDARY} underline]")
|
|
137
140
|
|
|
138
141
|
def json_config(self, json_str: str, stderr: bool = True) -> None:
|
|
139
|
-
"""Print JSON configuration with
|
|
142
|
+
"""Print JSON configuration with neutral theme.
|
|
140
143
|
|
|
141
144
|
Args:
|
|
142
145
|
json_str: JSON string to display
|
|
143
146
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
144
147
|
"""
|
|
145
|
-
#
|
|
148
|
+
# Print JSON with neutral grey text
|
|
146
149
|
console = self._stderr_console if stderr else self._stdout_console
|
|
147
|
-
console.print(f"[
|
|
150
|
+
console.print(f"[{TEXT}]{json_str}[/{TEXT}]")
|
|
148
151
|
|
|
149
152
|
def key_value_table(
|
|
150
153
|
self, data: dict[str, str], show_header: bool = False, stderr: bool = True
|
|
@@ -174,7 +177,7 @@ class HUDDesign:
|
|
|
174
177
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
175
178
|
"""
|
|
176
179
|
console = self._stderr_console if stderr else self._stdout_console
|
|
177
|
-
console.print(f"[{DIM}
|
|
180
|
+
console.print(f"[{DIM}]{message}[/{DIM}]")
|
|
178
181
|
|
|
179
182
|
def phase(self, phase_num: int, title: str, stderr: bool = True) -> None:
|
|
180
183
|
"""Print a phase header (for debug command).
|
|
@@ -197,7 +200,7 @@ class HUDDesign:
|
|
|
197
200
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
198
201
|
"""
|
|
199
202
|
console = self._stderr_console if stderr else self._stdout_console
|
|
200
|
-
console.print(f"[bold]$ {' '.join(cmd)}[/bold]")
|
|
203
|
+
console.print(f"[bold {TEXT}]$ {' '.join(cmd)}[/bold {TEXT}]")
|
|
201
204
|
|
|
202
205
|
def hint(self, hint: str, stderr: bool = True) -> None:
|
|
203
206
|
"""Print a hint message.
|
|
@@ -207,7 +210,7 @@ class HUDDesign:
|
|
|
207
210
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
208
211
|
"""
|
|
209
212
|
console = self._stderr_console if stderr else self._stdout_console
|
|
210
|
-
console.print(f"\n[
|
|
213
|
+
console.print(f"\n[rgb(181,137,0)]💡 Hint: {hint}[/rgb(181,137,0)]")
|
|
211
214
|
|
|
212
215
|
def status_item(
|
|
213
216
|
self,
|
|
@@ -227,8 +230,8 @@ class HUDDesign:
|
|
|
227
230
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
228
231
|
"""
|
|
229
232
|
indicators = {
|
|
230
|
-
"success": f"[{GREEN}
|
|
231
|
-
"error": f"[{RED}
|
|
233
|
+
"success": f"[{GREEN}]✓[/{GREEN}]",
|
|
234
|
+
"error": f"[{RED}]✗[/{RED}]",
|
|
232
235
|
"warning": "[yellow]⚠[/yellow]",
|
|
233
236
|
"info": f"[{DIM}]•[/{DIM}]",
|
|
234
237
|
}
|
|
@@ -237,9 +240,9 @@ class HUDDesign:
|
|
|
237
240
|
console = self._stderr_console if stderr else self._stdout_console
|
|
238
241
|
|
|
239
242
|
if primary:
|
|
240
|
-
console.print(f"{indicator} {label}: [bold
|
|
243
|
+
console.print(f"{indicator} {label}: [bold {SECONDARY}]{value}[/bold {SECONDARY}]")
|
|
241
244
|
else:
|
|
242
|
-
console.print(f"{indicator} {label}: {value}")
|
|
245
|
+
console.print(f"{indicator} {label}: [{TEXT}]{value}[/{TEXT}]")
|
|
243
246
|
|
|
244
247
|
def command_example(
|
|
245
248
|
self, command: str, description: str | None = None, stderr: bool = True
|
|
@@ -253,9 +256,12 @@ class HUDDesign:
|
|
|
253
256
|
"""
|
|
254
257
|
console = self._stderr_console if stderr else self._stdout_console
|
|
255
258
|
if description:
|
|
256
|
-
console.print(
|
|
259
|
+
console.print(
|
|
260
|
+
f" [{SECONDARY}]{command}[/{SECONDARY}] "
|
|
261
|
+
f"[bright_black]# {description}[/bright_black]"
|
|
262
|
+
)
|
|
257
263
|
else:
|
|
258
|
-
console.print(f" [
|
|
264
|
+
console.print(f" [{SECONDARY}]{command}[/{SECONDARY}]")
|
|
259
265
|
|
|
260
266
|
# Exception rendering utilities
|
|
261
267
|
def render_support_hint(self, stderr: bool = True) -> None:
|
|
@@ -453,7 +459,7 @@ class HUDDesign:
|
|
|
453
459
|
except (TypeError, ValueError):
|
|
454
460
|
args_str = str(arguments)[:60]
|
|
455
461
|
|
|
456
|
-
return f"[{GOLD}]→[/{GOLD}] [bold]{name}[/bold][{DIM}]({args_str})[/{DIM}]"
|
|
462
|
+
return f"[{GOLD}]→[/{GOLD}] [bold {TEXT}]{name}[/bold {TEXT}][{DIM}]({args_str})[/{DIM}]"
|
|
457
463
|
|
|
458
464
|
def format_tool_result(self, content: str, is_error: bool = False) -> str:
|
|
459
465
|
"""Format a tool result in compact HUD style.
|
|
@@ -473,8 +479,8 @@ class HUDDesign:
|
|
|
473
479
|
if is_error:
|
|
474
480
|
return f" [{RED}]✗[/{RED}] [{DIM}]{content}[/{DIM}]"
|
|
475
481
|
else:
|
|
476
|
-
return f" [{GREEN}]✓[/{GREEN}] {content}"
|
|
482
|
+
return f" [{GREEN}]✓[/{GREEN}] [{TEXT}]{content}[/{TEXT}]"
|
|
477
483
|
|
|
478
484
|
|
|
479
|
-
# Global
|
|
480
|
-
|
|
485
|
+
# Global hud_console instance for convenience
|
|
486
|
+
hud_console = HUDConsole()
|
hud/utils/pretty_errors.py
CHANGED
|
@@ -5,7 +5,7 @@ import logging
|
|
|
5
5
|
import sys
|
|
6
6
|
from typing import Any
|
|
7
7
|
|
|
8
|
-
from hud.utils.
|
|
8
|
+
from hud.utils.hud_console import hud_console
|
|
9
9
|
|
|
10
10
|
logger = logging.getLogger(__name__)
|
|
11
11
|
|
|
@@ -27,8 +27,8 @@ def _render_and_fallback(exc_type: type[BaseException], value: BaseException, tb
|
|
|
27
27
|
# Flush stderr to ensure traceback is printed first
|
|
28
28
|
sys.stderr.flush()
|
|
29
29
|
# Add separator and render our formatted error
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
hud_console.console.print("")
|
|
31
|
+
hud_console.render_exception(value)
|
|
32
32
|
except Exception:
|
|
33
33
|
# If rendering fails for any reason, silently continue
|
|
34
34
|
logger.warning("Failed to render exception: %s, %s, %s", exc_type, value, tb)
|
|
@@ -39,10 +39,10 @@ def _async_exception_handler(loop: asyncio.AbstractEventLoop, context: dict[str,
|
|
|
39
39
|
msg = context.get("message")
|
|
40
40
|
try:
|
|
41
41
|
if exc is not None:
|
|
42
|
-
|
|
42
|
+
hud_console.render_exception(exc)
|
|
43
43
|
elif msg:
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
hud_console.error(msg)
|
|
45
|
+
hud_console.render_support_hint()
|
|
46
46
|
except Exception:
|
|
47
47
|
logger.warning("Failed to render exception: %s, %s, %s", exc, msg, context)
|
|
48
48
|
|
hud/utils/tests/test_version.py
CHANGED
hud/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hud-python
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.23
|
|
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
|
|
@@ -66,6 +66,7 @@ Requires-Dist: langchain-anthropic; extra == 'agent'
|
|
|
66
66
|
Requires-Dist: langchain-openai; extra == 'agent'
|
|
67
67
|
Requires-Dist: numpy>=1.24.0; extra == 'agent'
|
|
68
68
|
Requires-Dist: openai; extra == 'agent'
|
|
69
|
+
Requires-Dist: pillow>=11.1.0; extra == 'agent'
|
|
69
70
|
Provides-Extra: agents
|
|
70
71
|
Requires-Dist: anthropic; extra == 'agents'
|
|
71
72
|
Requires-Dist: datasets>=2.14.0; extra == 'agents'
|
|
@@ -79,6 +80,7 @@ Requires-Dist: langchain-anthropic; extra == 'agents'
|
|
|
79
80
|
Requires-Dist: langchain-openai; extra == 'agents'
|
|
80
81
|
Requires-Dist: numpy>=1.24.0; extra == 'agents'
|
|
81
82
|
Requires-Dist: openai; extra == 'agents'
|
|
83
|
+
Requires-Dist: pillow>=11.1.0; extra == 'agents'
|
|
82
84
|
Provides-Extra: dev
|
|
83
85
|
Requires-Dist: aiodocker>=0.24.0; extra == 'dev'
|
|
84
86
|
Requires-Dist: anthropic; extra == 'dev'
|
|
@@ -1,47 +1,47 @@
|
|
|
1
1
|
hud/__init__.py,sha256=KU7G-_Mj6Mjf7trXA6X0ufN6QUmqhVi19NKbnNIvD74,532
|
|
2
2
|
hud/__main__.py,sha256=YR8Dq8OhINOsVfQ55PmRXXg4fEK84Rt_-rMtJ5rvhWo,145
|
|
3
3
|
hud/settings.py,sha256=bgq_zstNGlan7UDZOiElY8Aw5ZU4xL7Ds5HP_Xzph1A,2535
|
|
4
|
-
hud/types.py,sha256=
|
|
5
|
-
hud/version.py,sha256=
|
|
4
|
+
hud/types.py,sha256=jta4Hgj_rBdIMcf7mz0tsdgfA1pssp327bxcT6Mfp00,6107
|
|
5
|
+
hud/version.py,sha256=5rH72_P2FBJH7JH3nuYeXSXzeAEZoA-JgfNAoljtscY,105
|
|
6
6
|
hud/agents/__init__.py,sha256=UoIkljWdbq4bM0LD-mSaw6w826EqdEjOk7r6glNYwYQ,286
|
|
7
|
-
hud/agents/base.py,sha256=
|
|
7
|
+
hud/agents/base.py,sha256=qkTj0bnlFDs9OA4A3g1kKyVaDaRtPSVB_HzOIV4DpVw,30980
|
|
8
8
|
hud/agents/claude.py,sha256=Ixc05qg-r0H1OoC_DE5Ov6RtODWp7uJcTJJqpmoIob0,15478
|
|
9
|
-
hud/agents/grounded_openai.py,sha256=
|
|
9
|
+
hud/agents/grounded_openai.py,sha256=U-FHjB2Nh1_o0gmlxY5F17lWJ3oHsNRIB2a7z-IKB64,11231
|
|
10
10
|
hud/agents/langchain.py,sha256=1EgCy8jfjunsWxlPC5XfvfLS6_XZVrIF1ZjtHcrvhYw,9584
|
|
11
|
-
hud/agents/openai.py,sha256=
|
|
12
|
-
hud/agents/openai_chat_generic.py,sha256=
|
|
11
|
+
hud/agents/openai.py,sha256=ovARRWNuHqKkZ2Q_OCYSVCIZckrh8XY2jUB2p2x1m88,14259
|
|
12
|
+
hud/agents/openai_chat_generic.py,sha256=BDtMQnf9ddYN4fKy-CN9IotLyYvHGdZqjju5PODEnU4,10683
|
|
13
13
|
hud/agents/misc/__init__.py,sha256=BYi4Ytp9b_vycpZFXnr5Oyw6ncKLNNGml8Jrb7bWUb4,136
|
|
14
|
-
hud/agents/misc/response_agent.py,sha256=
|
|
14
|
+
hud/agents/misc/response_agent.py,sha256=tdyRI-4A1iECW5NBA-dIJwDHhXgTi6W7FHhe--SHvMQ,3150
|
|
15
15
|
hud/agents/tests/__init__.py,sha256=W-O-_4i34d9TTyEHV-O_q1Ai1gLhzwDaaPo02_TWQIY,34
|
|
16
16
|
hud/agents/tests/test_base.py,sha256=F39ajSqASGUbPyPoWSY9KARFav62qNTK74W11Tr1Tg4,28970
|
|
17
17
|
hud/agents/tests/test_claude.py,sha256=wqEKlzEvx8obz1sSm4NY0j-Zyt1qWNfDOmRqYIuAEd0,13069
|
|
18
18
|
hud/agents/tests/test_client.py,sha256=uikgh6yhjPPX2RBU4XJQMz1mNox9uXjuwsP8t93id18,13337
|
|
19
19
|
hud/agents/tests/test_grounded_openai_agent.py,sha256=VK8lUvHIjWicMX00VKPE-FZyjiJqTEhb80MuRRa9fVc,5437
|
|
20
20
|
hud/agents/tests/test_openai.py,sha256=lhHowQyLp09oDVwBUjUECoPeH01F16i4O9YIHeugK6E,7028
|
|
21
|
-
hud/cli/__init__.py,sha256
|
|
21
|
+
hud/cli/__init__.py,sha256=-32_tNDsFc38AMAvJFcHg38EVS5PN3n6pjW7eN2Nxj4,36259
|
|
22
22
|
hud/cli/__main__.py,sha256=fDH7XITyuDITwSDIVwRso06aouADO0CzTHKqp5TOwJE,143
|
|
23
|
-
hud/cli/analyze.py,sha256=
|
|
24
|
-
hud/cli/build.py,sha256=
|
|
23
|
+
hud/cli/analyze.py,sha256=4u5oYfJMquOjT9PzzRTYVcTZDxDi0ilNP_g532_hpOU,14716
|
|
24
|
+
hud/cli/build.py,sha256=SsZLQKYyMvIikLaSPYmg7-S1iJn-KkWXURhniQ0Ifi8,18015
|
|
25
25
|
hud/cli/clone.py,sha256=AwVDIuhr8mHb1oT2Af2HrD25SiTdwATpE6zd93vzLgA,6099
|
|
26
|
-
hud/cli/debug.py,sha256=
|
|
27
|
-
hud/cli/dev.py,sha256
|
|
28
|
-
hud/cli/eval.py,sha256=
|
|
29
|
-
hud/cli/hf.py,sha256=
|
|
30
|
-
hud/cli/init.py,sha256=
|
|
31
|
-
hud/cli/list_func.py,sha256=
|
|
32
|
-
hud/cli/pull.py,sha256=
|
|
33
|
-
hud/cli/push.py,sha256=
|
|
34
|
-
hud/cli/remove.py,sha256=
|
|
26
|
+
hud/cli/debug.py,sha256=jtFW8J5F_3rhq1Hf1_SkJ7aLS3wjnyIs_LsC8k5cnzc,14200
|
|
27
|
+
hud/cli/dev.py,sha256=-T7s3aiEq0X_lA6xQHOP4evvgP2wO76OYdsL7eeVmJ8,31740
|
|
28
|
+
hud/cli/eval.py,sha256=1Kifhr3tm2Md3r_lC1P9ET93P_eEB3is3MFu_Hg9GH4,15947
|
|
29
|
+
hud/cli/hf.py,sha256=wbHNXEI5K17cA9micfeVG4KRbUiI3MymLKI7TO-tW5E,15446
|
|
30
|
+
hud/cli/init.py,sha256=XswZB2ZnzdE0pxP1kRmO3bHfWGCrKAyrME34ZyPzs98,19715
|
|
31
|
+
hud/cli/list_func.py,sha256=EVi2Vc3Lb3glBNJxFx4MPnZknZ4xmuJz1OFg_dc8a_E,7177
|
|
32
|
+
hud/cli/pull.py,sha256=Vd1l1-IwskyACzhtC8Df1SYINUZEYmFxrLl0s9cNN6c,12151
|
|
33
|
+
hud/cli/push.py,sha256=JXUxu1QGU7BPWb0erSJq42CIq0sLbaDAO42yYDcvA1g,18347
|
|
34
|
+
hud/cli/remove.py,sha256=8vGQyXDqgtjz85_vtusoIG8zurH4RHz6z8UMevQRYM4,6861
|
|
35
35
|
hud/cli/rl/README.md,sha256=3pqRZMrnwD-lJwWGCCNZNhGdZG6zyydLBOer0e8BkLw,5983
|
|
36
|
-
hud/cli/rl/__init__.py,sha256=
|
|
37
|
-
hud/cli/rl/init.py,sha256=
|
|
38
|
-
hud/cli/rl/pod.py,sha256=
|
|
39
|
-
hud/cli/rl/ssh.py,sha256=
|
|
40
|
-
hud/cli/rl/train.py,sha256=
|
|
41
|
-
hud/cli/rl/utils.py,sha256=
|
|
36
|
+
hud/cli/rl/__init__.py,sha256=PISQwpkMX9JQYMBK5j8ziP8vbLit6Sh1b7a94MgogBU,3424
|
|
37
|
+
hud/cli/rl/init.py,sha256=xm2hQisL1VVOnKu7cjOuEadwMnqHQjlr5ekbzoAd6dA,13996
|
|
38
|
+
hud/cli/rl/pod.py,sha256=601aiVhUI7ihempzBW-KFqbuU4RFJT0PZAzE5OVFEX4,19411
|
|
39
|
+
hud/cli/rl/ssh.py,sha256=cUsw_tUuuSJlYaQJSzdDQeixGoVwx3GvKYZIPkQOp1U,11755
|
|
40
|
+
hud/cli/rl/train.py,sha256=YyUSVjRtq1Sqg7zvKMdUupbE9eQ5unZOOldw4JLAv8M,20284
|
|
41
|
+
hud/cli/rl/utils.py,sha256=V28ihGb02bwYEYnvLJOYVMQSIiEGM1KjDJBr8Tkbn5I,4888
|
|
42
42
|
hud/cli/tests/__init__.py,sha256=ZrGVkmH7DHXGqOvjOSNGZeMYaFIRB2K8c6hwr8FPJ-8,68
|
|
43
|
-
hud/cli/tests/test_analyze.py,sha256=
|
|
44
|
-
hud/cli/tests/test_analyze_metadata.py,sha256=
|
|
43
|
+
hud/cli/tests/test_analyze.py,sha256=inbRvi7KJKoMYrcqXU6RSayoh7mAOGVrRknm6BLQFes,11055
|
|
44
|
+
hud/cli/tests/test_analyze_metadata.py,sha256=PqeovqpPIitu3YkQ7LvzD9potNxoU_KvDXH4_-lvYFs,9992
|
|
45
45
|
hud/cli/tests/test_build.py,sha256=9B_-jkCDMsNNn087SWbPEJVsbD_D1u5Mv1gBIySPuhU,14409
|
|
46
46
|
hud/cli/tests/test_cli_init.py,sha256=_H0bAn5_skJ91Zj8P5P_wtZoPWvrN7jMhPZvmnnf0n8,11289
|
|
47
47
|
hud/cli/tests/test_cli_main.py,sha256=0wMho9p9NcGjp0jLiUtCQh_FYdbMaCJtSY3sBbSgPwA,697
|
|
@@ -51,21 +51,21 @@ hud/cli/tests/test_debug.py,sha256=bQ76d_0HJfthHBSECmGNv499ZE57CIOKsanMlNfNHGk,1
|
|
|
51
51
|
hud/cli/tests/test_list_func.py,sha256=pkG4TtJJBMi9Xk8KBNFBlGcam7kwz01IRsjfQBL2PxM,10700
|
|
52
52
|
hud/cli/tests/test_main_module.py,sha256=6RhwCcdRSN2uQV6-adti40ZcLd3u-mPR1ai6wL64c6Y,1105
|
|
53
53
|
hud/cli/tests/test_mcp_server.py,sha256=wLFkDOR22FuBe3kIdYeLG7H81HHiorKB8kXRubftLpU,4316
|
|
54
|
-
hud/cli/tests/test_pull.py,sha256=
|
|
55
|
-
hud/cli/tests/test_push.py,sha256=
|
|
56
|
-
hud/cli/tests/test_registry.py,sha256
|
|
54
|
+
hud/cli/tests/test_pull.py,sha256=ToSJrlfn13pYnrWWt3W_S7qFFjwvoZC2UisrZVrxujo,13155
|
|
55
|
+
hud/cli/tests/test_push.py,sha256=V71KP5gEDo7Z9ccFpjidBjYliFg_KCfnZoZYbBXjguE,12875
|
|
56
|
+
hud/cli/tests/test_registry.py,sha256=-o9MvQTcBElteqrg0XW8Bg59KrHCt88ZyPqeaAlyyTg,9539
|
|
57
57
|
hud/cli/tests/test_utils.py,sha256=_oa2lTvgqJxXe0Mtovxb8x-Sug-f6oJJKvG67r5pFtA,13474
|
|
58
58
|
hud/cli/utils/__init__.py,sha256=L6s0oNzY2LugGp9faodCPnjzM-ZUorUH05-HmYOq5hY,35
|
|
59
59
|
hud/cli/utils/cursor.py,sha256=fy850p0rVp5k_1wwOCI7rK1SggbselJrywFInSQ2gio,3009
|
|
60
60
|
hud/cli/utils/docker.py,sha256=VTUcoPqxh3uXOgvL6NSqYiSDhyCPRp3jTfFbnIDwumg,3774
|
|
61
|
-
hud/cli/utils/environment.py,sha256
|
|
62
|
-
hud/cli/utils/interactive.py,sha256=
|
|
63
|
-
hud/cli/utils/logging.py,sha256=
|
|
64
|
-
hud/cli/utils/metadata.py,sha256=
|
|
65
|
-
hud/cli/utils/registry.py,sha256=
|
|
61
|
+
hud/cli/utils/environment.py,sha256=y_c0ohxWrM054ZKid0KOQPzs2M2vh985AsumPG2wTPc,4282
|
|
62
|
+
hud/cli/utils/interactive.py,sha256=tcwp9HkAyr2_GiM3Raba4h0P_OgCksQKram80BucPo4,16546
|
|
63
|
+
hud/cli/utils/logging.py,sha256=DyOWuzZUg6HeKCqfs6ufb703XS3bW4G2pzaXVAvDqvA,9018
|
|
64
|
+
hud/cli/utils/metadata.py,sha256=G9UvP9zclnu-oVvYg3yc4Sr0TH88jx4XV1Ai8f5CG6g,7870
|
|
65
|
+
hud/cli/utils/registry.py,sha256=p6IaWmhUbf0Yh6aGa3jIPoSFT2uJPTOVBLS0jpKDUqc,4376
|
|
66
66
|
hud/cli/utils/remote_runner.py,sha256=50Fqp7LG9dwiDyNM-LspNiKrSHmEo00C_Iuu5jg9mXU,9407
|
|
67
|
-
hud/cli/utils/runner.py,sha256=
|
|
68
|
-
hud/cli/utils/server.py,sha256=
|
|
67
|
+
hud/cli/utils/runner.py,sha256=7HxVGa6OTflQnO0FSuRs273wnAmbm7cFRU9RTGL3-Wo,4390
|
|
68
|
+
hud/cli/utils/server.py,sha256=EE5DJ0RAmXCEjMcZycpAsAxxCj6sOdIsXqPh38kK2ew,7416
|
|
69
69
|
hud/clients/README.md,sha256=XNE3mch95ozDgVqfwCGcrhlHY9CwT1GKfNANNboowto,3826
|
|
70
70
|
hud/clients/__init__.py,sha256=N5M_gZv4nP7dLRwpAiaqqaxyaLieGW6397FszeG7JGw,364
|
|
71
71
|
hud/clients/base.py,sha256=vt9mRMZwZg2DtVxQmccR_VZZGamXhx3dvlFJPulbOd8,14131
|
|
@@ -107,7 +107,7 @@ hud/server/helper/__init__.py,sha256=ZxO8VP3RZEBBp-q65VixuhzQgqEPSVzW0hEY9J9QqDA
|
|
|
107
107
|
hud/server/tests/__init__.py,sha256=eEYYkxX5Hz9woXVOBJ2H2_CQoEih0vH6nRt3sH2Z8v8,49
|
|
108
108
|
hud/shared/__init__.py,sha256=IPxPCqtPLguryN-nBq78Sakypw2bRiE2iHv3SXG8YRk,139
|
|
109
109
|
hud/shared/exceptions.py,sha256=dhmt5KMciQ2fmV-yqXtTNO868k-WzuZae6w7dOk3M44,12144
|
|
110
|
-
hud/shared/hints.py,sha256=
|
|
110
|
+
hud/shared/hints.py,sha256=XD-Ck9Utz0gZ6lZ3-eB4AROgbc4llSoyNe1ZbmPCTx0,5049
|
|
111
111
|
hud/shared/requests.py,sha256=HWrPp7nBSK4jhv9wqZdFiNrVaaxV0vWS8fcgGtoztBc,9479
|
|
112
112
|
hud/shared/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
113
113
|
hud/shared/tests/test_exceptions.py,sha256=bCKGqw2RwBmlGIMNpddzyfnWAOQwSIYB76r6iaBE2is,15761
|
|
@@ -144,7 +144,7 @@ hud/tools/executors/tests/test_pyautogui_executor.py,sha256=Shv6pnWtlsMXBMlN5Djl
|
|
|
144
144
|
hud/tools/grounding/__init__.py,sha256=oazR_qTJqkeGtjy_0w1QW58PQ872PkVwtYI-v2KIX3k,311
|
|
145
145
|
hud/tools/grounding/config.py,sha256=Vsd5ASDZFL7kW7toKkgrYN5D-ZV6ovKZyX4nxRrHvRs,1869
|
|
146
146
|
hud/tools/grounding/grounded_tool.py,sha256=L3O8FzpDoC8ZrnT0xkjlUwAkg7mAbnhK3ju0nE2zCiQ,12679
|
|
147
|
-
hud/tools/grounding/grounder.py,sha256=
|
|
147
|
+
hud/tools/grounding/grounder.py,sha256=eKuKKraamXnwwY3oVRNeXreb6NqvMgt-v34B-coc868,11069
|
|
148
148
|
hud/tools/grounding/tests/__init__.py,sha256=jLw4nmvvvZu2ln2_yEUUKg72IewQ4HaXCUWJuX3ECZY,33
|
|
149
149
|
hud/tools/grounding/tests/test_grounded_tool.py,sha256=kr-wOOJZcfdYfhRSNFnhv8EuIsjbwgHDQbUSH9WnxMw,6446
|
|
150
150
|
hud/tools/tests/__init__.py,sha256=eEYYkxX5Hz9woXVOBJ2H2_CQoEih0vH6nRt3sH2Z8v8,49
|
|
@@ -160,12 +160,12 @@ hud/tools/tests/test_response.py,sha256=pEv3p0k1reSKtjbA8xneu--OuCHydbHHl6YWorV4
|
|
|
160
160
|
hud/tools/tests/test_tools.py,sha256=paz28V98Am-oR7MBJPDgY-BRV14HQo_0F6X5JIC8aic,4563
|
|
161
161
|
hud/tools/tests/test_tools_init.py,sha256=aOX9IKji-4ThHEiRYULa7YlIajP0lj3eFPjgzlEg9TI,1727
|
|
162
162
|
hud/tools/tests/test_utils.py,sha256=qaujM1uyTMaKqWIeEgxty5GOFyfSUtrYCEHhmIazoy4,5500
|
|
163
|
-
hud/utils/__init__.py,sha256=
|
|
163
|
+
hud/utils/__init__.py,sha256=nk9Re6ls2RudAWnAHDWYbLG28AwNF4qMFYf5xQIJhQA,181
|
|
164
164
|
hud/utils/agent_factories.py,sha256=cvfXByqG6gOYHtm1VGeJjCpxoLxM4aJez8rH-AerP_A,3186
|
|
165
165
|
hud/utils/async_utils.py,sha256=5cKrJcnaHV2eJNxeyx0r7fPcdPTDBK7kM9-nLaF51X4,2409
|
|
166
|
-
hud/utils/
|
|
166
|
+
hud/utils/hud_console.py,sha256=1JlIphJNtqS2cm4DsuQnvD0dJgyYD1Kf7575vPO0fz4,18202
|
|
167
167
|
hud/utils/mcp.py,sha256=jvCWb5MXlMMObhrbYoiTlI-L9HNkEjLVx8GJ-HbdQ7U,2626
|
|
168
|
-
hud/utils/pretty_errors.py,sha256=
|
|
168
|
+
hud/utils/pretty_errors.py,sha256=WGeL4CTHtlA6KgPuV_JSX5l6H4-xbuTp6Y6tw1bkiFg,2430
|
|
169
169
|
hud/utils/progress.py,sha256=suikwFM8sdSfkV10nAOEaInDhG4XKgOSvFePg4jSj1A,5927
|
|
170
170
|
hud/utils/telemetry.py,sha256=hrVIx2rUjSGyy9IVxTZ_3Jii83PiHjyFRd5ls2whimM,1863
|
|
171
171
|
hud/utils/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -174,10 +174,10 @@ hud/utils/tests/test_init.py,sha256=2QLQSGgyP9wJhOvPCusm_zjJad0qApOZi1BXpxcdHXQ,
|
|
|
174
174
|
hud/utils/tests/test_mcp.py,sha256=0pUa16mL-bqbZDXp5NHBnt1gO5o10BOg7zTMHZ1DNPM,4023
|
|
175
175
|
hud/utils/tests/test_progress.py,sha256=QSF7Kpi03Ff_l3mAeqW9qs1nhK50j9vBiSobZq7T4f4,7394
|
|
176
176
|
hud/utils/tests/test_telemetry.py,sha256=5jl7bEx8C8b-FfFUko5pf4UY-mPOR-9HaeL98dGtVHM,2781
|
|
177
|
-
hud/utils/tests/test_version.py,sha256=
|
|
177
|
+
hud/utils/tests/test_version.py,sha256=IWI4m88C4T_FrgySB42WwPuaGnc3Smpe9QddpcNoOIc,160
|
|
178
178
|
hud/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
179
|
-
hud_python-0.4.
|
|
180
|
-
hud_python-0.4.
|
|
181
|
-
hud_python-0.4.
|
|
182
|
-
hud_python-0.4.
|
|
183
|
-
hud_python-0.4.
|
|
179
|
+
hud_python-0.4.23.dist-info/METADATA,sha256=iQt7VOpj3uXIcsbAHXdv4Vu3KNgm194i5mi7jrbuvJg,20239
|
|
180
|
+
hud_python-0.4.23.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
181
|
+
hud_python-0.4.23.dist-info/entry_points.txt,sha256=jJbodNFg1m0-CDofe5AHvB4zKBq7sSdP97-ohaQ3ae4,63
|
|
182
|
+
hud_python-0.4.23.dist-info/licenses/LICENSE,sha256=yIzBheVUf86FC1bztAcr7RYWWNxyd3B-UJQ3uddg1HA,1078
|
|
183
|
+
hud_python-0.4.23.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|