hud-python 0.4.7__py3-none-any.whl → 0.4.9__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/clients/fastmcp.py CHANGED
@@ -105,15 +105,19 @@ class FastMCPHUDClient(BaseHUDClient):
105
105
  raise
106
106
 
107
107
  # Configure validation for output schemas based on client setting
108
- from mcp.client.session import ValidationOptions
109
-
110
- if (
111
- hasattr(self._client, "_session_state")
112
- and self._client._session_state.session is not None
113
- ):
114
- self._client._session_state.session._validation_options = ValidationOptions(
115
- strict_output_validation=self._strict_validation
116
- )
108
+ try:
109
+ from hud_mcp.client.session import ValidationOptions # type: ignore[import-not-found]
110
+
111
+ if (
112
+ hasattr(self._client, "_session_state")
113
+ and self._client._session_state.session is not None
114
+ ):
115
+ self._client._session_state.session._validation_options = ValidationOptions(
116
+ strict_output_validation=self._strict_validation
117
+ )
118
+ except ImportError:
119
+ # ValidationOptions may not be available in some mcp versions
120
+ pass
117
121
 
118
122
  logger.info("FastMCP client connected")
119
123
 
hud/clients/mcp_use.py CHANGED
@@ -73,7 +73,7 @@ class MCPUseHUDClient(BaseHUDClient):
73
73
 
74
74
  # Configure validation for all sessions based on client setting
75
75
  try:
76
- from mcp.client.session import ValidationOptions # type: ignore[import-not-found]
76
+ from hud_mcp.client.session import ValidationOptions # type: ignore[import-not-found]
77
77
 
78
78
  for session in self._sessions.values():
79
79
  if (
hud/tools/__init__.py CHANGED
@@ -8,6 +8,7 @@ from .base import BaseHub, BaseTool
8
8
  from .bash import BashTool
9
9
  from .edit import EditTool
10
10
  from .playwright import PlaywrightTool
11
+ from .response import ResponseTool
11
12
 
12
13
  if TYPE_CHECKING:
13
14
  from .computer import AnthropicComputerTool, HudComputerTool, OpenAIComputerTool
@@ -21,6 +22,7 @@ __all__ = [
21
22
  "HudComputerTool",
22
23
  "OpenAIComputerTool",
23
24
  "PlaywrightTool",
25
+ "ResponseTool",
24
26
  ]
25
27
 
26
28
 
hud/tools/response.py ADDED
@@ -0,0 +1,54 @@
1
+ from __future__ import annotations
2
+
3
+ from abc import abstractmethod
4
+ from typing import TYPE_CHECKING
5
+
6
+ from .base import BaseTool
7
+
8
+ if TYPE_CHECKING:
9
+ from mcp.types import ContentBlock
10
+
11
+
12
+ class ResponseTool(BaseTool):
13
+ """
14
+ Protocol for handling responses within environments.
15
+
16
+ This abstract tool defines the interface for response handling in environments.
17
+ Subclasses should implement the __call__ method to handle responses according
18
+ to their specific needs.
19
+
20
+ Example:
21
+ class MyEnvironmentResponseTool(ResponseTool):
22
+ async def __call__(
23
+ self,
24
+ response: str | None = None,
25
+ messages: list[ContentBlock] | None = None
26
+ ) -> list[ContentBlock]:
27
+ # Custom implementation for handling responses
28
+ from mcp.types import TextContent
29
+ blocks = []
30
+ if response:
31
+ # Process response according to environment needs
32
+ blocks.append(TextContent(text=f"[ENV] {response}", type="text"))
33
+ if messages:
34
+ # Process messages according to environment needs
35
+ blocks.extend(messages)
36
+ return blocks
37
+ """
38
+
39
+ @abstractmethod
40
+ async def __call__(
41
+ self,
42
+ response: str | None = None,
43
+ messages: list[ContentBlock] | None = None
44
+ ) -> list[ContentBlock]:
45
+ """Handle response or messages and return as ContentBlocks.
46
+
47
+ Args:
48
+ response: A single text response to handle
49
+ messages: A list of ContentBlock messages to handle
50
+
51
+ Returns:
52
+ List of ContentBlock containing the processed response(s)
53
+ """
54
+ raise NotImplementedError("Subclasses must implement __call__")
hud/utils/design.py CHANGED
@@ -93,6 +93,16 @@ class HUDDesign:
93
93
  """
94
94
  console = self._stderr_console if stderr else self._stdout_console
95
95
  console.print(f"[default not bold]{message}[/default not bold]")
96
+
97
+ def print(self, message: str, stderr: bool = True) -> None:
98
+ """Print a message.
99
+
100
+ Args:
101
+ message: The message to print
102
+ stderr: If True, output to stderr (default), otherwise stdout
103
+ """
104
+ console = self._stderr_console if stderr else self._stdout_console
105
+ console.print(message)
96
106
 
97
107
  def dim_info(self, label: str, value: str, stderr: bool = True) -> None:
98
108
  """Print dimmed info with a label.
hud/utils/mcp.py CHANGED
@@ -1,11 +1,14 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import logging
3
4
  from typing import Any
4
5
 
5
6
  from pydantic import BaseModel, Field
6
7
 
7
8
  from hud.settings import settings
8
9
 
10
+ logger = logging.getLogger(__name__)
11
+
9
12
 
10
13
  class MCPConfigPatch(BaseModel):
11
14
  """Patch for MCP config."""
@@ -34,8 +37,13 @@ def patch_mcp_config(mcp_config: dict[str, dict[str, Any]], patch: MCPConfigPatc
34
37
  meta.setdefault(key, value)
35
38
 
36
39
 
37
- def setup_hud_telemetry(mcp_config: dict[str, dict[str, Any]], auto_trace: bool = True) -> None:
38
- """Setup telemetry for hud servers."""
40
+ def setup_hud_telemetry(mcp_config: dict[str, dict[str, Any]], auto_trace: bool = True) -> Any | None:
41
+ """Setup telemetry for hud servers.
42
+
43
+ Returns:
44
+ The auto-created trace context manager if one was created, None otherwise.
45
+ Caller is responsible for exiting the context manager.
46
+ """
39
47
  if not mcp_config:
40
48
  raise ValueError("Please run initialize() before setting up client-side telemetry")
41
49
 
@@ -43,6 +51,8 @@ def setup_hud_telemetry(mcp_config: dict[str, dict[str, Any]], auto_trace: bool
43
51
  from hud.telemetry import trace
44
52
 
45
53
  run_id = get_current_task_run_id()
54
+ auto_trace_cm = None
55
+
46
56
  if not run_id and auto_trace:
47
57
  auto_trace_cm = trace("My Trace")
48
58
  run_id = auto_trace_cm.__enter__()
@@ -53,3 +63,5 @@ def setup_hud_telemetry(mcp_config: dict[str, dict[str, Any]], auto_trace: bool
53
63
  mcp_config,
54
64
  MCPConfigPatch(headers={"Run-Id": run_id}, meta={"run_id": run_id}),
55
65
  )
66
+
67
+ return auto_trace_cm
@@ -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.7"
8
+ assert hud.__version__ == "0.4.9"
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.7"
7
+ __version__ = "0.4.9"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hud-python
3
- Version: 0.4.7
3
+ Version: 0.4.9
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
@@ -37,6 +37,8 @@ Classifier: Programming Language :: Python :: 3.13
37
37
  Requires-Python: <3.14,>=3.11
38
38
  Requires-Dist: fastmcp>=2.11.2
39
39
  Requires-Dist: httpx<1,>=0.23.0
40
+ Requires-Dist: hud-mcp-python-sdk>=0.1.0
41
+ Requires-Dist: mcp>=1.13.1
40
42
  Requires-Dist: opentelemetry-api>=1.34.1
41
43
  Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.34.1
42
44
  Requires-Dist: opentelemetry-instrumentation-mcp>=0.44.1
@@ -60,6 +62,16 @@ Requires-Dist: langchain-anthropic; extra == 'agent'
60
62
  Requires-Dist: langchain-openai; extra == 'agent'
61
63
  Requires-Dist: numpy>=1.24.0; extra == 'agent'
62
64
  Requires-Dist: openai; extra == 'agent'
65
+ Provides-Extra: agents
66
+ Requires-Dist: anthropic; extra == 'agents'
67
+ Requires-Dist: datasets>=2.14.0; extra == 'agents'
68
+ Requires-Dist: dotenv>=0.9.9; extra == 'agents'
69
+ Requires-Dist: hud-mcp-use-python-sdk>=0.1.0; extra == 'agents'
70
+ Requires-Dist: langchain; extra == 'agents'
71
+ Requires-Dist: langchain-anthropic; extra == 'agents'
72
+ Requires-Dist: langchain-openai; extra == 'agents'
73
+ Requires-Dist: numpy>=1.24.0; extra == 'agents'
74
+ Requires-Dist: openai; extra == 'agents'
63
75
  Provides-Extra: dev
64
76
  Requires-Dist: aiodocker>=0.24.0; extra == 'dev'
65
77
  Requires-Dist: anthropic; extra == 'dev'
@@ -2,9 +2,9 @@ hud/__init__.py,sha256=BjAhZtsHbGN371Q8t3o4v4jltedkmDE85xW0yOILU9g,397
2
2
  hud/datasets.py,sha256=8lqC840kcNx01D2CcWZCd1j0eZTpepILmQrvohZIZYU,12056
3
3
  hud/settings.py,sha256=WIJDsyrfwBZGcaGT46YUOpW8xjBZl3siXXprd92ASAg,2039
4
4
  hud/types.py,sha256=pQWOPYXUZ2hhK0h-AHBc3DCj5tkbRXHqKZnsQQIcSFA,4237
5
- hud/version.py,sha256=1jy_c7ZlHzu6kMv-QGVb82O9_ynxRR1ZBX3hosn41p0,104
5
+ hud/version.py,sha256=e6nnqEolofBjmunqVWaepicd1Y3hKIMxmxkxKojMcOE,104
6
6
  hud/agents/__init__.py,sha256=UoIkljWdbq4bM0LD-mSaw6w826EqdEjOk7r6glNYwYQ,286
7
- hud/agents/base.py,sha256=OdvuPMMZFGMft5PEkImjs_nWi-05hJyGJMBSOGbtxBo,22258
7
+ hud/agents/base.py,sha256=qN9D7hozC45lA6wAwKgCr0xH6FXTsxeX0Hg9ttV-HlM,24682
8
8
  hud/agents/claude.py,sha256=snbYFPW-KAkw4n9Rdz7dC2f46RuSHJKC53HPm8SucFM,14273
9
9
  hud/agents/langchain.py,sha256=_2ZJT1S1yREI0p2WSQkgcTmECaLXwnmSOURQrNXTxkk,9524
10
10
  hud/agents/openai.py,sha256=kHG73mohO4uru49qmQiygUFt0eDCGJU06weqIUwTO3Y,14323
@@ -16,37 +16,47 @@ hud/agents/tests/test_base.py,sha256=F39ajSqASGUbPyPoWSY9KARFav62qNTK74W11Tr1Tg4
16
16
  hud/agents/tests/test_claude.py,sha256=wqEKlzEvx8obz1sSm4NY0j-Zyt1qWNfDOmRqYIuAEd0,13069
17
17
  hud/agents/tests/test_client.py,sha256=Sk5bGZw2hL5GsVi2LMp9tsLngl5ZQ18pkpeeQmts0ao,13908
18
18
  hud/agents/tests/test_openai.py,sha256=VcAUMcmwWttOxy9CCSu8QFIvAHG8ZMLUdQMeP04oK9Q,9026
19
- hud/cli/__init__.py,sha256=IsP148YyCod5gC-CduIN6MGGCLsITBe-kEtzE4NqbLo,21734
19
+ hud/cli/__init__.py,sha256=0-mtWv9PvFSMKBIaTPbA_dIIB4ZoC6FroI6uaezsHSw,25482
20
20
  hud/cli/__main__.py,sha256=fDH7XITyuDITwSDIVwRso06aouADO0CzTHKqp5TOwJE,143
21
21
  hud/cli/analyze.py,sha256=G-tjT1xLPLcYhDhZEaI7TAIS0z0OACUksnGFoAWd2ag,14416
22
- hud/cli/analyze_metadata.py,sha256=Mgs_je-XbPulG6noRLRNXe3_3a1eb20Cvxz5OQJ2NeU,8262
23
- hud/cli/build.py,sha256=7GWBte4x6X24hZghEMC4Q0IBrBaFIf_eWZodkEHFba0,16693
22
+ hud/cli/analyze_metadata.py,sha256=_jUK2nmaMqJ2Tj0Te2W6F6adR8OG_5uqjoRHOv9ycds,7617
23
+ hud/cli/build.py,sha256=eQG-nxgTzyLOCQsFyXzP4_SLh_IjZLtE60bmV9X9KH8,16909
24
24
  hud/cli/clone.py,sha256=AwVDIuhr8mHb1oT2Af2HrD25SiTdwATpE6zd93vzLgA,6099
25
25
  hud/cli/cursor.py,sha256=fy850p0rVp5k_1wwOCI7rK1SggbselJrywFInSQ2gio,3009
26
- hud/cli/debug.py,sha256=pa24bP4KVE0vdvrODuN57i2t8YDHxKJgwzXy7eD2tBE,13613
26
+ hud/cli/debug.py,sha256=kKGuv_KoX9oGFCKFkrfSAAvuGH1q7Rd7hGELig7tHQI,14159
27
27
  hud/cli/docker_utils.py,sha256=5k5sXtI4V5d4VWRJR6lzVRy_Hu8Wf1nLsmW-dBNW0cM,2695
28
+ hud/cli/eval.py,sha256=Atz9TMmhGXS5AD-qafqVGGMzwYVZX2AOO6luRlAfnxg,6922
28
29
  hud/cli/init.py,sha256=Jb9h4MJPMNiUhr9GmmJjwjjmGQQOOMG1GadXIEsvKKk,7702
29
30
  hud/cli/interactive.py,sha256=w1fAoefizNKqjcl5Fi5EgEsUdPpXKcCFuU-Z-S3CL9o,12863
31
+ hud/cli/list_func.py,sha256=IQdUuWU7ufFWvoImrGYE-YCp8T19lm6h5r27Wzlv_bU,6959
30
32
  hud/cli/mcp_server.py,sha256=kqXlHPm7ABVtP_MTJON5OgUAeVcXRuM-NrqqjBWYgd0,28221
31
- hud/cli/pull.py,sha256=8caEpiCsvHHMsQ9K7QRfZ8dC5Zq3G_OLF5YrUGHUP6E,11721
32
- hud/cli/push.py,sha256=MBee7EtcrzAHzmVWneT7hvHV9aF_hgxVRPoc1U1Oi1c,15626
33
+ hud/cli/pull.py,sha256=70tHwqlz0NQVxVyv0tfnlyNZ8ou5Ju8WNKBEyYO6RUY,11298
34
+ hud/cli/push.py,sha256=vr0S-0pEcoyEuDoiqrNS8rwtRsAIqnmou8XVEE_jcqU,17879
35
+ hud/cli/registry.py,sha256=CNLI-e7EeMxND2MOz6uEIwbEbItURZcoMCZR_5L4Q50,4540
33
36
  hud/cli/remote_runner.py,sha256=X01x6DeVkyc9HgxVCGEZJxEhhVPvHpAMoeYR44R8_BQ,9405
37
+ hud/cli/remove.py,sha256=DGYtkgzWQHeoZo3BIDHPRc5PKipkwR2942TOJPFmWPc,6723
34
38
  hud/cli/runner.py,sha256=ukEr6ZmD5rs-taoEBu0P_-hr275d-ZE5_WAR-dvSqrw,4888
35
39
  hud/cli/utils.py,sha256=ZgjjKVPAa7dcfJ6SMBrdfZ63d1UnnhYC-zeh7gFBXsI,8841
36
40
  hud/cli/tests/__init__.py,sha256=ZrGVkmH7DHXGqOvjOSNGZeMYaFIRB2K8c6hwr8FPJ-8,68
37
41
  hud/cli/tests/test_analyze.py,sha256=1VGIjpvZXD6N4j2yRoVddug2jQ6tJn41NWw-ScAVztw,10971
42
+ hud/cli/tests/test_analyze_metadata.py,sha256=51It2mk50TD57IQZQ0yjeEuAs2qJDJ7OJO8n8D6fjHQ,10226
43
+ hud/cli/tests/test_build.py,sha256=9hAagR2mjK7k2AHJ5sH9cujpYGjPSSS4SBgY_yMw2B4,15264
38
44
  hud/cli/tests/test_cli_init.py,sha256=_H0bAn5_skJ91Zj8P5P_wtZoPWvrN7jMhPZvmnnf0n8,11289
39
45
  hud/cli/tests/test_cli_main.py,sha256=0wMho9p9NcGjp0jLiUtCQh_FYdbMaCJtSY3sBbSgPwA,697
40
46
  hud/cli/tests/test_clone.py,sha256=oC2mf-41QQVc7ODJkjrWbVPNMB2fDW3nZ6jY6w93gvQ,4458
41
47
  hud/cli/tests/test_cursor.py,sha256=cvQ6dudMGmY4LifaJKm9iRIRvqvbFwibZgowd5goWPY,9815
42
48
  hud/cli/tests/test_debug.py,sha256=FPKWeKgOSBXoMyRphb0Q52QiJSNbGAS40f9r3ZVSMBE,18028
49
+ hud/cli/tests/test_list_func.py,sha256=flmHwYZUhb-Wp2Z3Xu8jcnJwKb2PAWv5O5rh5VuisA4,10806
43
50
  hud/cli/tests/test_mcp_server.py,sha256=e5fh6AUcqdv0jp0rJ8VL-DdJ-1nNgS85N8Ua53ehdgo,4378
51
+ hud/cli/tests/test_pull.py,sha256=bKEC8S2KapiAvqzmw-AwY8e8oRQ39QD9wdAT5DIkdfQ,13475
52
+ hud/cli/tests/test_push.py,sha256=hJ0TgHVxpE0pcxqRBc0knxcPnz0qdEIcb9NKfbcN-7A,13362
53
+ hud/cli/tests/test_registry.py,sha256=t-QMk5pwqFJSfRJ3MaEdkfVlguDO9jlfr5MtC10-nfw,9765
44
54
  hud/cli/tests/test_utils.py,sha256=dKmHgyLtDEqKVXlvs5tyNHyHhpBlZHUpmJF-iUraBVM,13466
45
55
  hud/clients/README.md,sha256=XNE3mch95ozDgVqfwCGcrhlHY9CwT1GKfNANNboowto,3826
46
56
  hud/clients/__init__.py,sha256=bcPIa7dwH5ENsjh7CzjsJ84fm7Ma93NBc2lGfSjGAKM,328
47
- hud/clients/base.py,sha256=y2yH8H4-cefWiI3oey_YPKLpDM2OwZ-hgvpjoOpEb8c,13459
48
- hud/clients/fastmcp.py,sha256=kocw7fpLbTnFmeE39XrPd5yyl5KY8kvtB_udLzQVRtg,9168
49
- hud/clients/mcp_use.py,sha256=Q1h3Hb9R1SVeue2CqhC5W7PqnQzuuAQf5T9O8GhzpbI,11981
57
+ hud/clients/base.py,sha256=Usg8HegkJGyO1oZurwNx7MW-bBwdMpQ9t0fwz5jDe-A,14003
58
+ hud/clients/fastmcp.py,sha256=--2PjAvY3R8pE6wEeoMp4fnx9hKV_ZNDtSABaV3I1RU,9386
59
+ hud/clients/mcp_use.py,sha256=kezm9LXHEVHafTy7FPUP2GU6lpF29lVS7Qh39vIbdsg,11985
50
60
  hud/clients/tests/__init__.py,sha256=sKOtJFFa4mDIXh1U6O8ZUHjigE8CiRMQ2PzJTIBZuVE,33
51
61
  hud/clients/tests/test_client_integration.py,sha256=kohU6jfCNfwSnAushHeB1_CmDlRfQc7VBL0GEdJYSeI,4198
52
62
  hud/clients/tests/test_fastmcp.py,sha256=4q3TzDjuieTZa89taiNJIrzbUncNkYOG4MaubypA21k,13030
@@ -81,11 +91,12 @@ hud/telemetry/instrument.py,sha256=m3u6YK02PTk39Jr4L3se7l-cYyKx0maCaqf5Z5JqWNA,1
81
91
  hud/telemetry/job.py,sha256=DSZU_yVpag4VOGkCC5egcjVYuZ02nuzMqFZCgJqcQvM,9998
82
92
  hud/telemetry/replay.py,sha256=YW17s314s5Wy6Rl8MXHqg1FU8EF9_XcHBMJI0rrkyS4,2306
83
93
  hud/telemetry/trace.py,sha256=gem9pcioNI71hLs18vNidv-7KAZBJAn35stjVvOu_Ic,2208
84
- hud/tools/__init__.py,sha256=f7M3MkPEgoUsNPanLBUJKA_Y3a30arPf5bHdIwyXQZU,905
94
+ hud/tools/__init__.py,sha256=dT-s4zs2B5GsOZ_K2tZZLKuSIp4u3RIvNYMJ_eUpkrE,960
85
95
  hud/tools/base.py,sha256=avk6dLHEmlOMfozTzga4SbjCuAN0n5zyLwIn6OfLN60,14984
86
96
  hud/tools/bash.py,sha256=LJViMGb3lTGBm_gequVVTM7ySh1Xh9bOOIZXU29Lmrw,5209
87
97
  hud/tools/edit.py,sha256=N0AYFXp07-vAJy2li7lvHOL6hfgJOU4LL3iLSZrbRWU,12745
88
98
  hud/tools/playwright.py,sha256=lF7NxyEu8YbB7tpmCoTf8p9HxIrejahC67x3Xs0Jjb4,15007
99
+ hud/tools/response.py,sha256=b4d3tNvqq6TEmvsMqrU_4j3Aoi3Otb8twm03_zldcWc,1804
89
100
  hud/tools/types.py,sha256=g-CWnUUDSxxIfUy54S1bpY1nfTzdYO1R_nPKYReABjQ,2734
90
101
  hud/tools/utils.py,sha256=bfVyYMcBOJvr1QdptCjVb6jaHVGIL5WUxmY59kzMekQ,1447
91
102
  hud/tools/computer/__init__.py,sha256=3tQBXPtGX0WPCwFXzEs3-duwg0rPEgj_0-K7aHskeQE,367
@@ -113,8 +124,8 @@ hud/tools/tests/test_tools.py,sha256=paz28V98Am-oR7MBJPDgY-BRV14HQo_0F6X5JIC8aic
113
124
  hud/tools/tests/test_utils.py,sha256=oYxEnLpSA5sEeYFGUTj74QRNv0AHP3AjmYYHXgIW0BY,5496
114
125
  hud/utils/__init__.py,sha256=ckuIzwqgTxkzASa04XTPsOu_TqsRYUKBWUYfcSi3Xnc,164
115
126
  hud/utils/async_utils.py,sha256=5cKrJcnaHV2eJNxeyx0r7fPcdPTDBK7kM9-nLaF51X4,2409
116
- hud/utils/design.py,sha256=8-GHAegyJelQMdSSnY-MKXks2m3GVYHSW2Dlf17-daM,8965
117
- hud/utils/mcp.py,sha256=SQgEemHpIc0LshA0ImZw4nMzPPn1SE6qEO0dpNLwxy4,1855
127
+ hud/utils/design.py,sha256=YuP7vOCcD9xPaoqBZxiIWh6XXXTBJJVxY9MmhGHuv6o,9319
128
+ hud/utils/mcp.py,sha256=QmLba99thF86_jPmXtds2S4f6ibxKcEpNYjINdq3Ous,2143
118
129
  hud/utils/progress.py,sha256=suikwFM8sdSfkV10nAOEaInDhG4XKgOSvFePg4jSj1A,5927
119
130
  hud/utils/telemetry.py,sha256=hrVIx2rUjSGyy9IVxTZ_3Jii83PiHjyFRd5ls2whimM,1863
120
131
  hud/utils/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -122,10 +133,10 @@ hud/utils/tests/test_async_utils.py,sha256=RkdSnYErRV3Jn7dfg6CPlcE1RSUL__2B627oI
122
133
  hud/utils/tests/test_init.py,sha256=2QLQSGgyP9wJhOvPCusm_zjJad0qApOZi1BXpxcdHXQ,383
123
134
  hud/utils/tests/test_progress.py,sha256=QSF7Kpi03Ff_l3mAeqW9qs1nhK50j9vBiSobZq7T4f4,7394
124
135
  hud/utils/tests/test_telemetry.py,sha256=5jl7bEx8C8b-FfFUko5pf4UY-mPOR-9HaeL98dGtVHM,2781
125
- hud/utils/tests/test_version.py,sha256=ookjDSBRy25x7WlOwYNAe2KpFkkGnAE8Z_GRFwVV70w,159
136
+ hud/utils/tests/test_version.py,sha256=p1NDVLFIL3H7kqifOtrrrCIRPI9VACuj9MraQ91dZC8,159
126
137
  hud/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
127
- hud_python-0.4.7.dist-info/METADATA,sha256=0tMQbrqu1_ACzwXkPpZ4YIzqSuTtuavS6ATbj92TTwM,19628
128
- hud_python-0.4.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
129
- hud_python-0.4.7.dist-info/entry_points.txt,sha256=jJbodNFg1m0-CDofe5AHvB4zKBq7sSdP97-ohaQ3ae4,63
130
- hud_python-0.4.7.dist-info/licenses/LICENSE,sha256=yIzBheVUf86FC1bztAcr7RYWWNxyd3B-UJQ3uddg1HA,1078
131
- hud_python-0.4.7.dist-info/RECORD,,
138
+ hud_python-0.4.9.dist-info/METADATA,sha256=H_KZlGX_ureXbjwUKwCfg7uMolV4bS5koFIt6AGLpwc,20164
139
+ hud_python-0.4.9.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
140
+ hud_python-0.4.9.dist-info/entry_points.txt,sha256=jJbodNFg1m0-CDofe5AHvB4zKBq7sSdP97-ohaQ3ae4,63
141
+ hud_python-0.4.9.dist-info/licenses/LICENSE,sha256=yIzBheVUf86FC1bztAcr7RYWWNxyd3B-UJQ3uddg1HA,1078
142
+ hud_python-0.4.9.dist-info/RECORD,,