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/__init__.py +47 -268
- hammad/_main.py +226 -0
- hammad/cli/__init__.py +0 -2
- hammad/data/__init__.py +4 -5
- hammad/data/types/__init__.py +37 -1
- hammad/data/types/file.py +74 -1
- hammad/data/types/multimodal/__init__.py +14 -2
- hammad/data/types/multimodal/audio.py +106 -2
- hammad/data/types/multimodal/image.py +104 -2
- hammad/data/types/text.py +242 -0
- hammad/genai/__init__.py +22 -0
- hammad/genai/a2a/__init__.py +32 -0
- hammad/genai/a2a/workers.py +552 -0
- hammad/genai/agents/__init__.py +2 -0
- hammad/genai/agents/agent.py +115 -9
- hammad/genai/agents/run.py +379 -8
- hammad/genai/graphs/__init__.py +13 -1
- hammad/genai/graphs/base.py +795 -112
- hammad/genai/graphs/types.py +2 -2
- hammad/genai/models/language/__init__.py +6 -1
- hammad/genai/models/language/run.py +308 -0
- hammad/logging/logger.py +53 -8
- hammad/mcp/__init__.py +3 -0
- hammad/types.py +288 -0
- {hammad_python-0.0.24.dist-info → hammad_python-0.0.25.dist-info}/METADATA +2 -1
- {hammad_python-0.0.24.dist-info → hammad_python-0.0.25.dist-info}/RECORD +28 -25
- hammad/cli/_runner.py +0 -265
- {hammad_python-0.0.24.dist-info → hammad_python-0.0.25.dist-info}/WHEEL +0 -0
- {hammad_python-0.0.24.dist-info → hammad_python-0.0.25.dist-info}/licenses/LICENSE +0 -0
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.
|
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=
|
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=
|
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=
|
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=
|
43
|
-
hammad/data/types/file.py,sha256=
|
44
|
-
hammad/data/types/text.py,sha256=
|
45
|
-
hammad/data/types/multimodal/__init__.py,sha256=
|
46
|
-
hammad/data/types/multimodal/audio.py,sha256=
|
47
|
-
hammad/data/types/multimodal/image.py,sha256=
|
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=
|
57
|
-
hammad/genai/
|
58
|
-
hammad/genai/
|
59
|
-
hammad/genai/agents/
|
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=
|
68
|
-
hammad/genai/graphs/base.py,sha256=
|
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=
|
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=
|
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=
|
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=
|
105
|
-
hammad/mcp/__init__.py,sha256=
|
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.
|
129
|
-
hammad_python-0.0.
|
130
|
-
hammad_python-0.0.
|
131
|
-
hammad_python-0.0.
|
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
|
-
)
|
File without changes
|
File without changes
|