clarifai 11.4.1__py3-none-any.whl → 11.4.3__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.
- clarifai/__init__.py +1 -1
- clarifai/cli/base.py +7 -0
- clarifai/cli/model.py +6 -8
- clarifai/client/app.py +2 -1
- clarifai/client/auth/helper.py +6 -4
- clarifai/client/compute_cluster.py +2 -1
- clarifai/client/dataset.py +8 -1
- clarifai/client/deployment.py +2 -1
- clarifai/client/input.py +2 -1
- clarifai/client/model.py +2 -1
- clarifai/client/model_client.py +1 -1
- clarifai/client/module.py +2 -1
- clarifai/client/nodepool.py +2 -1
- clarifai/client/runner.py +2 -1
- clarifai/client/search.py +2 -1
- clarifai/client/user.py +2 -1
- clarifai/client/workflow.py +2 -1
- clarifai/runners/models/mcp_class.py +114 -0
- clarifai/runners/models/model_builder.py +179 -46
- clarifai/runners/models/model_class.py +5 -22
- clarifai/runners/models/model_run_locally.py +0 -4
- clarifai/runners/models/visual_classifier_class.py +75 -0
- clarifai/runners/models/visual_detector_class.py +79 -0
- clarifai/runners/utils/code_script.py +75 -44
- clarifai/runners/utils/const.py +15 -0
- clarifai/runners/utils/data_types/data_types.py +48 -0
- clarifai/runners/utils/data_utils.py +99 -45
- clarifai/runners/utils/loader.py +23 -2
- clarifai/runners/utils/method_signatures.py +4 -4
- clarifai/runners/utils/openai_convertor.py +103 -0
- clarifai/urls/helper.py +80 -12
- clarifai/utils/config.py +19 -0
- clarifai/utils/constants.py +4 -0
- clarifai/utils/logging.py +22 -5
- {clarifai-11.4.1.dist-info → clarifai-11.4.3.dist-info}/METADATA +1 -2
- {clarifai-11.4.1.dist-info → clarifai-11.4.3.dist-info}/RECORD +40 -37
- {clarifai-11.4.1.dist-info → clarifai-11.4.3.dist-info}/WHEEL +1 -1
- {clarifai-11.4.1.dist-info → clarifai-11.4.3.dist-info}/entry_points.txt +0 -0
- {clarifai-11.4.1.dist-info → clarifai-11.4.3.dist-info}/licenses/LICENSE +0 -0
- {clarifai-11.4.1.dist-info → clarifai-11.4.3.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,9 @@
|
|
1
1
|
import time
|
2
2
|
import uuid
|
3
|
+
from typing import Dict, List
|
4
|
+
|
5
|
+
from clarifai.runners.utils.data_types import Audio, Image, Video
|
6
|
+
from clarifai.runners.utils.data_utils import process_audio, process_image, process_video
|
3
7
|
|
4
8
|
|
5
9
|
def generate_id():
|
@@ -164,3 +168,102 @@ def openai_to_hf_messages(openai_messages):
|
|
164
168
|
hf_messages.append({'role': role, 'content': hf_content})
|
165
169
|
|
166
170
|
return hf_messages
|
171
|
+
|
172
|
+
|
173
|
+
def build_openai_messages(
|
174
|
+
prompt: str,
|
175
|
+
image: Image,
|
176
|
+
images: List[Image],
|
177
|
+
audio: Audio,
|
178
|
+
audios: List[Audio],
|
179
|
+
video: Video,
|
180
|
+
videos: List[Video],
|
181
|
+
messages: List[Dict],
|
182
|
+
) -> List[Dict]:
|
183
|
+
"""
|
184
|
+
Construct OpenAI-compatible messages from input components.
|
185
|
+
Args:
|
186
|
+
prompt (str): The prompt text.
|
187
|
+
image (Image): Clarifai Image object.
|
188
|
+
images (List[Image]): List of Clarifai Image objects.
|
189
|
+
audio (Audio): Clarifai Audio object.
|
190
|
+
audios (List[Audio]): List of Clarifai Audio objects.
|
191
|
+
video (Video): Clarifai Video object.
|
192
|
+
videos (List[Video]): List of Clarifai Video objects.
|
193
|
+
messages (List[Dict]): List of chat messages.
|
194
|
+
Returns:
|
195
|
+
List[Dict]: Formatted chat messages.
|
196
|
+
"""
|
197
|
+
|
198
|
+
openai_messages = []
|
199
|
+
# Add previous conversation history
|
200
|
+
if messages and is_openai_chat_format(messages):
|
201
|
+
openai_messages.extend(messages)
|
202
|
+
|
203
|
+
content = []
|
204
|
+
if prompt.strip():
|
205
|
+
# Build content array for current message
|
206
|
+
content.append({'type': 'text', 'text': prompt})
|
207
|
+
# Add single image if present
|
208
|
+
if image:
|
209
|
+
content.append(process_image(image))
|
210
|
+
# Add multiple images if present
|
211
|
+
if images:
|
212
|
+
for img in images:
|
213
|
+
content.append(process_image(img))
|
214
|
+
# Add single audio if present
|
215
|
+
if audio:
|
216
|
+
content.append(process_audio(audio))
|
217
|
+
# Add multiple audios if present
|
218
|
+
if audios:
|
219
|
+
for audio in audios:
|
220
|
+
content.append(process_audio(audio))
|
221
|
+
# Add single video if present
|
222
|
+
if video:
|
223
|
+
content.append(process_video(video))
|
224
|
+
# Add multiple videos if present
|
225
|
+
if videos:
|
226
|
+
for video in videos:
|
227
|
+
content.append(process_video(video))
|
228
|
+
|
229
|
+
if content:
|
230
|
+
# Append complete user message
|
231
|
+
openai_messages.append({'role': 'user', 'content': content})
|
232
|
+
|
233
|
+
return openai_messages
|
234
|
+
|
235
|
+
|
236
|
+
def is_openai_chat_format(messages):
|
237
|
+
"""
|
238
|
+
Verify if the given argument follows the OpenAI chat messages format.
|
239
|
+
|
240
|
+
Args:
|
241
|
+
messages (list): A list of dictionaries representing chat messages.
|
242
|
+
|
243
|
+
Returns:
|
244
|
+
bool: True if valid, False otherwise.
|
245
|
+
"""
|
246
|
+
if not isinstance(messages, list):
|
247
|
+
return False
|
248
|
+
|
249
|
+
valid_roles = {"system", "user", "assistant", "function"}
|
250
|
+
|
251
|
+
for msg in messages:
|
252
|
+
if not isinstance(msg, dict):
|
253
|
+
return False
|
254
|
+
if "role" not in msg or "content" not in msg:
|
255
|
+
return False
|
256
|
+
if msg["role"] not in valid_roles:
|
257
|
+
return False
|
258
|
+
|
259
|
+
content = msg["content"]
|
260
|
+
|
261
|
+
# Content should be either a string (text message) or a multimodal list
|
262
|
+
if isinstance(content, str):
|
263
|
+
continue # Valid text message
|
264
|
+
|
265
|
+
elif isinstance(content, list):
|
266
|
+
for item in content:
|
267
|
+
if not isinstance(item, dict):
|
268
|
+
return False
|
269
|
+
return True
|
clarifai/urls/helper.py
CHANGED
@@ -1,10 +1,25 @@
|
|
1
|
+
import os
|
2
|
+
from collections import namedtuple
|
1
3
|
from urllib.parse import urlparse
|
2
4
|
|
5
|
+
from clarifai.utils.constants import DEFAULT_BASE, DEFAULT_UI
|
6
|
+
|
7
|
+
# To help with using ClarifaiUrlHelper with defaults as ClarifaiUrlHelper()
|
8
|
+
auth_obj = namedtuple("auth", ["ui", "base"])
|
9
|
+
default_auth = auth_obj(
|
10
|
+
ui=os.environ.get("CLARIFAI_UI", DEFAULT_UI),
|
11
|
+
base=os.environ.get("CLARIFAI_API_BASE", DEFAULT_BASE),
|
12
|
+
)
|
13
|
+
|
3
14
|
|
4
15
|
class ClarifaiUrlHelper(object):
|
5
16
|
"""Lots of helper functionality for dealing with urls around modules."""
|
6
17
|
|
7
|
-
def __init__(
|
18
|
+
def __init__(
|
19
|
+
self,
|
20
|
+
auth=default_auth,
|
21
|
+
module_manager_imv_id: str = "module_manager_install",
|
22
|
+
):
|
8
23
|
"""
|
9
24
|
Args:
|
10
25
|
auth: a ClarifaiAuthHelper object.
|
@@ -13,13 +28,17 @@ class ClarifaiUrlHelper(object):
|
|
13
28
|
self._module_manager_imv_id = module_manager_imv_id
|
14
29
|
|
15
30
|
@property
|
16
|
-
def
|
17
|
-
return self._auth
|
31
|
+
def ui(self):
|
32
|
+
return self._auth.ui
|
33
|
+
|
34
|
+
@property
|
35
|
+
def base(self):
|
36
|
+
return self._auth.base
|
18
37
|
|
19
38
|
def module_ui_url(self, user_id, app_id, module_id, module_version_id):
|
20
39
|
"""This is the path to the module in community."""
|
21
40
|
return "%s/%s/%s/modules/%s/versions/%s" % (
|
22
|
-
self.
|
41
|
+
self.ui,
|
23
42
|
user_id,
|
24
43
|
app_id,
|
25
44
|
module_id,
|
@@ -30,7 +49,7 @@ class ClarifaiUrlHelper(object):
|
|
30
49
|
"""This is a url that allows for installation of the module from the community at 'module_url'
|
31
50
|
into the destination app_id of the destination user_id."""
|
32
51
|
return "%s/%s/%s/installed_module_versions/%s/install?install=%s" % (
|
33
|
-
self.
|
52
|
+
self.ui,
|
34
53
|
dest_user_id,
|
35
54
|
dest_app_id,
|
36
55
|
self._module_manager_imv_id,
|
@@ -39,22 +58,51 @@ class ClarifaiUrlHelper(object):
|
|
39
58
|
|
40
59
|
def imv_ui_url(self, dest_user_id, dest_app_id, imv_id):
|
41
60
|
return "%s/%s/%s/installed_module_versions/%s" % (
|
42
|
-
self.
|
61
|
+
self.ui,
|
43
62
|
dest_user_id,
|
44
63
|
dest_app_id,
|
45
64
|
imv_id,
|
46
65
|
)
|
47
66
|
|
48
|
-
def
|
49
|
-
"""This is the path to the resource in
|
67
|
+
def api_url(self, user_id, app_id, resource_type, resource_id, version_id: str = None):
|
68
|
+
"""This is the path to the resource in the API.
|
69
|
+
|
70
|
+
Example:
|
71
|
+
https://api.clarifai.com/v2/zeiler/app/modules/module1/versions/2
|
72
|
+
https://api.clarifai.com/v2/zeiler/app/models/model1/versions/2
|
73
|
+
https://api.clarifai.com/v2/zeiler/app/concepts/concept1
|
74
|
+
https://api.clarifai.com/v2/zeiler/app/workflows/workflow1
|
75
|
+
https://api.clarifai.com/v2/zeiler/app/tasks/task1
|
76
|
+
https://api.clarifai.com/v2/zeiler/app/installed_module_versions/module_manager_install
|
50
77
|
|
51
78
|
Args:
|
52
79
|
user_id: the author of the resource.
|
53
80
|
app_id: the author's app the resource was created in.
|
54
|
-
resource_type: the type of resource. One of "modules", "models", "concepts", "inputs", "workflows", "tasks"
|
81
|
+
resource_type: the type of resource. One of "modules", "models", "concepts", "inputs", "workflows", "tasks"
|
55
82
|
resource_id: the resource ID
|
56
|
-
version_id: the version of the resource.
|
57
83
|
"""
|
84
|
+
self._validate_resource_type(resource_type)
|
85
|
+
if version_id is None:
|
86
|
+
return "%s/v2/users/%s/apps/%s/%s/%s" % (
|
87
|
+
self.base,
|
88
|
+
user_id,
|
89
|
+
app_id,
|
90
|
+
resource_type,
|
91
|
+
resource_id,
|
92
|
+
)
|
93
|
+
|
94
|
+
if resource_type in ["concepts", "tasks", "installed_module_versions"]:
|
95
|
+
raise ValueError(f"{resource_type} do not have versions.")
|
96
|
+
return "%s/v2/users/%s/apps/%s/%s/%s/versions/%s" % (
|
97
|
+
self.base,
|
98
|
+
user_id,
|
99
|
+
app_id,
|
100
|
+
resource_type,
|
101
|
+
resource_id,
|
102
|
+
version_id,
|
103
|
+
)
|
104
|
+
|
105
|
+
def _validate_resource_type(self, resource_type):
|
58
106
|
if resource_type not in [
|
59
107
|
"modules",
|
60
108
|
"models",
|
@@ -68,10 +116,30 @@ class ClarifaiUrlHelper(object):
|
|
68
116
|
"resource_type must be one of modules, models, concepts, inputs, workflows, tasks, installed_module_versions but was %s"
|
69
117
|
% resource_type
|
70
118
|
)
|
119
|
+
|
120
|
+
def clarifai_url(self, user_id, app_id, resource_type, resource_id, version_id: str = None):
|
121
|
+
"""This is the path to the resource in community UI.
|
122
|
+
|
123
|
+
Example:
|
124
|
+
https://clarifai.com/zeiler/modules/module1/versions/2
|
125
|
+
https://clarifai.com/zeiler/models/model1/versions/2
|
126
|
+
https://clarifai.com/zeiler/concepts/concept1
|
127
|
+
https://clarifai.com/zeiler/workflows/workflow1
|
128
|
+
https://clarifai.com/zeiler/tasks/task1
|
129
|
+
https://clarifai.com/zeiler/installed_module_versions/module_manager_install
|
130
|
+
|
131
|
+
Args:
|
132
|
+
user_id: the author of the resource.
|
133
|
+
app_id: the author's app the resource was created in.
|
134
|
+
resource_type: the type of resource. One of "modules", "models", "concepts", "inputs", "workflows", "tasks", "installed_module_versions"
|
135
|
+
resource_id: the resource ID
|
136
|
+
version_id: the version of the resource.
|
137
|
+
"""
|
138
|
+
self._validate_resource_type(resource_type)
|
71
139
|
if version_id is None:
|
72
|
-
return "%s/%s/%s/%s/%s" % (self.
|
140
|
+
return "%s/%s/%s/%s/%s" % (self.ui, user_id, app_id, resource_type, resource_id)
|
73
141
|
return "%s/%s/%s/%s/%s/versions/%s" % (
|
74
|
-
self.
|
142
|
+
self.ui,
|
75
143
|
user_id,
|
76
144
|
app_id,
|
77
145
|
resource_type,
|
clarifai/utils/config.py
CHANGED
@@ -102,6 +102,25 @@ class Context(OrderedDict):
|
|
102
102
|
envvar_name = 'CLARIFAI_' + envvar_name
|
103
103
|
os.environ[envvar_name] = str(v)
|
104
104
|
|
105
|
+
def print_env_vars(self):
|
106
|
+
"""prints the context env vars to the terminal
|
107
|
+
|
108
|
+
Example:
|
109
|
+
# This is helpful in scripts so you can do
|
110
|
+
|
111
|
+
from clarifai.utils.config import Config
|
112
|
+
|
113
|
+
Config.from_yaml().current.print_env_vars()
|
114
|
+
|
115
|
+
"""
|
116
|
+
for k, v in sorted(self['env'].items()):
|
117
|
+
if isinstance(v, dict):
|
118
|
+
continue
|
119
|
+
envvar_name = k.upper()
|
120
|
+
if not envvar_name.startswith('CLARIFAI_'):
|
121
|
+
envvar_name = 'CLARIFAI_' + envvar_name
|
122
|
+
print(f"export {envvar_name}=\"{v}\"")
|
123
|
+
|
105
124
|
|
106
125
|
@dataclass
|
107
126
|
class Config:
|
clarifai/utils/constants.py
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
import os
|
2
2
|
|
3
|
+
DEFAULT_UI = os.environ.get("CLARIFAI_UI", "https://clarifai.com")
|
4
|
+
DEFAULT_BASE = os.environ.get("CLARIFAI_API_BASE", "https://api.clarifai.com")
|
5
|
+
|
6
|
+
|
3
7
|
CLARIFAI_PAT_ENV_VAR = "CLARIFAI_PAT"
|
4
8
|
CLARIFAI_SESSION_TOKEN_ENV_VAR = "CLARIFAI_SESSION_TOKEN"
|
5
9
|
CLARIFAI_USER_ID_ENV_VAR = "CLARIFAI_USER_ID"
|
clarifai/utils/logging.py
CHANGED
@@ -10,6 +10,8 @@ import traceback
|
|
10
10
|
from collections import defaultdict
|
11
11
|
from typing import Any, Dict, List, Optional, Union
|
12
12
|
|
13
|
+
from clarifai.errors import UserError
|
14
|
+
|
13
15
|
# The default logger to use throughout the SDK is defined at bottom of this file.
|
14
16
|
|
15
17
|
# For the json logger.
|
@@ -80,8 +82,13 @@ def get_req_id_from_context():
|
|
80
82
|
|
81
83
|
def display_workflow_tree(nodes_data: List[Dict]) -> None:
|
82
84
|
"""Displays a tree of the workflow nodes."""
|
83
|
-
|
84
|
-
|
85
|
+
try:
|
86
|
+
from rich import print as rprint
|
87
|
+
from rich.tree import Tree
|
88
|
+
except ImportError:
|
89
|
+
raise UserError(
|
90
|
+
"Rich library is not installed. Please install it using pip install rich>=13.4.2"
|
91
|
+
)
|
85
92
|
|
86
93
|
# Create a mapping of node_id to the list of node_ids that are connected to it.
|
87
94
|
node_adj_mapping = defaultdict(list)
|
@@ -131,7 +138,12 @@ def display_workflow_tree(nodes_data: List[Dict]) -> None:
|
|
131
138
|
|
132
139
|
def table_from_dict(data: List[Dict], column_names: List[str], title: str = "") -> 'rich.Table': # noqa F821
|
133
140
|
"""Use this function for printing tables from a list of dicts."""
|
134
|
-
|
141
|
+
try:
|
142
|
+
from rich.table import Table
|
143
|
+
except ImportError:
|
144
|
+
raise UserError(
|
145
|
+
"Rich library is not installed. Please install it using pip install rich>=13.4.2"
|
146
|
+
)
|
135
147
|
|
136
148
|
table = Table(title=title, show_lines=False, show_header=True, header_style="blue")
|
137
149
|
for column_name in column_names:
|
@@ -233,8 +245,13 @@ def display_concept_relations_tree(relations_dict: Dict[str, Any]) -> None:
|
|
233
245
|
Args:
|
234
246
|
relations_dict (dict): A dict of concept relations info.
|
235
247
|
"""
|
236
|
-
|
237
|
-
|
248
|
+
try:
|
249
|
+
from rich import print as rprint
|
250
|
+
from rich.tree import Tree
|
251
|
+
except ImportError:
|
252
|
+
raise UserError(
|
253
|
+
"Rich library is not installed. Please install it using pip install rich>=13.4.2"
|
254
|
+
)
|
238
255
|
|
239
256
|
for parent, children in relations_dict.items():
|
240
257
|
tree = Tree(parent)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: clarifai
|
3
|
-
Version: 11.4.
|
3
|
+
Version: 11.4.3
|
4
4
|
Home-page: https://github.com/Clarifai/clarifai-python
|
5
5
|
Author: Clarifai
|
6
6
|
Author-email: support@clarifai.com
|
@@ -23,7 +23,6 @@ Requires-Dist: clarifai-grpc>=11.3.4
|
|
23
23
|
Requires-Dist: clarifai-protocol>=0.0.23
|
24
24
|
Requires-Dist: numpy>=1.22.0
|
25
25
|
Requires-Dist: tqdm>=4.65.0
|
26
|
-
Requires-Dist: rich>=13.4.2
|
27
26
|
Requires-Dist: PyYAML>=6.0.1
|
28
27
|
Requires-Dist: schema==0.7.5
|
29
28
|
Requires-Dist: Pillow>=9.5.0
|
@@ -1,33 +1,33 @@
|
|
1
|
-
clarifai/__init__.py,sha256=
|
1
|
+
clarifai/__init__.py,sha256=WC-Q7uwDymQD3TdIUlUDTeqf9vxRXHJ_xDIRpvTVvsw,23
|
2
2
|
clarifai/cli.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3
3
|
clarifai/errors.py,sha256=GXa6D4v_L404J83jnRNFPH7s-1V9lk7w6Ws99f1g-AY,2772
|
4
4
|
clarifai/versions.py,sha256=ecSuEB_nOL2XSoYHDw2n23XUbm_KPOGjudMXmQrGdS8,224
|
5
5
|
clarifai/cli/README.md,sha256=YGApHfeUyu5P0Pdth-mqQCQftWHDxz6bugDlvDXDhOE,1942
|
6
6
|
clarifai/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
7
|
clarifai/cli/__main__.py,sha256=7nPbLW7Jr2shkgMPvnxpn4xYGMvIcnqluJ69t9w4H_k,74
|
8
|
-
clarifai/cli/base.py,sha256=
|
8
|
+
clarifai/cli/base.py,sha256=Rk87oliNs3q-pVX2ubyjycgo4Gtd0hcDSgr9MqDxyko,8227
|
9
9
|
clarifai/cli/compute_cluster.py,sha256=8Xss0Obrp6l1XuxJe0luOqU_pf8vXGDRi6jyIe8qR6k,2282
|
10
10
|
clarifai/cli/deployment.py,sha256=9C4I6_kyMxRkWl6h681wc79-3mAtDHtTUaxRv05OZMs,4262
|
11
|
-
clarifai/cli/model.py,sha256=
|
11
|
+
clarifai/cli/model.py,sha256=M1O0QCdIyTcn2GzrkROAtgWR-8SX2WV9nz0l84rkiG4,27375
|
12
12
|
clarifai/cli/nodepool.py,sha256=H6OIdUW_EiyDUwZogzEDoYmVwEjLMsgoDlPyE7gjIuU,4245
|
13
13
|
clarifai/client/__init__.py,sha256=NhpNFRJY6mTi8ca-5hUeTEmYeDKHDNXY48FN63pDuos,703
|
14
|
-
clarifai/client/app.py,sha256=
|
14
|
+
clarifai/client/app.py,sha256=D0FG9v07g1dExLnQsYt0OQjsJCkVvuw76BOpcqaCzfM,41380
|
15
15
|
clarifai/client/base.py,sha256=zOmB5HJP_-NmF2BPka14W7VUeJ1OF-fNxeacLsaRj3E,8775
|
16
|
-
clarifai/client/compute_cluster.py,sha256=
|
17
|
-
clarifai/client/dataset.py,sha256=
|
18
|
-
clarifai/client/deployment.py,sha256=
|
19
|
-
clarifai/client/input.py,sha256=
|
16
|
+
clarifai/client/compute_cluster.py,sha256=ViPyh-FibXL1J0ypsVOTaQnR1ymKohmZEuA13RwA-hc,10254
|
17
|
+
clarifai/client/dataset.py,sha256=OgdpZkQ_vYmRxL8-qphcNozpvPV1bWTlte9Jv6UkKb8,35299
|
18
|
+
clarifai/client/deployment.py,sha256=QBf0tzkKBEpzNgmOEmWUJMOlVWdFEFc70Y44o8y75Gs,2875
|
19
|
+
clarifai/client/input.py,sha256=jpX47qwn7aUBBIEuSSLHF5jk70XaWEh0prD065c9b-E,51205
|
20
20
|
clarifai/client/lister.py,sha256=1YEm2suNxPaJO4x9V5szgD_YX6N_00vgSO-7m0HagY8,2208
|
21
|
-
clarifai/client/model.py,sha256=
|
22
|
-
clarifai/client/model_client.py,sha256=
|
23
|
-
clarifai/client/module.py,sha256=
|
24
|
-
clarifai/client/nodepool.py,sha256=
|
25
|
-
clarifai/client/runner.py,sha256=
|
26
|
-
clarifai/client/search.py,sha256=
|
27
|
-
clarifai/client/user.py,sha256=
|
28
|
-
clarifai/client/workflow.py,sha256=
|
21
|
+
clarifai/client/model.py,sha256=XptnbfvNnaRCvv6Sdc7hfZnEPL8z9_-nFB3OmKujfAE,86267
|
22
|
+
clarifai/client/model_client.py,sha256=V0rDa1Qnol2qfAvJI6SwZfbtXqNowPRRMOYBH2Em0so,22386
|
23
|
+
clarifai/client/module.py,sha256=jLViQYvVV3FmRN_ivvbk83uwsx7CgYGeEx4dYAr6yD4,4537
|
24
|
+
clarifai/client/nodepool.py,sha256=Y5zQ0JLdTjAp2TmVnx7AAOwaB2YUslk3nl7s6BQ90FQ,16415
|
25
|
+
clarifai/client/runner.py,sha256=5xCiqByGGscfNm0IjHelhDTx8-9l8G0C3HL-3YZogK8,2253
|
26
|
+
clarifai/client/search.py,sha256=3LLfATrdU43a0mRNITmJV-E53bhfafZkYsbwkTtlnyU,15661
|
27
|
+
clarifai/client/user.py,sha256=VqY5j75wJqw1AeaWpZLvbNfSjQHGQm_bdjknDjX_fQY,18394
|
28
|
+
clarifai/client/workflow.py,sha256=Bqh8lAmJcSbviJebckchTxucYlU11UQEhFSov7elpsk,13417
|
29
29
|
clarifai/client/auth/__init__.py,sha256=7EwR0NrozkAUwpUnCsqXvE_p0wqx_SelXlSpKShKJK0,136
|
30
|
-
clarifai/client/auth/helper.py,sha256=
|
30
|
+
clarifai/client/auth/helper.py,sha256=kHBi8GTX19EUiD9n_QgCqilv127TDIpP0_o5MMtzFdY,15167
|
31
31
|
clarifai/client/auth/register.py,sha256=pyY-Kg_64WpN6rXz1SyEzfqL14BS4yADtuYMxLJ4jx4,554
|
32
32
|
clarifai/client/auth/stub.py,sha256=pU4FYeghooCBZmCRyNTdDfJaVe4WyeRBqE3xVwfmMTY,5388
|
33
33
|
clarifai/constants/base.py,sha256=ogmFSZYoF0YhGjHg5aiOc3MLqPr_poKAls6xaD0_C3U,89
|
@@ -67,29 +67,32 @@ clarifai/runners/__init__.py,sha256=cDJ31l41dDsqW4Xn6sFMkKxxdIMTnGH9IW6sVkq0TNw,
|
|
67
67
|
clarifai/runners/server.py,sha256=9qVAs8pRHmtyY0RCNIQ1uP8nqDADIFZ03LnkoDt1h4U,4692
|
68
68
|
clarifai/runners/dockerfile_template/Dockerfile.template,sha256=5cjv7U8PmWa3DB_5B1CqSYh_6GE0E0np52TIAa7EIDE,2312
|
69
69
|
clarifai/runners/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
70
|
-
clarifai/runners/models/
|
71
|
-
clarifai/runners/models/
|
72
|
-
clarifai/runners/models/
|
70
|
+
clarifai/runners/models/mcp_class.py,sha256=trtChVaesNSrb-Z3hdr0sdJjX7U7TlX4EMuO00vznTA,5960
|
71
|
+
clarifai/runners/models/model_builder.py,sha256=PiqPyTGPSKsYvOQNpBzs4e1_wuEbtE-P3yEkLE4Py10,49231
|
72
|
+
clarifai/runners/models/model_class.py,sha256=OHVd0tMOXDyl9v1vWeHOmYGx_dvP77N4zlLGMyTakag,15575
|
73
|
+
clarifai/runners/models/model_run_locally.py,sha256=6-6WjEKc0ba3gAv4wOLdMs2XOzS3b-2bZHJS0wdVqJY,20088
|
73
74
|
clarifai/runners/models/model_runner.py,sha256=SccX-RxTgruSpQaM21uMSl-z1x6fOa13fQZMQW8NNRY,7297
|
74
75
|
clarifai/runners/models/model_servicer.py,sha256=rRd_fNEXwqiBSzTUtPI2r07EBdcCPd8tcSPHeqTe0_I,3445
|
76
|
+
clarifai/runners/models/visual_classifier_class.py,sha256=f9ZP8KFamMUdMpUG3AlL9nVCdcggy_E5n9RJY3ixR1U,2739
|
77
|
+
clarifai/runners/models/visual_detector_class.py,sha256=ky4oFAkGCKPpGPdgaOso-n6D3HcmnbKee_8hBsNiV8U,2883
|
75
78
|
clarifai/runners/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
76
|
-
clarifai/runners/utils/code_script.py,sha256=
|
77
|
-
clarifai/runners/utils/const.py,sha256=
|
78
|
-
clarifai/runners/utils/data_utils.py,sha256=
|
79
|
-
clarifai/runners/utils/loader.py,sha256=
|
80
|
-
clarifai/runners/utils/method_signatures.py,sha256=
|
81
|
-
clarifai/runners/utils/openai_convertor.py,sha256=
|
79
|
+
clarifai/runners/utils/code_script.py,sha256=3_zBuMKs-eKfC4rbxKf-atVMz36djKH5QvDY2Fgs6Jk,11418
|
80
|
+
clarifai/runners/utils/const.py,sha256=Q4Ps6gIEJCyTdQCfmT6PaS61WHmhT25XigV1NugWz-E,1544
|
81
|
+
clarifai/runners/utils/data_utils.py,sha256=GspFOTgUPdqSQG-Zy6lrB1V55gQhGDG3Co6AxiqAr1I,20792
|
82
|
+
clarifai/runners/utils/loader.py,sha256=K5Y8MPbIe5STw2gDnrL8KqFgKNxEo7bz-RV0ip1T4PM,10900
|
83
|
+
clarifai/runners/utils/method_signatures.py,sha256=3EqrTLxynaBC4clj23iw9fZApFDQeapCzVlre6uybbI,19152
|
84
|
+
clarifai/runners/utils/openai_convertor.py,sha256=2emAgi9YXpxlOGRw5MG9jhyUUrdDjD9Sv3mnGtwcgts,8192
|
82
85
|
clarifai/runners/utils/serializers.py,sha256=pI7GqMTC0T3Lu_X8v8TO4RiplO-gC_49Ns37jYwsPtg,7908
|
83
86
|
clarifai/runners/utils/url_fetcher.py,sha256=Segkvi-ktPa3-koOpUu8DNZeWOaK6G82Ya9b7_oIKwo,1778
|
84
87
|
clarifai/runners/utils/data_types/__init__.py,sha256=iBtmPkIoLK9ew6ZiXElGt2YBBTDLEA0fmxE_eOYzvhk,478
|
85
|
-
clarifai/runners/utils/data_types/data_types.py,sha256=
|
88
|
+
clarifai/runners/utils/data_types/data_types.py,sha256=UBHTNPshr94qUs2KqkYis0VlArm23rcSG_EyO_Uetgc,19823
|
86
89
|
clarifai/schema/search.py,sha256=o9-ct8ulLZByB3RCVwZWPgaDwdcW7cM5s-g8oyAz89s,2421
|
87
|
-
clarifai/urls/helper.py,sha256=
|
90
|
+
clarifai/urls/helper.py,sha256=UshKiEnBAZfMyoWiM3Xx6USXEYmXRFTd4kNpuQSQQM8,7868
|
88
91
|
clarifai/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
89
92
|
clarifai/utils/cli.py,sha256=7lHajIsWzyEU7jfgH1nykwYG63wcHCZ3ep7a6amWZH4,5413
|
90
|
-
clarifai/utils/config.py,sha256
|
91
|
-
clarifai/utils/constants.py,sha256=
|
92
|
-
clarifai/utils/logging.py,sha256=
|
93
|
+
clarifai/utils/config.py,sha256=AguQ4UPFxNwDT8hTBrdV4grQ0t4m-pW2V9XKxBWfnNg,5177
|
94
|
+
clarifai/utils/constants.py,sha256=RYfDVFpaW7V5ISIvY7uvu5nqTvQ2NEwFOd0dcCytyGk,2030
|
95
|
+
clarifai/utils/logging.py,sha256=0we53uTqUvzrulC86whu-oeWNxn1JjJL0OQ98Bwf9vo,15198
|
93
96
|
clarifai/utils/misc.py,sha256=x7JP8oxU672Z9yAav47Y1anFiL4RD8WvlKBHMVlbyZM,3137
|
94
97
|
clarifai/utils/model_train.py,sha256=0XSAoTkSsrwf4f-W9yw2mkXZtkal7LBLJSoi86CFCn4,9250
|
95
98
|
clarifai/utils/protobuf.py,sha256=VMhnNsPuWQ16VarKm8BOr5zccXMe26UlrxdJxIzEZNM,6220
|
@@ -101,9 +104,9 @@ clarifai/workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
|
|
101
104
|
clarifai/workflows/export.py,sha256=Oq3RVNKvv1iH46U6oIjXa-MXWJ4sTlXr_NSfwoxr3H4,2149
|
102
105
|
clarifai/workflows/utils.py,sha256=ESL3INcouNcLKCh-nMpfXX-YbtCzX7tz7hT57_RGQ3M,2079
|
103
106
|
clarifai/workflows/validate.py,sha256=UhmukyHkfxiMFrPPeBdUTiCOHQT5-shqivlBYEyKTlU,2931
|
104
|
-
clarifai-11.4.
|
105
|
-
clarifai-11.4.
|
106
|
-
clarifai-11.4.
|
107
|
-
clarifai-11.4.
|
108
|
-
clarifai-11.4.
|
109
|
-
clarifai-11.4.
|
107
|
+
clarifai-11.4.3.dist-info/licenses/LICENSE,sha256=mUqF_d12-qE2n41g7C5_sq-BMLOcj6CNN-jevr15YHU,555
|
108
|
+
clarifai-11.4.3.dist-info/METADATA,sha256=ZtwykytAB7xvh8sEZVa84cPoTAM7nX15TQowlnejPE0,22398
|
109
|
+
clarifai-11.4.3.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
|
110
|
+
clarifai-11.4.3.dist-info/entry_points.txt,sha256=X9FZ4Z-i_r2Ud1RpZ9sNIFYuu_-9fogzCMCRUD9hyX0,51
|
111
|
+
clarifai-11.4.3.dist-info/top_level.txt,sha256=wUMdCQGjkxaynZ6nZ9FAnvBUCgp5RJUVFSy2j-KYo0s,9
|
112
|
+
clarifai-11.4.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|