hud-python 0.2.4__py3-none-any.whl → 0.2.6__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.

Files changed (51) hide show
  1. hud/__init__.py +22 -2
  2. hud/adapters/claude/adapter.py +9 -2
  3. hud/adapters/claude/tests/__init__.py +1 -0
  4. hud/adapters/claude/tests/test_adapter.py +519 -0
  5. hud/adapters/common/types.py +5 -1
  6. hud/adapters/operator/adapter.py +4 -0
  7. hud/adapters/operator/tests/__init__.py +1 -0
  8. hud/adapters/operator/tests/test_adapter.py +370 -0
  9. hud/agent/__init__.py +4 -0
  10. hud/agent/base.py +18 -2
  11. hud/agent/claude.py +20 -17
  12. hud/agent/claude_plays_pokemon.py +283 -0
  13. hud/agent/langchain.py +12 -7
  14. hud/agent/misc/__init__.py +3 -0
  15. hud/agent/misc/response_agent.py +80 -0
  16. hud/agent/operator.py +27 -19
  17. hud/agent/tests/__init__.py +1 -0
  18. hud/agent/tests/test_base.py +202 -0
  19. hud/env/docker_client.py +28 -18
  20. hud/env/environment.py +32 -16
  21. hud/env/local_docker_client.py +83 -42
  22. hud/env/remote_client.py +1 -3
  23. hud/env/remote_docker_client.py +71 -14
  24. hud/exceptions.py +12 -0
  25. hud/gym.py +71 -53
  26. hud/job.py +59 -14
  27. hud/server/requests.py +26 -4
  28. hud/settings.py +7 -1
  29. hud/task.py +45 -33
  30. hud/taskset.py +56 -4
  31. hud/telemetry/__init__.py +21 -0
  32. hud/telemetry/_trace.py +173 -0
  33. hud/telemetry/context.py +169 -0
  34. hud/telemetry/exporter.py +417 -0
  35. hud/telemetry/instrumentation/__init__.py +3 -0
  36. hud/telemetry/instrumentation/mcp.py +495 -0
  37. hud/telemetry/instrumentation/registry.py +59 -0
  38. hud/telemetry/mcp_models.py +331 -0
  39. hud/telemetry/tests/__init__.py +1 -0
  40. hud/telemetry/tests/test_context.py +207 -0
  41. hud/telemetry/tests/test_trace.py +270 -0
  42. hud/types.py +11 -27
  43. hud/utils/common.py +22 -2
  44. hud/utils/misc.py +53 -0
  45. hud/utils/tests/test_version.py +1 -1
  46. hud/version.py +7 -0
  47. {hud_python-0.2.4.dist-info → hud_python-0.2.6.dist-info}/METADATA +98 -30
  48. hud_python-0.2.6.dist-info/RECORD +84 -0
  49. hud_python-0.2.4.dist-info/RECORD +0 -62
  50. {hud_python-0.2.4.dist-info → hud_python-0.2.6.dist-info}/WHEEL +0 -0
  51. {hud_python-0.2.4.dist-info → hud_python-0.2.6.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hud-python
3
- Version: 0.2.4
3
+ Version: 0.2.6
4
4
  Summary: SDK for the HUD evaluation platform.
5
5
  Project-URL: Homepage, https://github.com/hud-evals/hud-sdk
6
6
  Project-URL: Bug Tracker, https://github.com/hud-evals/hud-sdk/issues
@@ -38,11 +38,13 @@ Classifier: Programming Language :: Python :: 3.13
38
38
  Requires-Python: <3.14,>=3.10
39
39
  Requires-Dist: aiodocker>=0.24.0
40
40
  Requires-Dist: anthropic
41
+ Requires-Dist: dotenv>=0.9.9
41
42
  Requires-Dist: httpx<1,>=0.23.0
42
43
  Requires-Dist: inspect-ai>=0.3.80
43
44
  Requires-Dist: ipykernel
44
45
  Requires-Dist: langchain
45
46
  Requires-Dist: langchain-openai
47
+ Requires-Dist: mcp
46
48
  Requires-Dist: numpy
47
49
  Requires-Dist: openai
48
50
  Requires-Dist: pillow>=11.1.0
@@ -50,6 +52,7 @@ Requires-Dist: pydantic-settings<3,>=2
50
52
  Requires-Dist: pydantic<3,>=2
51
53
  Requires-Dist: textdistance<5,>=4.5.0
52
54
  Requires-Dist: toml>=0.10.2
55
+ Requires-Dist: wrapt>=1.14.0
53
56
  Provides-Extra: dev
54
57
  Requires-Dist: anthropic; extra == 'dev'
55
58
  Requires-Dist: dotenv; extra == 'dev'
@@ -66,25 +69,67 @@ Requires-Dist: pytest<9,>=8.1.1; extra == 'dev'
66
69
  Requires-Dist: ruff==0.11.8; extra == 'dev'
67
70
  Description-Content-Type: text/markdown
68
71
 
69
- # HUD
72
+ <div align="left">
73
+ <img src="https://raw.githubusercontent.com/hud-evals/hud-sdk/main/docs/logo/hud_logo.svg" alt="HUD" width="150" style="margin-bottom: 20px;"/>
74
+ </div>
70
75
 
71
- A Python SDK for creating, evaluating, and benchmarking agent interactions with web browsers and OS environments.
76
+ <h3>
77
+ Evaluate your Computer Use AI agents across web browsers, desktop environments, and custom scenarios.
78
+ </h3>
72
79
 
73
- > **Early Release Notice**: This SDK is currently in early release status. The API is evolving and may change in future releases as we gather feedback and improve functionality.
80
+ ### 🚀 Are you a startup building agents?
81
+
82
+ [📅 Hop on a call](https://cal.com/jay-ram-z6st6w/demo) or [📧 founders@hud.so](mailto:founders@hud.so)
83
+
84
+ We're here to help with eval strategies, custom environments, or improving your agent architecture!
85
+
86
+
87
+ > **Early Release Notice**: We'd love to hear your feedback in [Issues](https://github.com/hud-evals/hud-sdk/issues), as the SDK is still evolving!
74
88
 
75
89
  [![PyPI version](https://img.shields.io/pypi/v/hud-python)](https://pypi.org/project/hud-python/)
76
90
 
77
- [📚 Documentation](https://documentation.hud.so) | [🏠 Homepage](https://hud.so)
91
+ ## What You Can Do
78
92
 
79
- ## API Key Setup
93
+ **Evaluate Existing Benchmarks**
94
+ ```python
95
+ from hud import load_taskset, run_job, ClaudeAgent
80
96
 
81
- Before getting started, you'll need to obtain an API key:
97
+ taskset = await load_taskset("WebVoyager") # or GAIA, OSWorld-Ubuntu, Mind2Web
98
+ job = await run_job(ClaudeAgent, taskset, "my-evaluation")
99
+ ```
82
100
 
83
- 1. Visit [app.hud.so](https://app.hud.so) to create a free account and generate your API key
84
- 2. Set it in your environment or .env file:
101
+ **Create Custom Tasks**
102
+ ```python
103
+ from hud.task import Task
85
104
 
86
- ```bash
87
- export HUD_API_KEY=your_api_key_here
105
+ task = Task(
106
+ prompt="Find and book the cheapest flight from NYC to Paris",
107
+ gym="hud-browser",
108
+ setup=("goto", "https://kayak.com"),
109
+ evaluate=("page_contains", "confirmation")
110
+ )
111
+ ```
112
+
113
+ **Build Custom Environments**
114
+ ```python
115
+ from hud.types import CustomGym
116
+
117
+ # Launch any website as an environment
118
+ custom_gym = CustomGym(
119
+ image_or_build_context="nginx:alpine",
120
+ location="local"
121
+ )
122
+
123
+ # Or create complex Docker environments - see environments/ folder for examples
124
+ ```
125
+
126
+ **Trace Tool Calls Alongside HUD Environments (or Independently)**
127
+ ```python
128
+ import hud
129
+
130
+ with hud.trace("my-agent-run"):
131
+ # Your agent code here - MCP calls automatically captured
132
+ result = await agent.run(task)
88
133
  ```
89
134
 
90
135
  ## Quick Start
@@ -95,6 +140,17 @@ export HUD_API_KEY=your_api_key_here
95
140
  pip install hud-python
96
141
  ```
97
142
 
143
+ ### API Key Setup
144
+
145
+ Before getting started, you'll need to obtain an API key:
146
+
147
+ 1. Visit [app.hud.so](https://app.hud.so) to create a free account and generate your API key
148
+ 2. Set it in your environment or .env file:
149
+
150
+ ```bash
151
+ export HUD_API_KEY=your_api_key_here
152
+ ```
153
+
98
154
  ### Simple Browser Example with Claude Computer Use
99
155
 
100
156
  > This example uses the `@register_job("test-run")` decorator, so the results of this run will appear under the job named "test-run" on the your [HUD Jobs page](https://app.hud.so/jobs).
@@ -119,7 +175,7 @@ async def main():
119
175
  # Create environment using the gym module
120
176
  env = await gym.make(task)
121
177
 
122
- # Initialize Operator agent (API key is loaded automatically)
178
+ # Initialize Claude agent (API key is loaded automatically)
123
179
  agent = ClaudeAgent()
124
180
 
125
181
  # Agent loop with predict and step functions
@@ -137,7 +193,6 @@ async def main():
137
193
 
138
194
  if __name__ == "__main__":
139
195
  asyncio.run(main())
140
-
141
196
  ```
142
197
 
143
198
  Alternatively, run a full evaluation set via the ```run_job``` command:
@@ -145,32 +200,45 @@ Alternatively, run a full evaluation set via the ```run_job``` command:
145
200
  ```python
146
201
  from hud import load_taskset, run_job, ClaudeAgent
147
202
 
148
- # load
203
+ # Load a benchmark
149
204
  taskset = load_taskset("GAIA")
150
205
 
151
- # evaluate
206
+ # Evaluate
152
207
  job = await run_job(ClaudeAgent, taskset, "test-gaia-job")
153
208
 
154
- # get results OR view them in app.hud.so
209
+ # Get results OR view them in app.hud.so
155
210
  print(await job.get_analytics())
156
211
  ```
157
212
 
213
+ ## Ready-to-Use TaskSets
214
+
215
+ - **WebVoyager** - Web navigation and interaction
216
+ - **Mind2Web** - Complex web application tasks
217
+ - **GAIA** - Question answering and reasoning
218
+ - **OSWorld-Ubuntu** - Desktop interaction
219
+ - **hud-samples** - Getting started examples
220
+
221
+ ## Community
222
+
223
+ **Contributing Custom Environments**
224
+
225
+ Add your environment to the `environments/` folder and submit a PR! Examples:
226
+ - `environments/novnc_ubuntu/` - Ubuntu with VNC access
227
+ - `environments/pokemon_controller/` - Pokemon emulator environment (In Development)
228
+ - `environments/qa_controller/` - Lightweight app sample
229
+
230
+ See [Custom Environments Guide](https://docs.hud.so/environment-creation) for details.
231
+
158
232
  ## Documentation Sections
159
233
 
160
234
  Explore the core concepts and features of the SDK:
161
235
 
162
- * **[Tasks and TaskSets](https://documentation.hud.so/concepts/task)**: Define goals, context, setup, and evaluation criteria for agent scenarios. This includes both interactive and **question-answering (QA)** style tasks.
163
- * **[Environments](https://documentation.hud.so/concepts/environment)**: Understand the browser and OS runtimes where agents interact.
164
- * **[Agents](https://documentation.hud.so/concepts/agent)**: Learn about the agent architecture (Claude, Operator) and how they process observations and predict actions.
165
- * **[Adapters](https://documentation.hud.so/concepts/adapter)**: See how actions and observations are translated between agents and environments.
166
- * **[Jobs](https://documentation.hud.so/concepts/job)**: Group related runs for analysis and viewing on the HUD platform.
167
- * **[Trajectories](https://documentation.hud.so/concepts/trajectory)**: Understand the recorded data from each agent run.
168
- * **Advanced Topics**:
169
- * **[CLA Action Details](https://documentation.hud.so/advanced/cla-details)**: Explore the standardized action format.
170
- * **[Custom Environments](https://documentation.hud.so/advanced/custom-environments)**: Build your own Docker-based local or remote environments.
171
- * **[Advanced Environment Control](https://documentation.hud.so/advanced/environment-control)**: Use `invoke`, `execute`, and `_setup` for finer control.
172
-
173
- * **[Full API Reference](https://documentation.hud.so/api-reference/gym)**: Detailed specifications for all modules and classes.
236
+ * **[Task Creation](https://docs.hud.so/task-creation)**: Build custom evaluation scenarios with setup and evaluation criteria.
237
+ * **[Environments](https://docs.hud.so/environments/browser)**: Understand browser environments and create custom Docker-based environments.
238
+ * **[Agents](https://docs.hud.so/concepts/agent)**: Learn about the agent architecture (Claude, Operator) and how they process observations and predict actions.
239
+ * **[Jobs](https://docs.hud.so/concepts/job)**: Group related runs for analysis and viewing on the HUD platform.
240
+ * **[MCP Telemetry](https://docs.hud.so/telemetry/mcp)**: Automatic tracing of Model Context Protocol interactions.
241
+ * **[Full API Reference](https://docs.hud.so/api-reference/gym)**: Detailed specifications for all modules and classes.
174
242
 
175
243
  ## [Examples](examples/)
176
244
 
@@ -183,7 +251,7 @@ We recommend you first take a look at the example notebooks showing how to use t
183
251
 
184
252
  ## Documentation
185
253
 
186
- For comprehensive guides, examples, and API reference, visit [our docs](https://documentation.hud.so/introduction)
254
+ For comprehensive guides, examples, and API reference, visit [our docs](https://docs.hud.so/introduction)
187
255
 
188
256
  ## License
189
257
 
@@ -201,4 +269,4 @@ If you use this SDK in your research, please cite it as follows:
201
269
  url = {https://github.com/hud-evals/hud-sdk},
202
270
  langid = {en}
203
271
  }
204
- ```
272
+ ```
@@ -0,0 +1,84 @@
1
+ hud/__init__.py,sha256=6PlxwtjYyaqk6UAyHLJZhsiHRlgndH-Jja9f9BtInUY,1063
2
+ hud/exceptions.py,sha256=pifKvSqxj9_g4NfARVyH5a-lTThhi9XW06tIXaBakQw,5526
3
+ hud/gym.py,sha256=Dl7nur2QTxoVNAcWIvFjuGAbKmoc7CVgjV5gWd35usU,4544
4
+ hud/job.py,sha256=bd88L83L3uqdXE7B3Bjsk8hGk95OggJiLjItFsZXDoQ,25116
5
+ hud/settings.py,sha256=3zALwVbPTaDc01-dR_-rGsrDfc-ieMIcmO5avv6S2Y0,1510
6
+ hud/task.py,sha256=AMmJLYl3BjX8TfBY4ZuR_QIXhTkWDX-4C_Pbi3HziVg,5505
7
+ hud/taskset.py,sha256=ou2Ivulv392txtDvXDpvJAgHj_4h2LZNBaxpeC_mRnw,4903
8
+ hud/trajectory.py,sha256=OrcRbxK_ejFp1VhJCjZnM1WCmCXxEOK4CxNjCngcsjo,3721
9
+ hud/types.py,sha256=O8eotDLw4onwRreX9xLPZ2T11qf8wwUidaqGI7jvagY,1808
10
+ hud/version.py,sha256=4c7HS3iYXZGe4vuaPb8pgYwVInf3F3G95h0PITpm6aw,104
11
+ hud/adapters/__init__.py,sha256=zz24KdC_e9TJPgWo6y57_8SzevEE5ak4Cm6tXzMxwRk,266
12
+ hud/adapters/claude/__init__.py,sha256=i7QEF-29FLb9qxp1eYtXs-adIk_tG54tL-9g6d3xodk,100
13
+ hud/adapters/claude/adapter.py,sha256=_qUD0iu0_Y_8yuhrsZw2E5wNv8RB-Aa7BqclAmNHdtI,6096
14
+ hud/adapters/claude/tests/__init__.py,sha256=9GZj0rz4tTkiPnLfxTmyBPr-s8UZc3gph6WH8fs8T34,39
15
+ hud/adapters/claude/tests/test_adapter.py,sha256=cAdHEoqLngLiV7QwlWJ0KuNgb1vNv9WZTPQMnxhMDKI,18319
16
+ hud/adapters/common/__init__.py,sha256=BjdZWJVs_AKtpFrt-tNsdQRjnz7D97DFEQirJ-r0mp8,118
17
+ hud/adapters/common/adapter.py,sha256=fxdz1S6uwtHczLoDzmbuT0icQ49ywGMTiuVv8oJL4g4,5822
18
+ hud/adapters/common/types.py,sha256=UpY-Up5s53ujzKdEp6SLf0E2tFS7iQYE0_IZRZrILxo,5067
19
+ hud/adapters/common/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
+ hud/adapters/common/tests/test_adapter.py,sha256=rTD36LjvytHqMIyOLDyrn0RLIkd20s6f6dwoBEarJaw,8744
21
+ hud/adapters/operator/__init__.py,sha256=31vTRs268_TOLd-TeQRKau5bDYy78wxCNpJFhD5_l8U,104
22
+ hud/adapters/operator/adapter.py,sha256=pl-uBLcPVyFFASnq6RtW8PbPscTre7aKOGREkxXqi3U,3135
23
+ hud/adapters/operator/tests/__init__.py,sha256=yTsDVusVXZBQL6DnXpLgKQCBRuOYUAVQ8Blk_k5GETk,41
24
+ hud/adapters/operator/tests/test_adapter.py,sha256=4RAXwyxAtkh-1Mlt1zJayRkcv3LWaPNEhDVTpwOZd4A,12942
25
+ hud/agent/__init__.py,sha256=_OxMG3UW1vXSuixdpo09b1jexfWcUbfK44zto8t6_LE,453
26
+ hud/agent/base.py,sha256=d7eMoRPepVSCFUyU1oV1hGvyff8rsPtXDelVcJlEF7Y,4022
27
+ hud/agent/claude.py,sha256=bXgdzlZHaIHaxrGIYt6w1kEh5oHFDT5P2u304swi8wU,7529
28
+ hud/agent/claude_plays_pokemon.py,sha256=H1AIXb6qNE-45G5CdBgsDGTMXOgjg44wGtySgeKgeq4,10009
29
+ hud/agent/langchain.py,sha256=iuMpu-k55Qic0LCzfOR0Wa5kDhIv7zHCc8et3axypus,8833
30
+ hud/agent/operator.py,sha256=Bji_v6NB-hUyTe1otdpEc3Hb0ZpyQbuL_iZu5irYFe4,8612
31
+ hud/agent/misc/__init__.py,sha256=-ftYH1T5r7fXKKra6d8jXYmUz9KOTmYwBrPJU-V3S7g,71
32
+ hud/agent/misc/response_agent.py,sha256=3PPsZqNAyUo2ouSV0ylGQj9fJqojfSB2roq2DadUdG0,3048
33
+ hud/agent/tests/__init__.py,sha256=HbAW7FvSvzzKPU5LpveZceU8XTcDkRe1Bmte3OGi2f0,29
34
+ hud/agent/tests/test_base.py,sha256=8RiJapLxO1JrAShIQ42xAyHAEb_m8MYTnH5PGC0qKRE,8501
35
+ hud/env/__init__.py,sha256=wVEesXMXM5hcNXQHt0-PN4-9RnE69DEnQENS7uJSv_Y,266
36
+ hud/env/client.py,sha256=brhfLkWGSuvxl3vqGMCQT-vXfj8rUbJMhE3zJg9WMDA,869
37
+ hud/env/docker_client.py,sha256=-nQLGeRl9GLJKEku1eIBL3RQuteIPLrecjVHxzSD_vU,10463
38
+ hud/env/environment.py,sha256=hSJh5KaiGuWw4IEV1IHNDVjOxyoyOxhHkavGj_5RBbQ,15154
39
+ hud/env/local_docker_client.py,sha256=bcgmmRJGX1--bf0-5Zlk59l2W0PvABnDn4FWZKvXjjk,9565
40
+ hud/env/remote_client.py,sha256=gjCzcuotvDC7GraVBBT2Tix5GKpntwtldv5PqnXx8wk,6109
41
+ hud/env/remote_docker_client.py,sha256=ZLqbd6IeU9BDndjwanmJN3_1CEsrCkntumGavLiPi88,9484
42
+ hud/evaluators/__init__.py,sha256=V5nktEAw3EDn2Y537pjia5Y1IjdLBIPrDjTs6YTCdX4,153
43
+ hud/evaluators/base.py,sha256=ALO9Rj-R_9HtHIHYp84bsQQD12De0XnCTwad78_T5-k,771
44
+ hud/evaluators/inspect.py,sha256=ZvrTXLpgibyvQ5aNXAMP4quyXISrRQHg9besDcuCx7U,692
45
+ hud/evaluators/judge.py,sha256=N3gEQGwVin9Ir80wWw6VtaL0xrlzitbmItaLm0he5gY,5962
46
+ hud/evaluators/match.py,sha256=8YVQD942myX72Jkme2JFIVlmKhFXEa3CgGTjLC8O5n4,4701
47
+ hud/evaluators/remote.py,sha256=kmD_XIU20KvX0NKgaEEKTTKHp0KVRa_3jUEgONh2nkY,2054
48
+ hud/evaluators/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
+ hud/evaluators/tests/test_inspect.py,sha256=8dMjgQfXOJGcS8gP6TzoBbQiG_NYuRL6IobMG7euJdU,376
50
+ hud/evaluators/tests/test_judge.py,sha256=c1GaAeq_WpBVgBlx-gQncHrOPokzKNxlbgiC8W8hxYI,7829
51
+ hud/evaluators/tests/test_match.py,sha256=C04GoluyT9i41YZ65xEjN7tKHQbENbrpNhNtUd4ivmA,3919
52
+ hud/evaluators/tests/test_remote.py,sha256=YdJpyyuRLkYP0e3jTUkD3zobS2WHQPePn8yBZtYOIN4,3243
53
+ hud/server/__init__.py,sha256=IPxPCqtPLguryN-nBq78Sakypw2bRiE2iHv3SXG8YRk,139
54
+ hud/server/requests.py,sha256=AnFW4ELojjvfF6xjS2no6_fg4Rph2aR2hjPzYTede0Q,8841
55
+ hud/server/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
+ hud/server/tests/test_requests.py,sha256=63YCbykcib5MxKxm-OgHJPLX3QC7hmgIwnWaYukVM6s,9077
57
+ hud/telemetry/__init__.py,sha256=ky48kuZD3Bt0vOf9FwZwkV_ka7O26Tvcxh7p1lMpsMk,582
58
+ hud/telemetry/_trace.py,sha256=W7S6CxwtmjNl4OZbA1SQHXsaNm072J9c-fjPjQomgOY,5135
59
+ hud/telemetry/context.py,sha256=PNbfrMgjeRTTg0nUKXYCflqn71I_cSjU8LXdvouUfc4,5209
60
+ hud/telemetry/exporter.py,sha256=l-r7mADcHpn6i9hhB407hx3HS4khfbhuwX0txJ2X0VQ,17986
61
+ hud/telemetry/mcp_models.py,sha256=YIArMtCVfC4NVvaEmUYs_kxDs0GQ-xtFFmB8jEGKaag,11342
62
+ hud/telemetry/instrumentation/__init__.py,sha256=vHmSqaJMMehgRNn6EN2SMoYDD12rSHkLeVmj7Uy1my0,88
63
+ hud/telemetry/instrumentation/mcp.py,sha256=xGAMdhTgM1ixHiDX7xkS9Ax1NCjK3u7pLWIbIh8WZIA,21925
64
+ hud/telemetry/instrumentation/registry.py,sha256=UVaSsEA693lvKYd5R3n3ve6GcAB1fwqubRwIVeZiNmo,1821
65
+ hud/telemetry/tests/__init__.py,sha256=QMN8OzfrBUDbQESwrwHCqXLdDwCjYWX8BJcpeLUJfqA,33
66
+ hud/telemetry/tests/test_context.py,sha256=BGRDlXXC_VbpD4cYl_o9gRQDDKb2ox1das_ZuX14NC8,6531
67
+ hud/telemetry/tests/test_trace.py,sha256=JzmjNRtHdQFPqLm7hOPastENg-hMJo9p8bbxJ77iXyc,10687
68
+ hud/utils/__init__.py,sha256=oSl_gGoS272X2VFnBYX8hLxcP2xgGoBYQXAuLhtQgw8,260
69
+ hud/utils/common.py,sha256=R83ntEtKr8KXG1mKcy0I_OllFHkDrPMysPhW12uBckc,3926
70
+ hud/utils/config.py,sha256=kGVuR7oKXjmJfeUAnbt53GesCJf_HPvvV1R6s9xjvq4,3549
71
+ hud/utils/misc.py,sha256=CfOv_ftLty1iEo3Rxyz4AD4nmaBkhCJVO_W-FlcyDgI,1481
72
+ hud/utils/progress.py,sha256=suikwFM8sdSfkV10nAOEaInDhG4XKgOSvFePg4jSj1A,5927
73
+ hud/utils/telemetry.py,sha256=hrVIx2rUjSGyy9IVxTZ_3Jii83PiHjyFRd5ls2whimM,1863
74
+ hud/utils/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
+ hud/utils/tests/test_common.py,sha256=gbYpQKBNdbCcEH0v1UZpxLt_NW2T5sETMIJKvy8S8pY,1658
76
+ hud/utils/tests/test_config.py,sha256=dPlXYWuMrxX-NOYbf0vdJ27TJpfacKG8eiKOSGOcfDU,4079
77
+ hud/utils/tests/test_progress.py,sha256=QunwDgi_heQXhDgmC25zgjr-sFUu5FdJ_1aYigMKeIc,6351
78
+ hud/utils/tests/test_telemetry.py,sha256=t0An1RTBaE0dZVEpF4uwuq5k1R-PXFR5k4u71h60tx8,1224
79
+ hud/utils/tests/test_version.py,sha256=wDkcJbOW78FEZpIGKXST347GOm3o_NBVONZ3RhkYIM4,159
80
+ hud/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
+ hud_python-0.2.6.dist-info/METADATA,sha256=xXaqxhBWDKs-vkGiCi19m4wBSbbuehk4fEd1zP5Ufbg,9469
82
+ hud_python-0.2.6.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
83
+ hud_python-0.2.6.dist-info/licenses/LICENSE,sha256=yIzBheVUf86FC1bztAcr7RYWWNxyd3B-UJQ3uddg1HA,1078
84
+ hud_python-0.2.6.dist-info/RECORD,,
@@ -1,62 +0,0 @@
1
- hud/__init__.py,sha256=cEmr9zVXS5upV_qcVePvApSjhPj0CmVjXolOaY3Ojuw,529
2
- hud/exceptions.py,sha256=DNfaMmFGGAZsLwSVl8HILyQE5Eg5ygPLhBa7HLYcxU8,5167
3
- hud/gym.py,sha256=hM1oH9DFFmxHLO9lIU4O-zkvRDCPZ5v-4BnfzNSE75E,3603
4
- hud/job.py,sha256=RxXaFJQvcYbPCMIsuQRdrEyi_q3WMgdcNXypLmZqlbU,23351
5
- hud/settings.py,sha256=1lOg2MieyBlmGmXiaiMk0mQvMj4N1-jcNeHCFLK5ZJA,1339
6
- hud/task.py,sha256=2E4_BTqbfkertrPDkBM4M1CPYQ8Db-Iulv22f6dInWg,5112
7
- hud/taskset.py,sha256=MgY9PyxKt4vO8775Qory04NA4o-BYTjirxBntslGPmk,3253
8
- hud/trajectory.py,sha256=OrcRbxK_ejFp1VhJCjZnM1WCmCXxEOK4CxNjCngcsjo,3721
9
- hud/types.py,sha256=_6eqLCOyxceMX_Oo8YwJQARHLb0N9zsEtc8ZCRJbf9I,2473
10
- hud/adapters/__init__.py,sha256=zz24KdC_e9TJPgWo6y57_8SzevEE5ak4Cm6tXzMxwRk,266
11
- hud/adapters/claude/__init__.py,sha256=i7QEF-29FLb9qxp1eYtXs-adIk_tG54tL-9g6d3xodk,100
12
- hud/adapters/claude/adapter.py,sha256=xN8IHQH-xrIXxfWxoPV0VBHFvmsJZwq8PC4Ri_FU1Ew,5867
13
- hud/adapters/common/__init__.py,sha256=BjdZWJVs_AKtpFrt-tNsdQRjnz7D97DFEQirJ-r0mp8,118
14
- hud/adapters/common/adapter.py,sha256=fxdz1S6uwtHczLoDzmbuT0icQ49ywGMTiuVv8oJL4g4,5822
15
- hud/adapters/common/types.py,sha256=k7Ic9YhgSWg3zZAtrFaOXINg06qbD1pYNzKs1obMFQE,5018
16
- hud/adapters/common/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
- hud/adapters/common/tests/test_adapter.py,sha256=rTD36LjvytHqMIyOLDyrn0RLIkd20s6f6dwoBEarJaw,8744
18
- hud/adapters/operator/__init__.py,sha256=31vTRs268_TOLd-TeQRKau5bDYy78wxCNpJFhD5_l8U,104
19
- hud/adapters/operator/adapter.py,sha256=P07FsvpS11BN4IoWNJUwUPkTW6QmJoboWhxCO7exCWs,2989
20
- hud/agent/__init__.py,sha256=kolJUkXlqbpULqvV4ZHaeY7ABaDKvyOOcnB5aqGtIgw,321
21
- hud/agent/base.py,sha256=AfysqGBhmOt1a24AXxrpq1TVI5UHxxv1oJbUd1-hKKo,3696
22
- hud/agent/claude.py,sha256=Gz5ydfdQZFPM1e1D0qfprkNzJooAXzlXYXnrug0AIFk,7428
23
- hud/agent/langchain.py,sha256=giAmw2w84nugToKm-5FMlpJSB7fJh4pa_e7hERTX1Qs,8720
24
- hud/agent/operator.py,sha256=DPDN8oAXjiS44brljxYsYYIQtZdodgjYTDUeDqAiFFo,8156
25
- hud/env/__init__.py,sha256=wVEesXMXM5hcNXQHt0-PN4-9RnE69DEnQENS7uJSv_Y,266
26
- hud/env/client.py,sha256=brhfLkWGSuvxl3vqGMCQT-vXfj8rUbJMhE3zJg9WMDA,869
27
- hud/env/docker_client.py,sha256=9ltQyz30u_iitbMK2kfzs1yhs9aeC4V65Y7A1lXl23A,10200
28
- hud/env/environment.py,sha256=HWnrUUwjgqOLm7xRqH0MKeGw-3mZa_ARCEnolG6xvpY,14800
29
- hud/env/local_docker_client.py,sha256=OqBnlQEV4t1TlhaU-maL3noBB8YNWWQnj-iWXPyrWYc,7751
30
- hud/env/remote_client.py,sha256=080Yi2na4t5bXMgtRaRQNCmuY7dK898FyjQG6vv-0WE,6156
31
- hud/env/remote_docker_client.py,sha256=5akBq7g-8I0DL0nsQHW9sUAbau6PyNyDNb77ygc_-r4,7183
32
- hud/evaluators/__init__.py,sha256=V5nktEAw3EDn2Y537pjia5Y1IjdLBIPrDjTs6YTCdX4,153
33
- hud/evaluators/base.py,sha256=ALO9Rj-R_9HtHIHYp84bsQQD12De0XnCTwad78_T5-k,771
34
- hud/evaluators/inspect.py,sha256=ZvrTXLpgibyvQ5aNXAMP4quyXISrRQHg9besDcuCx7U,692
35
- hud/evaluators/judge.py,sha256=N3gEQGwVin9Ir80wWw6VtaL0xrlzitbmItaLm0he5gY,5962
36
- hud/evaluators/match.py,sha256=8YVQD942myX72Jkme2JFIVlmKhFXEa3CgGTjLC8O5n4,4701
37
- hud/evaluators/remote.py,sha256=kmD_XIU20KvX0NKgaEEKTTKHp0KVRa_3jUEgONh2nkY,2054
38
- hud/evaluators/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- hud/evaluators/tests/test_inspect.py,sha256=8dMjgQfXOJGcS8gP6TzoBbQiG_NYuRL6IobMG7euJdU,376
40
- hud/evaluators/tests/test_judge.py,sha256=c1GaAeq_WpBVgBlx-gQncHrOPokzKNxlbgiC8W8hxYI,7829
41
- hud/evaluators/tests/test_match.py,sha256=C04GoluyT9i41YZ65xEjN7tKHQbENbrpNhNtUd4ivmA,3919
42
- hud/evaluators/tests/test_remote.py,sha256=YdJpyyuRLkYP0e3jTUkD3zobS2WHQPePn8yBZtYOIN4,3243
43
- hud/server/__init__.py,sha256=IPxPCqtPLguryN-nBq78Sakypw2bRiE2iHv3SXG8YRk,139
44
- hud/server/requests.py,sha256=U0WEeY8AzsLMSICebxQyF0FEbXpKieh-3Qnisd0C6a4,7881
45
- hud/server/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
- hud/server/tests/test_requests.py,sha256=63YCbykcib5MxKxm-OgHJPLX3QC7hmgIwnWaYukVM6s,9077
47
- hud/utils/__init__.py,sha256=oSl_gGoS272X2VFnBYX8hLxcP2xgGoBYQXAuLhtQgw8,260
48
- hud/utils/common.py,sha256=nAhGgcOo132p5Qg48u6WV_NVN-oiag-4To--C1SYSDU,3052
49
- hud/utils/config.py,sha256=kGVuR7oKXjmJfeUAnbt53GesCJf_HPvvV1R6s9xjvq4,3549
50
- hud/utils/progress.py,sha256=suikwFM8sdSfkV10nAOEaInDhG4XKgOSvFePg4jSj1A,5927
51
- hud/utils/telemetry.py,sha256=hrVIx2rUjSGyy9IVxTZ_3Jii83PiHjyFRd5ls2whimM,1863
52
- hud/utils/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
- hud/utils/tests/test_common.py,sha256=gbYpQKBNdbCcEH0v1UZpxLt_NW2T5sETMIJKvy8S8pY,1658
54
- hud/utils/tests/test_config.py,sha256=dPlXYWuMrxX-NOYbf0vdJ27TJpfacKG8eiKOSGOcfDU,4079
55
- hud/utils/tests/test_progress.py,sha256=QunwDgi_heQXhDgmC25zgjr-sFUu5FdJ_1aYigMKeIc,6351
56
- hud/utils/tests/test_telemetry.py,sha256=t0An1RTBaE0dZVEpF4uwuq5k1R-PXFR5k4u71h60tx8,1224
57
- hud/utils/tests/test_version.py,sha256=bzqe0zpgWpVjnYJR_bfGi-eikKPlSkuv959T1hKBTT8,159
58
- hud/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
- hud_python-0.2.4.dist-info/METADATA,sha256=tXUQsMPRvY2wG_2YpAAcmJpNOv9NHEOOtC4Rxgh_3SI,8108
60
- hud_python-0.2.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
61
- hud_python-0.2.4.dist-info/licenses/LICENSE,sha256=yIzBheVUf86FC1bztAcr7RYWWNxyd3B-UJQ3uddg1HA,1078
62
- hud_python-0.2.4.dist-info/RECORD,,