hammad-python 0.0.24__py3-none-any.whl → 0.0.25__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.
hammad/types.py ADDED
@@ -0,0 +1,288 @@
1
+ """hammad.types
2
+
3
+ Library level reference to nearly all internally defined types within the
4
+ `hammad-python` ecosystem.
5
+ """
6
+
7
+ from typing import TYPE_CHECKING
8
+ from ._internal import create_getattr_importer
9
+
10
+
11
+ if TYPE_CHECKING:
12
+ # ! Cache
13
+ from .cache.base_cache import BaseCache, CacheParams, CacheReturn, CacheType
14
+ from .cache.file_cache import FileCacheLocation
15
+
16
+ # ! CLI
17
+ from .cli.styles.types import (
18
+ CLIStyleBackgroundType,
19
+ CLIStyleBoxName,
20
+ CLIStyleColorName,
21
+ CLIStyleError,
22
+ CLIStyleJustifyMethod,
23
+ CLIStyleOverflowMethod,
24
+ CLIStyleStyleName,
25
+ CLIStyleType,
26
+ CLIStyleVerticalOverflowMethod,
27
+ )
28
+
29
+ # ! DATA
30
+ from .data.sql.database import (
31
+ DatabaseItemType,
32
+ DatabaseItem,
33
+ DatabaseError,
34
+ DatabaseItemFilters,
35
+ )
36
+ from .data.types.file import File, FileSource
37
+ from .data.types.multimodal.audio import Audio
38
+ from .data.types.multimodal.image import (
39
+ Image,
40
+ )
41
+ from .data.types.text import (
42
+ Text,
43
+ SimpleText,
44
+ CodeSection,
45
+ SchemaSection,
46
+ OutputFormat,
47
+ OutputText,
48
+ )
49
+ from .data.configurations import Configuration
50
+
51
+ # ! GENAI
52
+ from .genai.types.base import (
53
+ BaseGenAIModel,
54
+ BaseGenAIModelEvent,
55
+ BaseGenAIModelResponse,
56
+ BaseGenAIModelSettings,
57
+ BaseGenAIModelStream,
58
+ )
59
+ from .genai.types.history import History
60
+ from .genai.types.tools import Tool, BaseTool, ToolResponseMessage
61
+ from .genai.agents.types.agent_context import AgentContext
62
+ from .genai.agents.types.agent_event import AgentEvent
63
+ from .genai.agents.types.agent_hooks import HookManager, HookDecorator
64
+ from .genai.agents.types.agent_messages import AgentMessages
65
+ from .genai.agents.types.agent_response import AgentResponse
66
+ from .genai.agents.types.agent_stream import AgentStream, AgentResponseChunk
67
+ from .genai.graphs.types import (
68
+ GraphContext,
69
+ GraphEnd,
70
+ GraphEvent,
71
+ GraphHistoryEntry,
72
+ GraphResponse,
73
+ GraphNode,
74
+ GraphResponseChunk,
75
+ GraphRunContext,
76
+ GraphStream,
77
+ GraphState,
78
+ BaseGraph,
79
+ PydanticGraphContext,
80
+ )
81
+ from .genai.models.embeddings.types.embedding_model_name import EmbeddingModelName
82
+ from .genai.models.embeddings.types.embedding_model_response import (
83
+ EmbeddingModelResponse,
84
+ )
85
+ from .genai.models.embeddings.types.embedding_model_run_params import (
86
+ EmbeddingModelRunParams,
87
+ )
88
+ from .genai.models.language.types.language_model_instructor_mode import (
89
+ LanguageModelInstructorMode,
90
+ )
91
+ from .genai.models.language.types.language_model_name import LanguageModelName
92
+ from .genai.models.language.types.language_model_messages import (
93
+ LanguageModelMessages,
94
+ )
95
+ from .genai.models.language.types.language_model_response import (
96
+ LanguageModelResponse,
97
+ )
98
+ from .genai.models.language.types.language_model_response_chunk import (
99
+ LanguageModelResponseChunk,
100
+ )
101
+ from .genai.models.language.types.language_model_request import LanguageModelRequest
102
+ from .genai.models.language.types.language_model_response import (
103
+ LanguageModelResponse,
104
+ )
105
+ from .genai.models.language.types.language_model_response_chunk import (
106
+ LanguageModelResponseChunk,
107
+ )
108
+ from .genai.models.language.types.language_model_stream import LanguageModelStream
109
+ from .genai.models.language.types.language_model_settings import (
110
+ LanguageModelSettings,
111
+ )
112
+
113
+ # ! LOGGING
114
+ from .logging.logger import (
115
+ LoggerLevelSettings,
116
+ LoggerLevelName,
117
+ FileConfig,
118
+ LoggerConfig,
119
+ )
120
+
121
+ # ! MCP
122
+ from .mcp import (
123
+ MCPClientSseSettings,
124
+ MCPClientStdioSettings,
125
+ MCPClientStreamableHttpSettings,
126
+ MCPServerSseSettings,
127
+ MCPServerStdioSettings,
128
+ MCPServerStreamableHttpSettings,
129
+ )
130
+
131
+ # ! SERVICE
132
+ from .service.create import (
133
+ ServiceConfig,
134
+ ServiceStatus,
135
+ )
136
+ from .service.decorators import ServiceFunctionParams, ServiceFunctionReturn
137
+
138
+ # ! WEB
139
+ from .web.models import (
140
+ SearchResult,
141
+ NewsResult,
142
+ SearchResults,
143
+ NewsResults,
144
+ LinkInfo,
145
+ ImageInfo,
146
+ SelectedElement,
147
+ WebPageResult,
148
+ WebPageErrorResult,
149
+ ExtractedLink,
150
+ HttpResponse,
151
+ WebPageResults,
152
+ )
153
+ from .web.http.client import (
154
+ HttpError,
155
+ HttpRequest,
156
+ HttpResponse,
157
+ )
158
+ from .web.openapi.client import (
159
+ OpenAPIError,
160
+ ParameterInfo,
161
+ RequestBodyInfo,
162
+ ResponseInfo,
163
+ OpenAPIOperation,
164
+ OpenAPISpec,
165
+ )
166
+
167
+
168
+ __all__ = (
169
+ # ! Cache
170
+ "BaseCache",
171
+ "CacheParams",
172
+ "CacheReturn",
173
+ "CacheType",
174
+ "FileCacheLocation",
175
+ # ! CLI
176
+ "CLIStyleBackgroundType",
177
+ "CLIStyleBoxName",
178
+ "CLIStyleColorName",
179
+ "CLIStyleError",
180
+ "CLIStyleJustifyMethod",
181
+ "CLIStyleOverflowMethod",
182
+ "CLIStyleStyleName",
183
+ "CLIStyleType",
184
+ "CLIStyleVerticalOverflowMethod",
185
+ # ! DATA
186
+ "DatabaseItemType",
187
+ "DatabaseItem",
188
+ "DatabaseError",
189
+ "DatabaseItemFilters",
190
+ "File",
191
+ "FileSource",
192
+ "Audio",
193
+ "Image",
194
+ "Text",
195
+ "SimpleText",
196
+ "CodeSection",
197
+ "SchemaSection",
198
+ "OutputFormat",
199
+ "OutputText",
200
+ "Configuration",
201
+ # ! GENAI
202
+ "BaseGenAIModel",
203
+ "BaseGenAIModelEvent",
204
+ "BaseGenAIModelResponse",
205
+ "BaseGenAIModelSettings",
206
+ "BaseGenAIModelStream",
207
+ "History",
208
+ "Tool",
209
+ "BaseTool",
210
+ "ToolResponseMessage",
211
+ "AgentContext",
212
+ "AgentEvent",
213
+ "HookManager",
214
+ "HookDecorator",
215
+ "AgentMessages",
216
+ "AgentResponse",
217
+ "AgentStream",
218
+ "AgentResponseChunk",
219
+ "GraphContext",
220
+ "GraphEnd",
221
+ "GraphEvent",
222
+ "GraphHistoryEntry",
223
+ "GraphResponse",
224
+ "GraphNode",
225
+ "GraphResponseChunk",
226
+ "GraphRunContext",
227
+ "GraphStream",
228
+ "GraphState",
229
+ "BaseGraph",
230
+ "PydanticGraphContext",
231
+ "EmbeddingModelName",
232
+ "EmbeddingModelResponse",
233
+ "EmbeddingModelRunParams",
234
+ "LanguageModelInstructorMode",
235
+ "LanguageModelName",
236
+ "LanguageModelMessages",
237
+ "LanguageModelResponse",
238
+ "LanguageModelResponseChunk",
239
+ "LanguageModelRequest",
240
+ "LanguageModelStream",
241
+ "LanguageModelSettings",
242
+ # ! LOGGING
243
+ "LoggerLevelSettings",
244
+ "LoggerLevelName",
245
+ "FileConfig",
246
+ "LoggerConfig",
247
+ # ! MCP
248
+ "MCPClientSseSettings",
249
+ "MCPClientStdioSettings",
250
+ "MCPClientStreamableHttpSettings",
251
+ "MCPServerSseSettings",
252
+ "MCPServerStdioSettings",
253
+ "MCPServerStreamableHttpSettings",
254
+ # ! SERVICE
255
+ "ServiceConfig",
256
+ "ServiceStatus",
257
+ "ServiceFunctionParams",
258
+ "ServiceFunctionReturn",
259
+ # ! WEB
260
+ "SearchResult",
261
+ "NewsResult",
262
+ "SearchResults",
263
+ "NewsResults",
264
+ "LinkInfo",
265
+ "ImageInfo",
266
+ "SelectedElement",
267
+ "WebPageResult",
268
+ "WebPageErrorResult",
269
+ "ExtractedLink",
270
+ "HttpResponse",
271
+ "WebPageResults",
272
+ "HttpError",
273
+ "HttpRequest",
274
+ "OpenAPIError",
275
+ "ParameterInfo",
276
+ "RequestBodyInfo",
277
+ "ResponseInfo",
278
+ "OpenAPIOperation",
279
+ "OpenAPISpec",
280
+ )
281
+
282
+
283
+ __getattr__ = create_getattr_importer(__all__)
284
+
285
+
286
+ def __dir__() -> list[str]:
287
+ """Get the attributes of the types module."""
288
+ return list(__all__)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hammad-python
3
- Version: 0.0.24
3
+ Version: 0.0.25
4
4
  Author-email: Hammad Saeed <hammadaidev@gmail.com>
5
5
  License: MIT License
6
6
 
@@ -26,6 +26,7 @@ License: MIT License
26
26
  License-File: LICENSE
27
27
  Requires-Python: >=3.11
28
28
  Requires-Dist: ddgs>=9.0.0
29
+ Requires-Dist: fasta2a>=0.5.0
29
30
  Requires-Dist: httpx>=0.28.1
30
31
  Requires-Dist: msgspec>=0.19.0
31
32
  Requires-Dist: nest-asyncio>=1.6.0
@@ -1,21 +1,22 @@
1
- hammad/__init__.py,sha256=4HD87ONlgDV8fLLE7xsGW_DXyubyPly7uai_X0cADws,7549
1
+ hammad/__init__.py,sha256=KeGEXWQEjoDi4hNzPQXhydXZV2knovoiBcwDX0Y5cpw,1681
2
2
  hammad/_internal.py,sha256=qQGXjzQyyCxzH5kMjCHwVdAojp-2OOVAO2T2QDxOBn8,8957
3
+ hammad/_main.py,sha256=2y18WxvGqRtA0C4aaYK9-LhFXwhFvY6832kNmUyebRA,6902
3
4
  hammad/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
+ hammad/types.py,sha256=bhQaWC9eY0vS5Ds_bbehf-61uzrUZRMNRg3oE_BsCbY,7444
4
6
  hammad/cache/__init__.py,sha256=29vI8UkVITtiEe7fTr9UR5Q0lV7tr_SVe7tLlJmm1Ks,954
5
7
  hammad/cache/base_cache.py,sha256=kYJS2IcQtxhzT7BQBFtOWnhw4VkvAapPhAVkfbW5IeY,6353
6
8
  hammad/cache/cache.py,sha256=bzDXxjSolrSdIxqES2VMfVZZGTk_8k4x9n0AW4tlifs,4621
7
9
  hammad/cache/decorators.py,sha256=olYLK5x4JkxHpA8WIiplI45QYmNIzyGjNMrTKNRCSQg,9599
8
10
  hammad/cache/file_cache.py,sha256=XjLJxM4Ql65OABxz8q1DtA_s8HZQJKywCw6MNVnC6YE,2485
9
11
  hammad/cache/ttl_cache.py,sha256=-0pJ4lkVgg1OIb98bQFub9n6f4zgWVs-dQfKZe_DmpE,2153
10
- hammad/cli/__init__.py,sha256=DkBgA8zkdsOmReoPI5dqni5l5DGkaA7TzrIFvmy5MIo,785
11
- hammad/cli/_runner.py,sha256=XEdao-JplTOGfdynN396ganaV_PKhyP0q5D15y7qA-8,9556
12
+ hammad/cli/__init__.py,sha256=mnetA--WekbUSvNUJOO4hQywltvfY25kcD07pe6DAWQ,733
12
13
  hammad/cli/animations.py,sha256=h68OuJBkDiYTLdB5pLPgQ2gpPT2c3dNulkDv2BtKHFA,19507
13
14
  hammad/cli/plugins.py,sha256=qWFtCUZMB0Tu6WwbUg9ut1PvCT5eIIUo2S5WFejUm4A,31804
14
15
  hammad/cli/styles/__init__.py,sha256=Ok7J_uhJgyswNkBWnDw50oTX9Xk1HPksUl3UbmT1qTI,1363
15
16
  hammad/cli/styles/settings.py,sha256=irChf9RsMij3djx_n9D9duoVIzxLCpd9-BlKl6U_OLk,5532
16
17
  hammad/cli/styles/types.py,sha256=vNIeQY_23m10K8qVT7Iy-PMwosGL-La-UAZKszHJjEE,7911
17
18
  hammad/cli/styles/utils.py,sha256=zzi0JdH1X7O8XWRlMVfJP2jB-OWt7zkpm_LeCHoSKVY,28287
18
- hammad/data/__init__.py,sha256=nluYCFbWW330ZNhR0N8T183rmQ01clovt8Rf7ruGIIc,2162
19
+ hammad/data/__init__.py,sha256=rga828Od--N3QeGlnOSweADD1WsRLjSTqkaZVk1VhW0,2232
19
20
  hammad/data/collections/__init__.py,sha256=xEORHnjoV75Fa6LFDMyFw90oDaJ0e9VmISLFV3mOsIQ,1110
20
21
  hammad/data/collections/collection.py,sha256=fi7jyT2GmXiGLNajjegBJMbefzggL0PIMHf-81ov7Bo,10833
21
22
  hammad/data/collections/indexes/__init__.py,sha256=RmXKWKq2sbtA1swz5vamKKWut-eKfc-Q2tUnij-E-IU,960
@@ -39,12 +40,12 @@ hammad/data/models/extensions/pydantic/converters.py,sha256=_485-4EUQe7-fxlPG2o1
39
40
  hammad/data/sql/__init__.py,sha256=o5OygbXCCpWH0A1Sr994e_rdplUxY0Vl3mGIykt1c7k,493
40
41
  hammad/data/sql/database.py,sha256=t06bNLQ0WPmg8Be_Xf9u8k5zhy70Iw-akC4Ff2o5PrA,18208
41
42
  hammad/data/sql/types.py,sha256=8xLEEK7u6YBFGfh8MJbJeSVNeGZ1RCxF_QvNTu0rel0,3526
42
- hammad/data/types/__init__.py,sha256=LeyrRKKBbDP2VaTaNEiyJU_1rs52LofD18WUS8rl5gw,758
43
- hammad/data/types/file.py,sha256=l1mXtyxsmbx0P_U_rnjkgc4N_UQBevAESTAZmBc8eVc,11111
44
- hammad/data/types/text.py,sha256=rATiwkTsAJ8pWzZ7OBsWX7rDNoKvkeuWsGWd_sbuUaM,33369
45
- hammad/data/types/multimodal/__init__.py,sha256=LQzomOVQFYnmkQT7hFIxcM261FDXtV3i0uEHB7GXIwU,427
46
- hammad/data/types/multimodal/audio.py,sha256=rn1G1vwDlt4d30ZumzYBeO0f0OhdtIQBJRCaSkyPHRA,2786
47
- hammad/data/types/multimodal/image.py,sha256=xp9aWeGkg6FReuFLA63CQ81tv74nFxVtgVjpoDZNjjw,2274
43
+ hammad/data/types/__init__.py,sha256=6BB1tu7RHrTLiqUYAxXsSFeejGSBuzOvFaw4I0llGN4,1723
44
+ hammad/data/types/file.py,sha256=G40bjC5n6zzbGDLeyCYER3hOg0bbCoZgjSH4TaCwL5A,13092
45
+ hammad/data/types/text.py,sha256=x22KAEX18eU0m5DUvY5P9f1kcYYtoUv9tPRlvmTJubA,40863
46
+ hammad/data/types/multimodal/__init__.py,sha256=jPqoHTmgBJnc_8jg-QMjAYiOiRys29IcDnJ3FMrCH_0,689
47
+ hammad/data/types/multimodal/audio.py,sha256=6T3XJXrAazkAluwohfGff0ENmhRtIMAX0XV22KVGgDU,5380
48
+ hammad/data/types/multimodal/image.py,sha256=IDjuCfTpsNqWEaAZ2c6M28gwTpswHy6tGu16F3GE6Rg,4733
48
49
  hammad/formatting/__init__.py,sha256=5WZP0WBgTPF7hRtcz_cSMrQG2fKuOGwhFiBTn2J4A_g,348
49
50
  hammad/formatting/json/__init__.py,sha256=V4uODCUQdptfyw_D96R3XDopw1bgNIR2ogiEG-Z-FtQ,525
50
51
  hammad/formatting/json/converters.py,sha256=CfEKtoTkeQbaGnpHHY3SAFVFjRjeG115X94L8Jq-14I,5597
@@ -53,10 +54,12 @@ hammad/formatting/text/converters.py,sha256=g3z-ZGTaKNVbLFFKBSh6qN2Uz0BSkdxCaN3L
53
54
  hammad/formatting/text/markdown.py,sha256=D17NOoGkoXUBhoOGKelKHwi72iqsAwPU5HEFjRJtLQI,3407
54
55
  hammad/formatting/yaml/__init__.py,sha256=4dBeXPi0jx7ELT2_sC2fUYaiY8b8wFiUScLODc9ISEw,462
55
56
  hammad/formatting/yaml/converters.py,sha256=zvSB8QGb56uvwO0KjXllfTj9g1FmNINOKR06DTjvXw8,153
56
- hammad/genai/__init__.py,sha256=KbnekLr0ijsXW509dr1wE78ze_npPkbAI-A6E583CFI,4795
57
- hammad/genai/agents/__init__.py,sha256=2PIXzdBISSKy4lfJ0vYHuT8G9oRT2GYYIESQfENt9Hk,1500
58
- hammad/genai/agents/agent.py,sha256=4qnJ8AQHhuqcSWmfdx4qhDQaGyULfYxsfn17ZNJk8H0,80802
59
- hammad/genai/agents/run.py,sha256=FBD2fOURc8_VPFCQAR7x9VEcDyzj8Gjz8Ki0GH2OPD0,24953
57
+ hammad/genai/__init__.py,sha256=d7E8JzSEk-4j-9eEYdTo-oPIH1_7wCMNteqSa0JfBLY,5271
58
+ hammad/genai/a2a/__init__.py,sha256=TXSD1nrihWVZsZLMxcbi4rgcXpmZy6c8cVXDKFVJ4HA,504
59
+ hammad/genai/a2a/workers.py,sha256=xJNVDDw-8XxQhwtQXBSLgUJhn-dLfuvvFCz_eTqcbMc,18339
60
+ hammad/genai/agents/__init__.py,sha256=_kfDT1rLHNm-eVdr7Lq3IRoHNooQvw3HbaN_71uqKek,1544
61
+ hammad/genai/agents/agent.py,sha256=hTIiRxVE3N6JkwmhGOrry059ZXiA9f5avrNMdwjlOes,84503
62
+ hammad/genai/agents/run.py,sha256=ooiyVIOlDmIb0327pIP8j2OrcU198VgSRIOZTEmJr0s,37530
60
63
  hammad/genai/agents/types/__init__.py,sha256=6X6_P82qe15dyqs-vAcXUk4na4tB-7oMdMf484v87io,1119
61
64
  hammad/genai/agents/types/agent_context.py,sha256=u4evwx9B-UKEHMtNcsNlN9q8i12bsW9HhtyvmU0NNTw,313
62
65
  hammad/genai/agents/types/agent_event.py,sha256=zNKXXPKKOsIO9MAhE-YNCOxeNg00O7j1mE0R1pA_Xr8,3925
@@ -64,10 +67,10 @@ hammad/genai/agents/types/agent_hooks.py,sha256=wgys4ixiHjX5oux4zVSr9OPXyAZ-iJGk
64
67
  hammad/genai/agents/types/agent_messages.py,sha256=csjEq42bElaTZYZW2dE6nlFZc142-HgT3bB6h1KMg_w,846
65
68
  hammad/genai/agents/types/agent_response.py,sha256=tQ3oNBZC_9dD7t-7tRuKA2h1a-XE5gGryVF9XcmZ5GA,3863
66
69
  hammad/genai/agents/types/agent_stream.py,sha256=VIfqZp55wq6jQh_OtPzZjiL_K4cEoVCkeEZS3s_MIXI,11069
67
- hammad/genai/graphs/__init__.py,sha256=89SvH1dpir3isJBwWsR384BF7EV8Kg7OJQt0bJXWHyo,2917
68
- hammad/genai/graphs/base.py,sha256=X0LspElhQgWl8Xx6BoGFo2cCbhcWmUs29-VZDm3V5Vo,41494
70
+ hammad/genai/graphs/__init__.py,sha256=bK59ilXuR46DgSjat7kOOr_KujIpJSfbCSgriceRhjw,3112
71
+ hammad/genai/graphs/base.py,sha256=0Q4VgWmRbe6UTNVCCow7Dc9czR9YkFVyXoR7h6AQQZk,68024
69
72
  hammad/genai/graphs/plugins.py,sha256=AK_JSo2eLCD9cdrxZ5OxxZtLVrUDcQ8f_FWBxOQPzyw,10007
70
- hammad/genai/graphs/types.py,sha256=bk3SaBYVgKhPtWNBRfv7CpHCWE4cjvbGoW5dM0vLdI8,20661
73
+ hammad/genai/graphs/types.py,sha256=kpQvWpE7cKjK9TzNFa_I-z7LfxWdlCuIA-lfRTk_nFU,20701
71
74
  hammad/genai/models/__init__.py,sha256=e4TbEsiKIoXENOEsdIdQcWWt0RnFdTEqCz0nICHQHtM,26
72
75
  hammad/genai/models/model_provider.py,sha256=2RdOeqr7KpjyrMqq4YH4OYy1pk6sjzf2CPu1ZHa1Pdk,75
73
76
  hammad/genai/models/multimodal.py,sha256=KXUyLXqM1eBgBGZFEbMw3dYbakZFAXoko2xYprronxY,1276
@@ -80,9 +83,9 @@ hammad/genai/models/embeddings/types/embedding_model_name.py,sha256=LA8E6C-_o7cz
80
83
  hammad/genai/models/embeddings/types/embedding_model_response.py,sha256=V2H_VTl1MSBTa6Yubwjb43ZaoIrHORRdy9nYG2kZGyQ,2038
81
84
  hammad/genai/models/embeddings/types/embedding_model_run_params.py,sha256=ZGhCXrEEzMF5y-V8neF2a73Gh1emzrYUHVxWkybg5uE,1570
82
85
  hammad/genai/models/embeddings/types/embedding_model_settings.py,sha256=KEwvoElXhPMSVCKW2uKwqqT2lSAAthQXmGXaV7Qk5cU,1268
83
- hammad/genai/models/language/__init__.py,sha256=jyn5GIT0J7gcDQAbKlcW25pU7jzUY-Jl-VT4Nc8Tleg,1915
86
+ hammad/genai/models/language/__init__.py,sha256=1PovP7w1eIytFPCRB7NaTLERT8-pl-5axg1pOEL5tMo,2006
84
87
  hammad/genai/models/language/model.py,sha256=se0Lflc1d9Vw-T0SlWLxIKDqNv01QkSfOR3VETNNRFw,42027
85
- hammad/genai/models/language/run.py,sha256=7h5EOD6ar1ITrs3GiktQa7ZT5kda7rY1-XK4osQ8ADw,22031
88
+ hammad/genai/models/language/run.py,sha256=ulIjn97X74u1Ct575kGV2OZzexpOmjlKkbx7T9IeTOk,32495
86
89
  hammad/genai/models/language/types/__init__.py,sha256=cdLnoCiVmK6T86-5CZrUJg2rxXKoSk-svyCSviUdgao,1534
87
90
  hammad/genai/models/language/types/language_model_instructor_mode.py,sha256=7ywBaY24m-UKRynnX6XsfVf_hsQrM2xHAHugTgV0Vho,1008
88
91
  hammad/genai/models/language/types/language_model_messages.py,sha256=e-HZ_YKXq17gwmMlpOmYUYUpBFm7Mu3aRawtjSslWXs,504
@@ -101,8 +104,8 @@ hammad/genai/types/history.py,sha256=zsfBvGMoFTHZCT7Igae-5_jszu409dVJ_wEmNw7alCk
101
104
  hammad/genai/types/tools.py,sha256=Te4WU-MOTCoFvpMw0ddHB9NjlXvpeAYZ99Cd6pcchi4,16563
102
105
  hammad/logging/__init__.py,sha256=VtskZx0bKEAJ9FHTMflhB1CzeFUxLpDT5HPgcecAXUo,701
103
106
  hammad/logging/decorators.py,sha256=VbI1x3P4ft0-0BGjXq7nQgiuNqcXAA51CGmoSn47iSw,30122
104
- hammad/logging/logger.py,sha256=60SrmxESlE4cd_iJr6tKwjUaOkvtqQcbUCjCCeh3Nog,31987
105
- hammad/mcp/__init__.py,sha256=5oTU-BLYjfz6fBHDH9cyWg3DpQ6Qar-jodbCR05SuWo,1123
107
+ hammad/logging/logger.py,sha256=5i89ILoRDn-ThTj7DRvN5sLgWN9IXdX_4-pqCoRAsIg,33612
108
+ hammad/mcp/__init__.py,sha256=qdnxy_G75NAuZvaxUNXNFd_n_Qxs1pItkcXuCk7k120,1195
106
109
  hammad/mcp/client/__init__.py,sha256=_SfnKvd5Za-FfFoE5GcXkBY9WcwprZND9SyZ6RY--no,795
107
110
  hammad/mcp/client/client.py,sha256=auKCiIJfcZkuVFRapTpqYP4PxoyIfx40gVbMYLBdTzI,20565
108
111
  hammad/mcp/client/client_service.py,sha256=quJp02n9tp70l0SJd9jkIuRkdSPeWegzusk-eiV41b0,14990
@@ -125,7 +128,7 @@ hammad/web/openapi/__init__.py,sha256=JhJQ6_laBmB2djIYFc0vgGha2GsdUe4FP1LDdZCQ5J
125
128
  hammad/web/openapi/client.py,sha256=1pXz7KAO_0pN4kQZoWKWskXDYGiJ535TsPO1GGCiC0E,26816
126
129
  hammad/web/search/__init__.py,sha256=e9A6znPIiZCz-4secyHbUs0uUGf5yAqW6wGacgx961U,24
127
130
  hammad/web/search/client.py,sha256=LIx2MsHhn6cRTuq5i1mWowRTdIhPobY4GQV3S3bk9lk,36694
128
- hammad_python-0.0.24.dist-info/METADATA,sha256=aJPgdYoABndPWZn6gLJ1aQObIHsupEBf2itoFKutXjA,6755
129
- hammad_python-0.0.24.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
130
- hammad_python-0.0.24.dist-info/licenses/LICENSE,sha256=h74yFUWjbBaodcWG5wNmm30npjl8obVcxD-1nQfUp2I,1069
131
- hammad_python-0.0.24.dist-info/RECORD,,
131
+ hammad_python-0.0.25.dist-info/METADATA,sha256=cTOPOxOkgGaLI8kKAuRY1Expm0DVYLbpEDN8GCxcPbw,6785
132
+ hammad_python-0.0.25.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
133
+ hammad_python-0.0.25.dist-info/licenses/LICENSE,sha256=h74yFUWjbBaodcWG5wNmm30npjl8obVcxD-1nQfUp2I,1069
134
+ hammad_python-0.0.25.dist-info/RECORD,,
hammad/cli/_runner.py DELETED
@@ -1,265 +0,0 @@
1
- """hammad.cli._runner"""
2
-
3
- from typing import (
4
- overload,
5
- TYPE_CHECKING,
6
- Optional,
7
- Any,
8
- Dict,
9
- List,
10
- Union,
11
- Literal,
12
- IO,
13
- )
14
-
15
- if TYPE_CHECKING:
16
- from rich.console import Console, RenderableType
17
- from ..cli.animations import (
18
- CLIFlashingAnimation,
19
- CLIPulsingAnimation,
20
- CLIShakingAnimation,
21
- CLITypingAnimation,
22
- CLISpinningAnimation,
23
- CLIRainbowAnimation,
24
- RainbowPreset,
25
- )
26
- from ..cli.styles.types import (
27
- CLIStyleType,
28
- CLIStyleBackgroundType,
29
- CLIStyleColorName,
30
- )
31
- from ..cli.styles.settings import (
32
- CLIStyleRenderableSettings,
33
- CLIStyleBackgroundSettings,
34
- CLIStyleLiveSettings,
35
- )
36
-
37
-
38
- __all__ = ("CLIRunner",)
39
-
40
-
41
- class CLIRunner:
42
- """Runner subclass for various CLI-based operations."""
43
-
44
- @overload
45
- @staticmethod
46
- def print(
47
- *values: object,
48
- sep: str = " ",
49
- end: str = "\n",
50
- file: Optional[IO[str]] = None,
51
- flush: bool = False,
52
- ) -> None: ...
53
-
54
- @overload
55
- @staticmethod
56
- def print(
57
- *values: object,
58
- sep: str = " ",
59
- end: str = "\n",
60
- file: Optional[IO[str]] = None,
61
- flush: bool = False,
62
- style: "CLIStyleType | None" = None,
63
- style_settings: "CLIStyleRenderableSettings | None" = None,
64
- bg: "CLIStyleBackgroundType | None" = None,
65
- bg_settings: "CLIStyleBackgroundSettings | None" = None,
66
- live: "CLIStyleLiveSettings | int | None" = None,
67
- ) -> None: ...
68
-
69
- @staticmethod
70
- def print(
71
- *values: object,
72
- sep: str = " ",
73
- end: str = "\n",
74
- file: Optional[IO[str]] = None,
75
- flush: bool = False,
76
- style: "CLIStyleType | None" = None,
77
- style_settings: "CLIStyleRenderableSettings | None" = None,
78
- bg: "CLIStyleBackgroundType | None" = None,
79
- bg_settings: "CLIStyleBackgroundSettings | None" = None,
80
- live: "CLIStyleLiveSettings | int | None" = None,
81
- ) -> Optional["CLIStyleLiveSettings"]:
82
- """Print values to the console with optional styling and live updates.
83
-
84
- This function extends Python's built-in print() with additional styling
85
- capabilities including backgrounds and live updating displays.
86
-
87
- Args:
88
- *values: Values to print (similar to built-in print())
89
- sep: String inserted between values (default: " ")
90
- end: String appended after the last value (default: "\n")
91
- file: File object to write to (default: sys.stdout)
92
- flush: Whether to forcibly flush the stream
93
- console: Rich Console instance to use
94
- style: Style to apply to the content
95
- color: Color to apply to the content
96
- bg: Background style to apply
97
- live: Whether to enable live updating
98
- live_settings: Configuration for live display
99
- settings: General rendering settings
100
- bg_settings: Background styling settings
101
- **kwargs: Additional keyword arguments
102
-
103
- Returns:
104
- Live settings object if live=True, otherwise None
105
- """
106
- from ..cli import print as _run_cli_print_fn
107
-
108
- return _run_cli_print_fn(
109
- *values,
110
- sep=sep,
111
- end=end,
112
- file=file,
113
- flush=flush,
114
- style=style,
115
- style_settings=style_settings,
116
- bg=bg,
117
- bg_settings=bg_settings,
118
- live=live,
119
- )
120
-
121
- @overload
122
- @staticmethod
123
- def input(
124
- prompt: str = "",
125
- schema: Any = None,
126
- sequential: bool = True,
127
- style: "CLIStyleType | None" = None,
128
- style_settings: "CLIStyleRenderableSettings | None" = None,
129
- bg: "CLIStyleBackgroundType | None" = None,
130
- bg_settings: "CLIStyleBackgroundSettings | None" = None,
131
- multiline: bool = False,
132
- password: bool = False,
133
- complete: Optional[List[str]] = None,
134
- validate: Optional[callable] = None,
135
- ) -> Any: ...
136
-
137
- @staticmethod
138
- def input(
139
- prompt: str = "",
140
- schema: Any = None,
141
- sequential: bool = True,
142
- style: "CLIStyleType | None" = None,
143
- style_settings: "CLIStyleRenderableSettings | None" = None,
144
- bg: "CLIStyleBackgroundType | None" = None,
145
- bg_settings: "CLIStyleBackgroundSettings | None" = None,
146
- multiline: bool = False,
147
- password: bool = False,
148
- complete: Optional[List[str]] = None,
149
- validate: Optional[callable] = None,
150
- ) -> Any:
151
- """Get input from the user with optional validation and styling.
152
-
153
- Args:
154
- prompt: The prompt message to display.
155
- schema: Optional schema (dataclass, TypedDict, Pydantic model) for structured input.
156
- sequential: If schema is provided, collect fields sequentially (default: True).
157
- style: A color or style name to apply to the prompt.
158
- style_settings: A dictionary of style settings to apply to the prompt.
159
- bg: A color or box name to apply to the background of the prompt.
160
- bg_settings: A dictionary of background settings to apply to the prompt.
161
- multiline: Allow multiline input (default: False).
162
- password: Hide input (default: False).
163
- complete: List of strings for autocompletion.
164
- validate: A callable to validate the input.
165
-
166
- Returns:
167
- The user's input, potentially validated and converted according to the schema.
168
- """
169
- from ..cli import input as _run_cli_input_fn
170
-
171
- return _run_cli_input_fn(
172
- prompt=prompt,
173
- schema=schema,
174
- sequential=sequential,
175
- style=style,
176
- style_settings=style_settings,
177
- bg=bg,
178
- bg_settings=bg_settings,
179
- multiline=multiline,
180
- password=password,
181
- complete=complete,
182
- validate=validate,
183
- )
184
-
185
- @staticmethod
186
- def animate(
187
- renderable: "RenderableType | str",
188
- type: Literal[
189
- "flashing", "pulsing", "shaking", "typing", "spinning", "rainbow"
190
- ],
191
- duration: Optional[float] = None,
192
- # Animation parameters (defaults are handled by the specific animation classes)
193
- speed: Optional[float] = None,
194
- colors: "Optional[List[CLIStyleColorName]]" = None,
195
- on_color: "Optional[CLIStyleColorName]" = None,
196
- off_color: "Optional[CLIStyleColorName]" = None,
197
- min_opacity: Optional[float] = None,
198
- max_opacity: Optional[float] = None,
199
- color: "Optional[CLIStyleColorName]" = None,
200
- intensity: Optional[int] = None,
201
- typing_speed: Optional[float] = None,
202
- cursor: Optional[str] = None,
203
- show_cursor: Optional[bool] = None,
204
- frames: Optional[List[str]] = None,
205
- prefix: Optional[bool] = None,
206
- # Rich.Live parameters
207
- refresh_rate: int = 20,
208
- transient: bool = True,
209
- auto_refresh: bool = True,
210
- console: Optional["Console"] = None,
211
- screen: bool = False,
212
- vertical_overflow: str = "ellipsis",
213
- ) -> None:
214
- """Create and run an animation based on the specified type.
215
-
216
- Args:
217
- renderable: The object to animate (text, panel, etc.)
218
- type: The type of animation to create
219
- duration: Duration of the animation in seconds (defaults to 2.0)
220
- speed: Animation speed (used by flashing, pulsing, shaking, spinning, rainbow)
221
- colors: Color list (used by flashing, rainbow)
222
- on_color: Color when flashing "on" (used by flashing)
223
- off_color: Color when flashing "off" (used by flashing)
224
- min_opacity: Minimum opacity for pulsing animation
225
- max_opacity: Maximum opacity for pulsing animation
226
- color: Color for pulsing animation
227
- intensity: Shaking intensity for shaking animation
228
- typing_speed: Speed for typing animation (used by typing)
229
- cursor: Cursor character for typing animation (used by typing)
230
- show_cursor: Whether to show cursor for typing animation (used by typing)
231
- frames: Custom frames for spinning animation
232
- prefix: Whether to show spinner as prefix for spinning animation
233
- refresh_rate: Refresh rate per second for Live rendering
234
- transient: Whether to clear animation after completion
235
- auto_refresh: Whether to auto-refresh the display
236
- console: Console to use for rendering
237
- screen: Whether to use alternate screen buffer
238
- vertical_overflow: How to handle vertical overflow
239
- """
240
- from ..cli import animate as _run_cli_animate_fn
241
-
242
- _run_cli_animate_fn(
243
- renderable=renderable,
244
- type=type,
245
- duration=duration,
246
- speed=speed,
247
- colors=colors,
248
- on_color=on_color,
249
- off_color=off_color,
250
- min_opacity=min_opacity,
251
- max_opacity=max_opacity,
252
- color=color,
253
- intensity=intensity,
254
- typing_speed=typing_speed,
255
- cursor=cursor,
256
- show_cursor=show_cursor,
257
- frames=frames,
258
- prefix=prefix,
259
- refresh_rate=refresh_rate,
260
- transient=transient,
261
- auto_refresh=auto_refresh,
262
- console=console,
263
- screen=screen,
264
- vertical_overflow=vertical_overflow,
265
- )