hud-python 0.3.4__py3-none-any.whl → 0.4.0__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 (192) hide show
  1. hud/__init__.py +22 -89
  2. hud/agents/__init__.py +17 -0
  3. hud/agents/art.py +101 -0
  4. hud/agents/base.py +599 -0
  5. hud/{mcp → agents}/claude.py +373 -321
  6. hud/{mcp → agents}/langchain.py +250 -250
  7. hud/agents/misc/__init__.py +7 -0
  8. hud/{agent → agents}/misc/response_agent.py +80 -80
  9. hud/{mcp → agents}/openai.py +352 -334
  10. hud/agents/openai_chat_generic.py +154 -0
  11. hud/{mcp → agents}/tests/__init__.py +1 -1
  12. hud/agents/tests/test_base.py +742 -0
  13. hud/agents/tests/test_claude.py +324 -0
  14. hud/{mcp → agents}/tests/test_client.py +363 -324
  15. hud/{mcp → agents}/tests/test_openai.py +237 -238
  16. hud/cli/__init__.py +617 -0
  17. hud/cli/__main__.py +8 -0
  18. hud/cli/analyze.py +371 -0
  19. hud/cli/analyze_metadata.py +230 -0
  20. hud/cli/build.py +427 -0
  21. hud/cli/clone.py +185 -0
  22. hud/cli/cursor.py +92 -0
  23. hud/cli/debug.py +392 -0
  24. hud/cli/docker_utils.py +83 -0
  25. hud/cli/init.py +281 -0
  26. hud/cli/interactive.py +353 -0
  27. hud/cli/mcp_server.py +756 -0
  28. hud/cli/pull.py +336 -0
  29. hud/cli/push.py +379 -0
  30. hud/cli/remote_runner.py +311 -0
  31. hud/cli/runner.py +160 -0
  32. hud/cli/tests/__init__.py +3 -0
  33. hud/cli/tests/test_analyze.py +284 -0
  34. hud/cli/tests/test_cli_init.py +265 -0
  35. hud/cli/tests/test_cli_main.py +27 -0
  36. hud/cli/tests/test_clone.py +142 -0
  37. hud/cli/tests/test_cursor.py +253 -0
  38. hud/cli/tests/test_debug.py +453 -0
  39. hud/cli/tests/test_mcp_server.py +139 -0
  40. hud/cli/tests/test_utils.py +388 -0
  41. hud/cli/utils.py +263 -0
  42. hud/clients/README.md +143 -0
  43. hud/clients/__init__.py +16 -0
  44. hud/clients/base.py +354 -0
  45. hud/clients/fastmcp.py +202 -0
  46. hud/clients/mcp_use.py +278 -0
  47. hud/clients/tests/__init__.py +1 -0
  48. hud/clients/tests/test_client_integration.py +111 -0
  49. hud/clients/tests/test_fastmcp.py +342 -0
  50. hud/clients/tests/test_protocol.py +188 -0
  51. hud/clients/utils/__init__.py +1 -0
  52. hud/clients/utils/retry_transport.py +160 -0
  53. hud/datasets.py +322 -192
  54. hud/misc/__init__.py +1 -0
  55. hud/{agent → misc}/claude_plays_pokemon.py +292 -283
  56. hud/otel/__init__.py +35 -0
  57. hud/otel/collector.py +142 -0
  58. hud/otel/config.py +164 -0
  59. hud/otel/context.py +536 -0
  60. hud/otel/exporters.py +366 -0
  61. hud/otel/instrumentation.py +97 -0
  62. hud/otel/processors.py +118 -0
  63. hud/otel/tests/__init__.py +1 -0
  64. hud/otel/tests/test_processors.py +197 -0
  65. hud/server/__init__.py +5 -5
  66. hud/server/context.py +114 -0
  67. hud/server/helper/__init__.py +5 -0
  68. hud/server/low_level.py +132 -0
  69. hud/server/server.py +166 -0
  70. hud/server/tests/__init__.py +3 -0
  71. hud/settings.py +73 -79
  72. hud/shared/__init__.py +5 -0
  73. hud/{exceptions.py → shared/exceptions.py} +180 -180
  74. hud/{server → shared}/requests.py +264 -264
  75. hud/shared/tests/test_exceptions.py +157 -0
  76. hud/{server → shared}/tests/test_requests.py +275 -275
  77. hud/telemetry/__init__.py +25 -30
  78. hud/telemetry/instrument.py +379 -0
  79. hud/telemetry/job.py +309 -141
  80. hud/telemetry/replay.py +74 -0
  81. hud/telemetry/trace.py +83 -0
  82. hud/tools/__init__.py +33 -34
  83. hud/tools/base.py +365 -65
  84. hud/tools/bash.py +161 -137
  85. hud/tools/computer/__init__.py +15 -13
  86. hud/tools/computer/anthropic.py +437 -414
  87. hud/tools/computer/hud.py +376 -328
  88. hud/tools/computer/openai.py +295 -286
  89. hud/tools/computer/settings.py +82 -0
  90. hud/tools/edit.py +314 -290
  91. hud/tools/executors/__init__.py +30 -30
  92. hud/tools/executors/base.py +539 -532
  93. hud/tools/executors/pyautogui.py +621 -619
  94. hud/tools/executors/tests/__init__.py +1 -1
  95. hud/tools/executors/tests/test_base_executor.py +338 -338
  96. hud/tools/executors/tests/test_pyautogui_executor.py +165 -165
  97. hud/tools/executors/xdo.py +511 -503
  98. hud/tools/{playwright_tool.py → playwright.py} +412 -379
  99. hud/tools/tests/__init__.py +3 -3
  100. hud/tools/tests/test_base.py +282 -0
  101. hud/tools/tests/test_bash.py +158 -152
  102. hud/tools/tests/test_bash_extended.py +197 -0
  103. hud/tools/tests/test_computer.py +425 -52
  104. hud/tools/tests/test_computer_actions.py +34 -34
  105. hud/tools/tests/test_edit.py +259 -240
  106. hud/tools/tests/test_init.py +27 -27
  107. hud/tools/tests/test_playwright_tool.py +183 -183
  108. hud/tools/tests/test_tools.py +145 -157
  109. hud/tools/tests/test_utils.py +156 -156
  110. hud/tools/types.py +72 -0
  111. hud/tools/utils.py +50 -50
  112. hud/types.py +136 -89
  113. hud/utils/__init__.py +10 -16
  114. hud/utils/async_utils.py +65 -0
  115. hud/utils/design.py +168 -0
  116. hud/utils/mcp.py +55 -0
  117. hud/utils/progress.py +149 -149
  118. hud/utils/telemetry.py +66 -66
  119. hud/utils/tests/test_async_utils.py +173 -0
  120. hud/utils/tests/test_init.py +17 -21
  121. hud/utils/tests/test_progress.py +261 -225
  122. hud/utils/tests/test_telemetry.py +82 -37
  123. hud/utils/tests/test_version.py +8 -8
  124. hud/version.py +7 -7
  125. hud_python-0.4.0.dist-info/METADATA +474 -0
  126. hud_python-0.4.0.dist-info/RECORD +132 -0
  127. hud_python-0.4.0.dist-info/entry_points.txt +3 -0
  128. {hud_python-0.3.4.dist-info → hud_python-0.4.0.dist-info}/licenses/LICENSE +21 -21
  129. hud/adapters/__init__.py +0 -8
  130. hud/adapters/claude/__init__.py +0 -5
  131. hud/adapters/claude/adapter.py +0 -180
  132. hud/adapters/claude/tests/__init__.py +0 -1
  133. hud/adapters/claude/tests/test_adapter.py +0 -519
  134. hud/adapters/common/__init__.py +0 -6
  135. hud/adapters/common/adapter.py +0 -178
  136. hud/adapters/common/tests/test_adapter.py +0 -289
  137. hud/adapters/common/types.py +0 -446
  138. hud/adapters/operator/__init__.py +0 -5
  139. hud/adapters/operator/adapter.py +0 -108
  140. hud/adapters/operator/tests/__init__.py +0 -1
  141. hud/adapters/operator/tests/test_adapter.py +0 -370
  142. hud/agent/__init__.py +0 -19
  143. hud/agent/base.py +0 -126
  144. hud/agent/claude.py +0 -271
  145. hud/agent/langchain.py +0 -215
  146. hud/agent/misc/__init__.py +0 -3
  147. hud/agent/operator.py +0 -268
  148. hud/agent/tests/__init__.py +0 -1
  149. hud/agent/tests/test_base.py +0 -202
  150. hud/env/__init__.py +0 -11
  151. hud/env/client.py +0 -35
  152. hud/env/docker_client.py +0 -349
  153. hud/env/environment.py +0 -446
  154. hud/env/local_docker_client.py +0 -358
  155. hud/env/remote_client.py +0 -212
  156. hud/env/remote_docker_client.py +0 -292
  157. hud/gym.py +0 -130
  158. hud/job.py +0 -773
  159. hud/mcp/__init__.py +0 -17
  160. hud/mcp/base.py +0 -631
  161. hud/mcp/client.py +0 -312
  162. hud/mcp/tests/test_base.py +0 -512
  163. hud/mcp/tests/test_claude.py +0 -294
  164. hud/task.py +0 -149
  165. hud/taskset.py +0 -237
  166. hud/telemetry/_trace.py +0 -347
  167. hud/telemetry/context.py +0 -230
  168. hud/telemetry/exporter.py +0 -575
  169. hud/telemetry/instrumentation/__init__.py +0 -3
  170. hud/telemetry/instrumentation/mcp.py +0 -259
  171. hud/telemetry/instrumentation/registry.py +0 -59
  172. hud/telemetry/mcp_models.py +0 -270
  173. hud/telemetry/tests/__init__.py +0 -1
  174. hud/telemetry/tests/test_context.py +0 -210
  175. hud/telemetry/tests/test_trace.py +0 -312
  176. hud/tools/helper/README.md +0 -56
  177. hud/tools/helper/__init__.py +0 -9
  178. hud/tools/helper/mcp_server.py +0 -78
  179. hud/tools/helper/server_initialization.py +0 -115
  180. hud/tools/helper/utils.py +0 -58
  181. hud/trajectory.py +0 -94
  182. hud/utils/agent.py +0 -37
  183. hud/utils/common.py +0 -256
  184. hud/utils/config.py +0 -120
  185. hud/utils/deprecation.py +0 -115
  186. hud/utils/misc.py +0 -53
  187. hud/utils/tests/test_common.py +0 -277
  188. hud/utils/tests/test_config.py +0 -129
  189. hud_python-0.3.4.dist-info/METADATA +0 -284
  190. hud_python-0.3.4.dist-info/RECORD +0 -120
  191. /hud/{adapters/common → shared}/tests/__init__.py +0 -0
  192. {hud_python-0.3.4.dist-info → hud_python-0.4.0.dist-info}/WHEEL +0 -0
@@ -1,284 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: hud-python
3
- Version: 0.3.4
4
- Summary: SDK for the HUD platform.
5
- Project-URL: Homepage, https://github.com/hud-evals/hud-python
6
- Project-URL: Bug Tracker, https://github.com/hud-evals/hud-python/issues
7
- Project-URL: Documentation, https://docs.hud.so
8
- Author-email: HUD SDK <founders@hud.so>
9
- License: MIT License
10
-
11
- Copyright (c) 2025 Human Union Data, Inc
12
-
13
- Permission is hereby granted, free of charge, to any person obtaining a copy
14
- of this software and associated documentation files (the "Software"), to deal
15
- in the Software without restriction, including without limitation the rights
16
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
17
- copies of the Software, and to permit persons to whom the Software is
18
- furnished to do so, subject to the following conditions:
19
-
20
- The above copyright notice and this permission notice shall be included in all
21
- copies or substantial portions of the Software.
22
-
23
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
29
- SOFTWARE.
30
- License-File: LICENSE
31
- Classifier: Development Status :: 4 - Beta
32
- Classifier: Intended Audience :: Developers
33
- Classifier: Programming Language :: Python :: 3
34
- Classifier: Programming Language :: Python :: 3.11
35
- Classifier: Programming Language :: Python :: 3.12
36
- Classifier: Programming Language :: Python :: 3.13
37
- Requires-Python: <3.14,>=3.11
38
- Requires-Dist: anthropic
39
- Requires-Dist: datasets>=2.14.0
40
- Requires-Dist: dotenv>=0.9.9
41
- Requires-Dist: httpx<1,>=0.23.0
42
- Requires-Dist: langchain
43
- Requires-Dist: langchain-anthropic
44
- Requires-Dist: langchain-openai
45
- Requires-Dist: mcp-use>=1.3.7
46
- Requires-Dist: mcp>=1.12.2
47
- Requires-Dist: openai
48
- Requires-Dist: pathspec>=0.12.1
49
- Requires-Dist: pydantic-settings<3,>=2
50
- Requires-Dist: pydantic<3,>=2
51
- Requires-Dist: wrapt>=1.14.0
52
- Provides-Extra: dev
53
- Requires-Dist: aiodocker>=0.24.0; extra == 'dev'
54
- Requires-Dist: anthropic; extra == 'dev'
55
- Requires-Dist: dotenv; extra == 'dev'
56
- Requires-Dist: ipykernel; extra == 'dev'
57
- Requires-Dist: ipython<9; extra == 'dev'
58
- Requires-Dist: jupyter-client; extra == 'dev'
59
- Requires-Dist: jupyter-core; extra == 'dev'
60
- Requires-Dist: openai; extra == 'dev'
61
- Requires-Dist: pillow>=11.1.0; extra == 'dev'
62
- Requires-Dist: playwright; extra == 'dev'
63
- Requires-Dist: pyautogui>=0.9.54; extra == 'dev'
64
- Requires-Dist: pyright==1.1.401; extra == 'dev'
65
- Requires-Dist: pytest-asyncio; extra == 'dev'
66
- Requires-Dist: pytest-cov; extra == 'dev'
67
- Requires-Dist: pytest-mock; extra == 'dev'
68
- Requires-Dist: pytest<9,>=8.1.1; extra == 'dev'
69
- Requires-Dist: ruff==0.11.8; extra == 'dev'
70
- Requires-Dist: toml>=0.10.2; extra == 'dev'
71
- Provides-Extra: v2
72
- Requires-Dist: aiodocker>=0.24.0; extra == 'v2'
73
- Requires-Dist: inspect-ai>=0.3.80; extra == 'v2'
74
- Requires-Dist: ipykernel; extra == 'v2'
75
- Requires-Dist: numpy; extra == 'v2'
76
- Requires-Dist: pillow>=11.1.0; extra == 'v2'
77
- Requires-Dist: pyautogui>=0.9.54; extra == 'v2'
78
- Requires-Dist: textdistance<5,>=4.5.0; extra == 'v2'
79
- Requires-Dist: toml>=0.10.2; extra == 'v2'
80
- Description-Content-Type: text/markdown
81
-
82
- <div align="left">
83
- <img src="https://raw.githubusercontent.com/hud-evals/hud-python/main/docs/logo/hud_logo.svg" alt="HUD" width="150" style="margin-bottom: 20px;"/>
84
- </div>
85
-
86
- <h3>
87
- Evaluate your Computer Use AI agents across web browsers, desktop environments, and custom scenarios.
88
- </h3>
89
-
90
- ### 🚀 Are you a startup building agents?
91
-
92
- [📅 Hop on a call](https://cal.com/jay-ram-z6st6w/demo) or [📧 founders@hud.so](mailto:founders@hud.so)
93
-
94
- We're here to help with eval strategies, custom environments, or improving your agent architecture!
95
-
96
-
97
- > **Early Release Notice**: We'd love to hear your feedback in [Issues](https://github.com/hud-evals/hud-python/issues), as the SDK is still evolving!
98
-
99
- [![PyPI version](https://img.shields.io/pypi/v/hud-python)](https://pypi.org/project/hud-python/)
100
-
101
- ## ✨ What You Can Do
102
-
103
- **[Evaluate Existing Benchmarks](https://docs.hud.so/examples/benchmarking-agents)**
104
- ```python
105
- from hud import load_taskset, run_job, ClaudeAgent
106
-
107
- taskset = await load_taskset("WebVoyager") # or GAIA, OSWorld-Ubuntu, Mind2Web
108
- job = await run_job(ClaudeAgent, taskset, "my-evaluation")
109
- ```
110
-
111
- **[Create Custom Tasks](https://docs.hud.so/task-creation)**
112
- ```python
113
- from hud.task import Task
114
-
115
- task = Task(
116
- prompt="Find and book the cheapest flight from NYC to Paris",
117
- gym="hud-browser",
118
- setup=("goto", "https://kayak.com"),
119
- evaluate=("page_contains", "confirmation")
120
- )
121
- ```
122
-
123
- **[Build Custom Environments](https://docs.hud.so/environment-creation)**
124
- ```python
125
- from hud.types import CustomGym
126
-
127
- # Launch any website as an environment
128
- custom_gym = CustomGym(
129
- image_or_build_context="nginx:alpine",
130
- location="local"
131
- )
132
-
133
- # Or create complex Docker environments - see environments/ folder for examples
134
- ```
135
-
136
- **[Trace Tool Calls Alongside HUD Environments (or Independently)](https://docs.hud.so/examples/mcp-agent-tracing)**
137
- ```python
138
- import hud
139
-
140
- with hud.trace("my-agent-run"):
141
- # Your agent code here - MCP calls automatically captured
142
- result = await agent.run(task)
143
- ```
144
-
145
- ## Quick Start
146
-
147
- ### Installation
148
-
149
- ```bash
150
- pip install hud-python
151
- ```
152
-
153
- ### API Key Setup
154
-
155
- Before getting started, you'll need to obtain an API key:
156
-
157
- 1. Visit [app.hud.so](https://app.hud.so) to create a free account and generate your API key
158
- 2. Set it in your environment or .env file:
159
-
160
- ```bash
161
- export HUD_API_KEY=your_api_key_here
162
- ```
163
-
164
- ### Simple Browser Example with Claude Computer Use
165
-
166
- > 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).
167
-
168
- Make sure your have defined your `ANTRHOPIC_API_KEY` in environment variables to run Claude.
169
-
170
- ```python
171
- import asyncio
172
- from hud import gym, register_job
173
- from hud.task import Task
174
- from hud.agent import ClaudeAgent
175
-
176
- @register_job("test-run")
177
- async def main():
178
- task = Task(
179
- prompt="Insert the text 'capybara' into the search bar",
180
- gym="hud-browser",
181
- setup=("goto", "google.com"),
182
- evaluate=("contains_text", "capybara")
183
- )
184
- print(f"Running task with prompt: {task.prompt}")
185
-
186
- # Create environment using the gym module
187
- env = await gym.make(task)
188
-
189
- # Initialize Claude agent (API key is loaded automatically)
190
- agent = ClaudeAgent()
191
-
192
- # Agent loop with predict and step functions
193
- obs, _ = await env.reset() # Gets first observation
194
- for i in range(5):
195
- actions, done = await agent.predict(obs)
196
- print(f"Agent action {i}: {actions}")
197
-
198
- obs, reward, terminated, info = await env.step(actions)
199
- if done or terminated: break
200
-
201
- # Evaluate and close
202
- result = await env.evaluate()
203
- print(f"Evaluation result: {result}")
204
- await env.close()
205
-
206
- if __name__ == "__main__":
207
- asyncio.run(main())
208
- ```
209
-
210
- Alternatively, run a full evaluation set via the ```run_job``` command:
211
-
212
- ```python
213
- from hud import load_taskset, run_job, ClaudeAgent
214
-
215
- # Load a benchmark
216
- taskset = load_taskset("GAIA")
217
-
218
- # Evaluate
219
- job = await run_job(ClaudeAgent, taskset, "test-gaia-job")
220
-
221
- # Get results OR view them in app.hud.so
222
- print(await job.get_analytics())
223
- ```
224
-
225
- ## Ready-to-Use TaskSets
226
-
227
- - **WebVoyager** - Web navigation and interaction
228
- - **Mind2Web** - Complex web application tasks
229
- - **GAIA** - Question answering and reasoning
230
- - **OSWorld-Ubuntu** - Desktop interaction
231
- - **hud-samples** - Getting started examples
232
-
233
- ## Community
234
-
235
- **Contributing Custom Environments**
236
-
237
- Add your environment to the `environments/` folder and submit a PR! Examples:
238
- - `environments/novnc_ubuntu/` - Ubuntu with VNC access
239
- - `environments/pokemon_controller/` - Pokemon emulator environment (In Development)
240
- - `environments/qa_controller/` - Lightweight app sample
241
-
242
- See [Custom Environments Guide](https://docs.hud.so/environment-creation) for details.
243
-
244
- ## Documentation Sections
245
-
246
- Explore the core concepts and features of the SDK:
247
-
248
- * **[Task Creation](https://docs.hud.so/task-creation)**: Build custom evaluation scenarios with setup and evaluation criteria.
249
- * **[Environments](https://docs.hud.so/environments/browser)**: Understand browser environments and create custom Docker-based environments.
250
- * **[Agents](https://docs.hud.so/concepts/agent)**: Learn about the agent architecture (Claude, Operator) and how they process observations and predict actions.
251
- * **[Jobs](https://docs.hud.so/concepts/job)**: Group related runs for analysis and viewing on the HUD platform.
252
- * **[MCP Telemetry](https://docs.hud.so/telemetry/mcp)**: Automatic tracing of Model Context Protocol interactions.
253
- * **[Full API Reference](https://docs.hud.so/api-reference/gym)**: Detailed specifications for all modules and classes.
254
-
255
- ## [Examples](examples/)
256
-
257
- We recommend you first take a look at the example notebooks showing how to use the HUD SDK:
258
-
259
- 1. [Browser Basics](examples/browser_use.ipynb) - Simple browser interaction with live view
260
- 2. [Task Design](examples/tasks.ipynb) - Creating and customizing tasks
261
- 3. [OSWorld](examples/osworld.ipynb) - Running the OSWorld benchmark
262
- 4. [Local Development](examples/local.ipynb) - Setting up local custom environments
263
-
264
- ## Documentation
265
-
266
- For comprehensive guides, examples, and API reference, visit [our docs](https://docs.hud.so/introduction)
267
-
268
- ## License
269
-
270
- [MIT License](LICENSE)
271
-
272
- ## Citation
273
-
274
- If you use this SDK in your research, please cite it as follows:
275
-
276
- ```bibtex
277
- @software{hud2025agentevalplatform,
278
- author = {HUD and Jay Ram and Lorenss Martinsons and Parth Patel and Oskars Putans and Govind Pimpale and Mayank Singamreddy and Nguyen Nhat Minh},
279
- title = {{HUD: An Evaluation Platform for Agents}},
280
- date = {2025-04},
281
- url = {https://github.com/hud-evals/hud-python},
282
- langid = {en}
283
- }
284
- ```
@@ -1,120 +0,0 @@
1
- hud/__init__.py,sha256=ro9AhwS9EwqnXjRbcZREmZnl6kEJIpWuKbDdmqXBWvo,2443
2
- hud/datasets.py,sha256=HGMARvOUjNITbvNZTCr7eQ_PRcl4a1B_mtgjLhmQzDI,6369
3
- hud/exceptions.py,sha256=Xna_pdEK_ESwkcffsRmT5GXq4xSHLV5cu7Qu3MjstSE,5516
4
- hud/gym.py,sha256=-hp5HdPBWf6-j0CgSoX_f2CTLssf1Wo5UhfyrnPbvkc,4774
5
- hud/job.py,sha256=0vWbr3E5bYstVRzXS_6l-57JGUFcrZpmFrNkOSQ8Aa0,26969
6
- hud/settings.py,sha256=KPzeF9OUecApYH8YYMW-8vIRhFP_6htzzZvC4RCUARc,2183
7
- hud/task.py,sha256=Ck26zeJzQmYmVzMwbcqIMkXoN_QRFr24B7CFDnhpOzc,5688
8
- hud/taskset.py,sha256=8xNckJ_4_VPlBudD2l5jOfKMemVRJodf3uQzYJq8wDQ,7116
9
- hud/trajectory.py,sha256=LBVkFz6U_rmyooCZHN81tdOx0Z7DuAgzf0KQLejc4Fo,3937
10
- hud/types.py,sha256=h7fUowbdyGF4Fg8TUnvCFoa2fflRRPi6xx7YgpBwFis,3109
11
- hud/version.py,sha256=-iW4qkpS2PSBpSMSw7v6Wyv033KfYN7ckWvqvjly03M,104
12
- hud/adapters/__init__.py,sha256=zz24KdC_e9TJPgWo6y57_8SzevEE5ak4Cm6tXzMxwRk,266
13
- hud/adapters/claude/__init__.py,sha256=i7QEF-29FLb9qxp1eYtXs-adIk_tG54tL-9g6d3xodk,100
14
- hud/adapters/claude/adapter.py,sha256=vCpotJ5gzQs4PP2iCXVavIcyG8c_4m1P6fuXStwUxSo,6675
15
- hud/adapters/claude/tests/__init__.py,sha256=9GZj0rz4tTkiPnLfxTmyBPr-s8UZc3gph6WH8fs8T34,39
16
- hud/adapters/claude/tests/test_adapter.py,sha256=cAdHEoqLngLiV7QwlWJ0KuNgb1vNv9WZTPQMnxhMDKI,18319
17
- hud/adapters/common/__init__.py,sha256=BjdZWJVs_AKtpFrt-tNsdQRjnz7D97DFEQirJ-r0mp8,118
18
- hud/adapters/common/adapter.py,sha256=fTpw7wA501nxM3ufl6WMWq4Nc3vXlUeBGS7WgvZVFjU,6180
19
- hud/adapters/common/types.py,sha256=6frue7_gZlSYtOHhF2tFHqzjltzzHsTVs6-H-jQwZ4Y,9955
20
- hud/adapters/common/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
- hud/adapters/common/tests/test_adapter.py,sha256=7QRpQPGM1PlMi8RcqJAT4ruGvLT9TgGmc9R5tzncN1M,8965
22
- hud/adapters/operator/__init__.py,sha256=31vTRs268_TOLd-TeQRKau5bDYy78wxCNpJFhD5_l8U,104
23
- hud/adapters/operator/adapter.py,sha256=Uz4Sr73T57B7v4RRP0uaibHI17N2hBx6Z9YYjgJCUXA,3732
24
- hud/adapters/operator/tests/__init__.py,sha256=yTsDVusVXZBQL6DnXpLgKQCBRuOYUAVQ8Blk_k5GETk,41
25
- hud/adapters/operator/tests/test_adapter.py,sha256=4RAXwyxAtkh-1Mlt1zJayRkcv3LWaPNEhDVTpwOZd4A,12942
26
- hud/agent/__init__.py,sha256=_OxMG3UW1vXSuixdpo09b1jexfWcUbfK44zto8t6_LE,453
27
- hud/agent/base.py,sha256=hC3mVUMAWo5HHF2b576ScA9UQzsAzcCfPU9S8mDWthA,4080
28
- hud/agent/claude.py,sha256=FBSKCxICO6XXYCuIrerVL89bVJ-5JxrZJBDeZgzAdJI,9886
29
- hud/agent/claude_plays_pokemon.py,sha256=4TPibnTFhTb24ISRKAU3pA4waIcISTfZLOdfBMIMqxE,10085
30
- hud/agent/langchain.py,sha256=H55JNHcGkdl-LVzZEqOFRkuuFEO0D8MI1jCNz9deoko,9012
31
- hud/agent/operator.py,sha256=kntMOsdL5tzaGVSnzbGvFD2PMLzW2DEB2wEqN_LArQw,10500
32
- hud/agent/misc/__init__.py,sha256=-ftYH1T5r7fXKKra6d8jXYmUz9KOTmYwBrPJU-V3S7g,71
33
- hud/agent/misc/response_agent.py,sha256=3PPsZqNAyUo2ouSV0ylGQj9fJqojfSB2roq2DadUdG0,3048
34
- hud/agent/tests/__init__.py,sha256=HbAW7FvSvzzKPU5LpveZceU8XTcDkRe1Bmte3OGi2f0,29
35
- hud/agent/tests/test_base.py,sha256=MAHx4QWsX4y4jXDoA1sxWw8uFvL7lIzGlXrnHfOTmkw,8511
36
- hud/env/__init__.py,sha256=wVEesXMXM5hcNXQHt0-PN4-9RnE69DEnQENS7uJSv_Y,266
37
- hud/env/client.py,sha256=brhfLkWGSuvxl3vqGMCQT-vXfj8rUbJMhE3zJg9WMDA,869
38
- hud/env/docker_client.py,sha256=55PTFansUDzsRMT_43eSTVO9rb_wzl_s4aBpBqmMeXk,11749
39
- hud/env/environment.py,sha256=wjMBwGs5qkkXsVlXR_Z2QPZi4cwXE82ckdzRgHiXPjw,17019
40
- hud/env/local_docker_client.py,sha256=IIuPSV_KJsfCONJAIVkgq_2zgUJl-FE4e5tDkkbRp0Y,12442
41
- hud/env/remote_client.py,sha256=tP5Gn1YtYgsjdXA4vM4FibAAHnR-9OOH4GrTog97cf8,6670
42
- hud/env/remote_docker_client.py,sha256=sBoOz3cq9HMgVvX8qCYEhRLvdswMZLG9G4Ybc60RzDo,9574
43
- hud/mcp/__init__.py,sha256=VBAZfpD8Ww59CkWb4CB0rGhNGqJYtc5y1gWZWHDaViQ,371
44
- hud/mcp/base.py,sha256=H4CRVGG4aEXAk_qRk3iOi-KLf8AVuffmoXPTaSXD4_0,24376
45
- hud/mcp/claude.py,sha256=XxXHjNnBvrS2Y98m0xTfFjZYgACCoFVTiNd01neffbM,12034
46
- hud/mcp/client.py,sha256=qrmpk2syjJ56y-09Dg44RVjUCFfmf5bPXaQSY-2ih-k,11494
47
- hud/mcp/langchain.py,sha256=hbKSCSQBf4W_pPpGEdy_KNoPA-T7Bsn_BLIDxaLzvVU,9251
48
- hud/mcp/openai.py,sha256=tpYK4ixLWqxAUXatXhoIZUXMlK1oP8TUZjnkSxBQVMc,13244
49
- hud/mcp/tests/__init__.py,sha256=W-O-_4i34d9TTyEHV-O_q1Ai1gLhzwDaaPo02_TWQIY,34
50
- hud/mcp/tests/test_base.py,sha256=lrRZoyDN7T67kOfv1A5WESaSHsYCaodD2CJnFli-4A4,19125
51
- hud/mcp/tests/test_claude.py,sha256=kGDThen8ij9QWx_YH3P9UvLlra1ueEMgA_clQ1q60II,11312
52
- hud/mcp/tests/test_client.py,sha256=ffxKzLmY75v-9l3aceUkn7aTdoO3j6deA4KBE3l9gaQ,11975
53
- hud/mcp/tests/test_openai.py,sha256=AhnBT_y-zMykQyJARDwKWiQWJsBGwNIlH6fGAzhJh88,9091
54
- hud/server/__init__.py,sha256=IPxPCqtPLguryN-nBq78Sakypw2bRiE2iHv3SXG8YRk,139
55
- hud/server/requests.py,sha256=AnFW4ELojjvfF6xjS2no6_fg4Rph2aR2hjPzYTede0Q,8841
56
- hud/server/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
- hud/server/tests/test_requests.py,sha256=63YCbykcib5MxKxm-OgHJPLX3QC7hmgIwnWaYukVM6s,9077
58
- hud/telemetry/__init__.py,sha256=qSQhbXYy7c_sG7KhVr-5eiCmeREj6GQ2cijhbIR2-Z4,717
59
- hud/telemetry/_trace.py,sha256=Di2zKByHaljL6H4VkA-Gh_085jRJQw2VTiMOHX_FKp0,11433
60
- hud/telemetry/context.py,sha256=qwCdUQ3UX_Y_zfIHSAQ1cdJNv-VLh5y8ovXfLpjHKVY,7492
61
- hud/telemetry/exporter.py,sha256=10NwliO35J0fStvspgzb93N5MTko3pYNJe0fuTs-gPQ,23225
62
- hud/telemetry/job.py,sha256=eyjr7Ha2ijM0MIF5f0d1xFOScFUdFIqlmO8GzQZoAJc,4905
63
- hud/telemetry/mcp_models.py,sha256=0FQZoXtKOKeUsc2L61UbANpUDC7VNL842R2YFR61UBQ,8980
64
- hud/telemetry/instrumentation/__init__.py,sha256=vHmSqaJMMehgRNn6EN2SMoYDD12rSHkLeVmj7Uy1my0,88
65
- hud/telemetry/instrumentation/mcp.py,sha256=RbEaqmp8QHj1XqpIzwDSE8gH2cN5UjaBTouRxiPWxmc,9339
66
- hud/telemetry/instrumentation/registry.py,sha256=UVaSsEA693lvKYd5R3n3ve6GcAB1fwqubRwIVeZiNmo,1821
67
- hud/telemetry/tests/__init__.py,sha256=QMN8OzfrBUDbQESwrwHCqXLdDwCjYWX8BJcpeLUJfqA,33
68
- hud/telemetry/tests/test_context.py,sha256=RdtjYHsyvlkKoTQxk0VezaAISEoVQReYqQiqK3jgFLQ,6746
69
- hud/telemetry/tests/test_trace.py,sha256=mCm5AH-NpuDVvRG-CZhMMqHiJ4dahvcy9KHmWmo6o3A,12494
70
- hud/tools/__init__.py,sha256=T4PnE5nuBCXsTKXUYBHmaF1Ojc6D5vAa6wA2cFWJfTc,986
71
- hud/tools/base.py,sha256=lmd7N7IccIWrPpA0NZundIglFTTiLFW9VP_PJI2EXug,2069
72
- hud/tools/bash.py,sha256=o841_HF1NJFfUWLOVUw9s0iB4BoIxhA-8vMasJOhZ70,4319
73
- hud/tools/edit.py,sha256=9vJ2XSnWOPViujQbZZuDjLahvzxoPHyAeXxgKfpUDHo,11796
74
- hud/tools/playwright_tool.py,sha256=IQT1hk5U4H8BI988iZq0B2oS_fbgkaX01Z-ZXL4r71o,13724
75
- hud/tools/utils.py,sha256=bfVyYMcBOJvr1QdptCjVb6jaHVGIL5WUxmY59kzMekQ,1447
76
- hud/tools/computer/__init__.py,sha256=ehKY7u0_4cZ9h7YQlOQjbKPWfd5LhQq8ZQn2w2-l2mY,302
77
- hud/tools/computer/anthropic.py,sha256=uTK2bd5Hjjrus8Gj8Ac8cmT7nOuuAdh5Xcne9plNHvI,16240
78
- hud/tools/computer/hud.py,sha256=mm3jHpWYGj39WI2VYkKPfhKtag74VbIdS-yUGAHBaXU,13859
79
- hud/tools/computer/openai.py,sha256=bXZ1rVNZOj9xujeXVwKB4wUGZkC9T9_VFvEMqbLSSJg,10674
80
- hud/tools/executors/__init__.py,sha256=jHxfus9SLhkL6YGtebR5RyKYyVAix3yu5EkUp2Q27Kg,732
81
- hud/tools/executors/base.py,sha256=ZVdriSlO6XmhT8-123rYgd7K1DbeGaNRDiO4-oGYM_c,14180
82
- hud/tools/executors/pyautogui.py,sha256=Kc2OcFw-sEuRBRFtO1ZrWeHs1p-p5FtEpESkzpRhOHk,22098
83
- hud/tools/executors/xdo.py,sha256=C6ecIVPUba7c6vKpgIcNxKcc698hwelQjj4YYUxT2_4,17751
84
- hud/tools/executors/tests/__init__.py,sha256=opFpGSH6cEqIZgt9izXd3Yt85pC7xkxiYmOZQTHf4AY,32
85
- hud/tools/executors/tests/test_base_executor.py,sha256=dvpKHCIjrBhT6E2U3hsjAwuivCAYXplvd08EHN6cxTI,12306
86
- hud/tools/executors/tests/test_pyautogui_executor.py,sha256=br-wVvXnRx9G6X0yJ_xeKZf2xl8o4LCnYLeaIbkpuzY,6608
87
- hud/tools/helper/README.md,sha256=GDS-K-wMnDO3-gtWjisgk5153zBmU29XSrs2ZhlOWQY,1727
88
- hud/tools/helper/__init__.py,sha256=VqgQkY-y9h-WnGXZRK387fSr1BzrOQoAy3975WDAs4c,209
89
- hud/tools/helper/mcp_server.py,sha256=t8UaGq91hDKef6zO3ApnJydwcKEqgLF6RdDcJ1GmfEA,2248
90
- hud/tools/helper/server_initialization.py,sha256=j3lymoyXf9nGX907Thf4kxDfkIQ7g4-3yiRvR1Ztqc0,4025
91
- hud/tools/helper/utils.py,sha256=hfaJX9HX2vmytaIwk_NG-luSXHY4VhrzegELDtx7Lp8,1776
92
- hud/tools/tests/__init__.py,sha256=eEYYkxX5Hz9woXVOBJ2H2_CQoEih0vH6nRt3sH2Z8v8,49
93
- hud/tools/tests/test_bash.py,sha256=LV3LjijwkQqxuxIXFSepD2x3sYoY4uhdw8EBv4JOyLU,4847
94
- hud/tools/tests/test_computer.py,sha256=HxYHxKJ0eWyZzC3abzviFBU-auc8x6Sh2ciR_uVXMXw,1595
95
- hud/tools/tests/test_computer_actions.py,sha256=YtUNFL7anhpXrcvg8EoUY1CqIV-TAAyaNFLZO9CiJ40,1194
96
- hud/tools/tests/test_edit.py,sha256=_Bfh9Qc_zSYK5vS9kfhm5G9tkVvX1dsEIFqE3jkeSv0,8527
97
- hud/tools/tests/test_init.py,sha256=PD_SS6X6SPhEjStJqYxdJRtsa7RbL6cTokAGIn5bWhA,702
98
- hud/tools/tests/test_playwright_tool.py,sha256=1qED_NF2QXUZmBRbWSmcKImMLUQ3m5CbA_9tLUiaxTQ,6696
99
- hud/tools/tests/test_tools.py,sha256=KgSPgdqldpifbHeQHBFdYJVf3boWbvK6LRRRORPfTOg,4595
100
- hud/tools/tests/test_utils.py,sha256=oYxEnLpSA5sEeYFGUTj74QRNv0AHP3AjmYYHXgIW0BY,5496
101
- hud/utils/__init__.py,sha256=WR1-DGxgZyIGdEsrKJqrJYXrN0Tq64cUs06NiiXK8EU,395
102
- hud/utils/agent.py,sha256=CpNgjKWMaNqo-EATH_vfJHIN53rEkZngm2LXfUFlldQ,1225
103
- hud/utils/common.py,sha256=_3HNmSOsHWyexP6iXTuU2wMx3Fafeg5hZU3VXBmv0Ag,7780
104
- hud/utils/config.py,sha256=L_sSYtEaOap-Gnb2iLPJPQc2rteyt6mjOdJUrktmFwM,4020
105
- hud/utils/deprecation.py,sha256=6XmX0C_0OvW55L2KgSWdSD8Lzy2OGtV9KPPJqOFDUXE,3430
106
- hud/utils/misc.py,sha256=CfOv_ftLty1iEo3Rxyz4AD4nmaBkhCJVO_W-FlcyDgI,1481
107
- hud/utils/progress.py,sha256=suikwFM8sdSfkV10nAOEaInDhG4XKgOSvFePg4jSj1A,5927
108
- hud/utils/telemetry.py,sha256=hrVIx2rUjSGyy9IVxTZ_3Jii83PiHjyFRd5ls2whimM,1863
109
- hud/utils/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
- hud/utils/tests/test_common.py,sha256=KqDSMf7gWf1oYCiQ_BXsnvW1wUmyzbOzAT-HNoF7txs,9443
111
- hud/utils/tests/test_config.py,sha256=dPlXYWuMrxX-NOYbf0vdJ27TJpfacKG8eiKOSGOcfDU,4079
112
- hud/utils/tests/test_init.py,sha256=UxlNTwjlSE2q3M0R86EmMYmmXmbRvzZaC-S2av26QXI,529
113
- hud/utils/tests/test_progress.py,sha256=QunwDgi_heQXhDgmC25zgjr-sFUu5FdJ_1aYigMKeIc,6351
114
- hud/utils/tests/test_telemetry.py,sha256=t0An1RTBaE0dZVEpF4uwuq5k1R-PXFR5k4u71h60tx8,1224
115
- hud/utils/tests/test_version.py,sha256=0oPeF4n4mCfNWykLo9xBQlJ9rh0VkzVQTIOfo1HdKFk,159
116
- hud/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
117
- hud_python-0.3.4.dist-info/METADATA,sha256=JHgz8WDAOg9bq7UJKRYxDiiaTKY6KX6Z992xsdL_Dkg,10250
118
- hud_python-0.3.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
119
- hud_python-0.3.4.dist-info/licenses/LICENSE,sha256=yIzBheVUf86FC1bztAcr7RYWWNxyd3B-UJQ3uddg1HA,1078
120
- hud_python-0.3.4.dist-info/RECORD,,
File without changes