clarifai 11.6.5__py3-none-any.whl → 11.6.7__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/README.md +51 -0
- clarifai/cli/base.py +33 -21
- clarifai/cli/model.py +55 -8
- clarifai/cli/pipeline.py +70 -1
- clarifai/cli/pipeline_step.py +67 -1
- clarifai/cli/templates/pipeline_step_templates.py +3 -3
- clarifai/cli/templates/pipeline_templates.py +7 -7
- clarifai/client/__init__.py +2 -0
- clarifai/client/app.py +147 -0
- clarifai/client/model_client.py +20 -1
- clarifai/client/nodepool.py +7 -2
- clarifai/client/pipeline.py +31 -27
- clarifai/client/pipeline_step.py +72 -0
- clarifai/client/user.py +74 -0
- clarifai/runners/pipelines/pipeline_builder.py +29 -16
- clarifai/runners/server.py +30 -1
- clarifai/runners/utils/code_script.py +3 -1
- clarifai/runners/utils/model_utils.py +4 -4
- clarifai/runners/utils/pipeline_validation.py +4 -4
- clarifai/utils/cli.py +73 -31
- clarifai/utils/config.py +13 -0
- {clarifai-11.6.5.dist-info → clarifai-11.6.7.dist-info}/METADATA +2 -2
- {clarifai-11.6.5.dist-info → clarifai-11.6.7.dist-info}/RECORD +28 -27
- {clarifai-11.6.5.dist-info → clarifai-11.6.7.dist-info}/WHEEL +0 -0
- {clarifai-11.6.5.dist-info → clarifai-11.6.7.dist-info}/entry_points.txt +0 -0
- {clarifai-11.6.5.dist-info → clarifai-11.6.7.dist-info}/licenses/LICENSE +0 -0
- {clarifai-11.6.5.dist-info → clarifai-11.6.7.dist-info}/top_level.txt +0 -0
clarifai/utils/cli.py
CHANGED
@@ -4,10 +4,12 @@ import pkgutil
|
|
4
4
|
import sys
|
5
5
|
import typing as t
|
6
6
|
from collections import defaultdict
|
7
|
+
from pathlib import Path
|
7
8
|
from typing import OrderedDict
|
8
9
|
|
9
10
|
import click
|
10
11
|
import yaml
|
12
|
+
from google.protobuf.timestamp_pb2 import Timestamp
|
11
13
|
from tabulate import tabulate
|
12
14
|
|
13
15
|
from clarifai.utils.logging import logger
|
@@ -46,8 +48,24 @@ def display_co_resources(
|
|
46
48
|
'USER_ID': lambda c: c.user_id,
|
47
49
|
'DESCRIPTION': lambda c: c.description,
|
48
50
|
},
|
51
|
+
sort_by_columns=None,
|
49
52
|
):
|
50
|
-
"""
|
53
|
+
"""
|
54
|
+
Display compute orchestration resources listing results using rich.
|
55
|
+
|
56
|
+
:param response: Iterable of resource objects to display.
|
57
|
+
:param custom_columns: A dictionary mapping column names to extractor functions.
|
58
|
+
Defaults to ID, USER_ID, and DESCRIPTION.
|
59
|
+
:param sort_by_columns: Optional list of (column_name, order) tuples specifying sort order.
|
60
|
+
Only column names present in `custom_columns` are considered.
|
61
|
+
Order should be 'asc' or 'desc'.
|
62
|
+
:return: None. Prints the formatted table.
|
63
|
+
"""
|
64
|
+
if sort_by_columns:
|
65
|
+
for column, order in reversed(sort_by_columns): # reversed for stable multi-level sort
|
66
|
+
if column in custom_columns:
|
67
|
+
reverse = order.lower() == 'desc'
|
68
|
+
response = sorted(response, key=custom_columns[column], reverse=reverse)
|
51
69
|
|
52
70
|
formatter = TableFormatter(custom_columns)
|
53
71
|
print(formatter.format(list(response), fmt="plain"))
|
@@ -205,28 +223,21 @@ def validate_context_auth(pat: str, user_id: str, api_base: str = None):
|
|
205
223
|
logger.info("✅ Context is valid")
|
206
224
|
|
207
225
|
except Exception as e:
|
208
|
-
error_msg = str(e)
|
209
|
-
|
210
226
|
# Check for common authentication errors and provide user-friendly messages
|
211
|
-
|
212
|
-
logger.error(f"Invalid PAT token or incorrect user ID '{user_id}': {error_msg}")
|
213
|
-
elif "UNAUTHENTICATED" in error_msg:
|
214
|
-
logger.error(f"Invalid PAT token or user ID: {error_msg}")
|
215
|
-
elif "SSL" in error_msg or "certificate" in error_msg:
|
216
|
-
logger.error(f"SSL/Certificate error: {error_msg}")
|
217
|
-
elif "Connection" in error_msg or "timeout" in error_msg:
|
218
|
-
logger.error(f"Network connection error: {error_msg}")
|
219
|
-
else:
|
220
|
-
logger.error(f"❌ Validation failed: \n{error_msg}")
|
221
|
-
logger.error("Please check your credentials and try again.")
|
227
|
+
logger.error("❌ Authentication failed. Please check your token and user ID.")
|
222
228
|
raise click.Abort() # Exit without saving the configuration
|
223
229
|
|
224
230
|
|
225
|
-
def customize_ollama_model(
|
231
|
+
def customize_ollama_model(
|
232
|
+
model_path, model_name=None, port=None, context_length=None, verbose=False
|
233
|
+
):
|
226
234
|
"""Customize the Ollama model name in the cloned template files.
|
227
235
|
Args:
|
228
236
|
model_path: Path to the cloned model directory
|
229
|
-
model_name: The model name to set (e.g., 'llama3.1', 'mistral')
|
237
|
+
model_name: The model name to set (e.g., 'llama3.1', 'mistral') - optional
|
238
|
+
port: Port for Ollama server - optional
|
239
|
+
context_length: Context length for the model - optional
|
240
|
+
verbose: Whether to enable verbose logging - optional (defaults to False)
|
230
241
|
|
231
242
|
"""
|
232
243
|
model_py_path = os.path.join(model_path, "1", "model.py")
|
@@ -256,6 +267,12 @@ def customize_ollama_model(model_path, model_name, port, context_length):
|
|
256
267
|
"context_length = '8192'", f"context_length = '{context_length}'"
|
257
268
|
)
|
258
269
|
|
270
|
+
verbose_str = str(verbose)
|
271
|
+
if "VERBOSE_OLLAMA = True" in content:
|
272
|
+
content = content.replace("VERBOSE_OLLAMA = True", f"VERBOSE_OLLAMA = {verbose_str}")
|
273
|
+
elif "VERBOSE_OLLAMA = False" in content:
|
274
|
+
content = content.replace("VERBOSE_OLLAMA = False", f"VERBOSE_OLLAMA = {verbose_str}")
|
275
|
+
|
259
276
|
# Write the modified content back to model.py
|
260
277
|
with open(model_py_path, 'w') as file:
|
261
278
|
file.write(content)
|
@@ -297,28 +314,35 @@ def _is_package_installed(package_name):
|
|
297
314
|
return False
|
298
315
|
|
299
316
|
|
300
|
-
def
|
301
|
-
"""
|
302
|
-
import
|
303
|
-
from pathlib import Path
|
317
|
+
def parse_requirements(model_path: str):
|
318
|
+
"""Parse requirements.txt in the model directory and return a dictionary of dependencies."""
|
319
|
+
from packaging.requirements import Requirement
|
304
320
|
|
305
321
|
requirements_path = Path(model_path) / "requirements.txt"
|
306
322
|
|
307
323
|
if not requirements_path.exists():
|
308
324
|
logger.warning(f"requirements.txt not found at {requirements_path}")
|
309
|
-
return
|
325
|
+
return []
|
310
326
|
|
311
|
-
|
312
|
-
|
327
|
+
deps = {}
|
328
|
+
for line in requirements_path.read_text().splitlines():
|
329
|
+
line = line.strip()
|
330
|
+
if not line or line.startswith("#"):
|
331
|
+
continue
|
332
|
+
try:
|
333
|
+
req = Requirement(line)
|
334
|
+
deps[req.name] = str(req.specifier) if req.specifier else None
|
335
|
+
except Exception as e:
|
336
|
+
logger.warning(f"⚠️ Could not parse line: {line!r} — {e}")
|
337
|
+
return deps
|
338
|
+
|
339
|
+
|
340
|
+
def check_requirements_installed(model_path):
|
341
|
+
"""Check if all dependencies in requirements.txt are installed."""
|
313
342
|
|
343
|
+
try:
|
314
344
|
# Getting package name and version (for logging)
|
315
|
-
requirements =
|
316
|
-
(match.group(1), pack)
|
317
|
-
for line in requirements_path.read_text().splitlines()
|
318
|
-
if (pack := line.strip())
|
319
|
-
and not line.startswith('#')
|
320
|
-
and (match := package_pattern.match(line))
|
321
|
-
]
|
345
|
+
requirements = parse_requirements(model_path)
|
322
346
|
|
323
347
|
if not requirements:
|
324
348
|
logger.info("No dependencies found in requirements.txt")
|
@@ -328,7 +352,7 @@ def check_requirements_installed(model_path):
|
|
328
352
|
|
329
353
|
missing = [
|
330
354
|
full_req
|
331
|
-
for package_name, full_req in requirements
|
355
|
+
for package_name, full_req in requirements.items()
|
332
356
|
if not _is_package_installed(package_name)
|
333
357
|
]
|
334
358
|
|
@@ -341,9 +365,27 @@ def check_requirements_installed(model_path):
|
|
341
365
|
f"❌ {len(missing)} of {len(requirements)} required packages are missing in the current environment"
|
342
366
|
)
|
343
367
|
logger.error("\n".join(f" - {pkg}" for pkg in missing))
|
368
|
+
requirements_path = Path(model_path) / "requirements.txt"
|
344
369
|
logger.warning(f"To install: pip install -r {requirements_path}")
|
345
370
|
return False
|
346
371
|
|
347
372
|
except Exception as e:
|
348
373
|
logger.error(f"Failed to check requirements: {e}")
|
349
374
|
return False
|
375
|
+
|
376
|
+
|
377
|
+
def convert_timestamp_to_string(timestamp: Timestamp) -> str:
|
378
|
+
"""Converts a Timestamp object to a string.
|
379
|
+
|
380
|
+
Args:
|
381
|
+
timestamp (Timestamp): The Timestamp object to convert.
|
382
|
+
|
383
|
+
Returns:
|
384
|
+
str: The converted string in ISO 8601 format.
|
385
|
+
"""
|
386
|
+
if not timestamp:
|
387
|
+
return ""
|
388
|
+
|
389
|
+
datetime_obj = timestamp.ToDatetime()
|
390
|
+
|
391
|
+
return datetime_obj.strftime('%Y-%m-%dT%H:%M:%SZ')
|
clarifai/utils/config.py
CHANGED
@@ -68,6 +68,19 @@ class Context(OrderedDict):
|
|
68
68
|
except KeyError as e:
|
69
69
|
raise AttributeError(f"'{type(self).__name__}' object has no attribute '{key}'") from e
|
70
70
|
|
71
|
+
def get(self, key, default=None):
|
72
|
+
"""Get the key from the config. You can pass a lowercase
|
73
|
+
key like "pat" and it will check if the environment variable CLARIFAI_PAT set and use that
|
74
|
+
first.
|
75
|
+
If no env var, then it checks if that env var name is in the config and use that.
|
76
|
+
If not then checks if "pat" is in the config, if not then it falls back to CLARIFAI_PAT in
|
77
|
+
the environment variables, else returns the default value.
|
78
|
+
"""
|
79
|
+
try:
|
80
|
+
return self.__getattr__(key)
|
81
|
+
except AttributeError:
|
82
|
+
return default
|
83
|
+
|
71
84
|
def __hasattr__(self, key):
|
72
85
|
if key == "name":
|
73
86
|
return True
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: clarifai
|
3
|
-
Version: 11.6.
|
3
|
+
Version: 11.6.7
|
4
4
|
Home-page: https://github.com/Clarifai/clarifai-python
|
5
5
|
Author: Clarifai
|
6
6
|
Author-email: support@clarifai.com
|
@@ -19,7 +19,7 @@ Classifier: Operating System :: OS Independent
|
|
19
19
|
Requires-Python: >=3.8
|
20
20
|
Description-Content-Type: text/markdown
|
21
21
|
License-File: LICENSE
|
22
|
-
Requires-Dist: clarifai-grpc>=11.6.
|
22
|
+
Requires-Dist: clarifai-grpc>=11.6.6
|
23
23
|
Requires-Dist: clarifai-protocol>=0.0.25
|
24
24
|
Requires-Dist: numpy>=1.22.0
|
25
25
|
Requires-Dist: tqdm>=4.65.0
|
@@ -1,23 +1,23 @@
|
|
1
|
-
clarifai/__init__.py,sha256=
|
1
|
+
clarifai/__init__.py,sha256=vHcuCYQBbVvJPdk__Lp8UGY_w9oIIXRPc0xgnIK6beI,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
|
-
clarifai/cli/README.md,sha256=
|
5
|
+
clarifai/cli/README.md,sha256=Rm0Sk61u7PrWQBgA6idv0R6ldJGhnVHSlIF2rVzRk8g,3428
|
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=_nXkRu3F8s1SL1LspxUWo5MCbdq7e6gI-iYb3B0-2Oc,9605
|
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=r_-loAszX8vOYlW1YI7TgNA4CFPZy4dicqtywoZ39R8,43546
|
12
12
|
clarifai/cli/nodepool.py,sha256=H6OIdUW_EiyDUwZogzEDoYmVwEjLMsgoDlPyE7gjIuU,4245
|
13
|
-
clarifai/cli/pipeline.py,sha256=
|
14
|
-
clarifai/cli/pipeline_step.py,sha256=
|
13
|
+
clarifai/cli/pipeline.py,sha256=9ZWVLokXHxqXy0g1_1ACuRX20ckrzyKwnsFfuJZm6Nw,13130
|
14
|
+
clarifai/cli/pipeline_step.py,sha256=dvoC2vAsDcxOCy88VV0X42PG22_7JSu9sfBVsk-Cix4,6133
|
15
15
|
clarifai/cli/templates/__init__.py,sha256=HbMlZuYOMyVJde73ijNAevmSRUpIttGlHdwyO4W-JOs,44
|
16
16
|
clarifai/cli/templates/model_templates.py,sha256=q1dKF5jHhX_1g4qtiYcEbJdWQaxCv2BSEAXI4AR2JOo,9709
|
17
|
-
clarifai/cli/templates/pipeline_step_templates.py,sha256=
|
18
|
-
clarifai/cli/templates/pipeline_templates.py,sha256=
|
19
|
-
clarifai/client/__init__.py,sha256=
|
20
|
-
clarifai/client/app.py,sha256=
|
17
|
+
clarifai/cli/templates/pipeline_step_templates.py,sha256=w1IJghF_4wWyEmHR1925N0hpGKocy3G7ezhxTH-0XCc,1716
|
18
|
+
clarifai/cli/templates/pipeline_templates.py,sha256=l7-0yj1aw4jVZb0xjuhc9sW9LJfG3qaGqgwt7bLURCc,4462
|
19
|
+
clarifai/client/__init__.py,sha256=MWEG_jTGn6UWbGCznsZxObJ5h65k2igD1462qID2pgI,840
|
20
|
+
clarifai/client/app.py,sha256=8_Y5esptlFSGW2WS0uly9IBop37hJVpxnhs-vBIZrtc,47205
|
21
21
|
clarifai/client/base.py,sha256=aduMVVSPUSQ-MsDpj4yuHmCTUNbCTPt76dhRZ14euVg,10284
|
22
22
|
clarifai/client/compute_cluster.py,sha256=q-JuBai4pKpSeDAn-P61IKyGjizX-IV-O5huWAYx5DU,10279
|
23
23
|
clarifai/client/dataset.py,sha256=OgdpZkQ_vYmRxL8-qphcNozpvPV1bWTlte9Jv6UkKb8,35299
|
@@ -25,13 +25,14 @@ clarifai/client/deployment.py,sha256=QBf0tzkKBEpzNgmOEmWUJMOlVWdFEFc70Y44o8y75Gs
|
|
25
25
|
clarifai/client/input.py,sha256=jpX47qwn7aUBBIEuSSLHF5jk70XaWEh0prD065c9b-E,51205
|
26
26
|
clarifai/client/lister.py,sha256=1YEm2suNxPaJO4x9V5szgD_YX6N_00vgSO-7m0HagY8,2208
|
27
27
|
clarifai/client/model.py,sha256=DeB-es6rp0FJQVY46oO2eR_-Ux5tTmkM_qYsN1X6WcE,90793
|
28
|
-
clarifai/client/model_client.py,sha256=
|
28
|
+
clarifai/client/model_client.py,sha256=pyPg1C3gb5Q3_DXmMmOB5AeORR1IDaaM7n0LGc3ciLk,38217
|
29
29
|
clarifai/client/module.py,sha256=jLViQYvVV3FmRN_ivvbk83uwsx7CgYGeEx4dYAr6yD4,4537
|
30
|
-
clarifai/client/nodepool.py,sha256=
|
31
|
-
clarifai/client/pipeline.py,sha256=
|
30
|
+
clarifai/client/nodepool.py,sha256=0E8-VgNMpdx2sAGotS3ZwfeUc9k3DBa3QJEJ1wKroVA,16700
|
31
|
+
clarifai/client/pipeline.py,sha256=Kawnp16iWwty4TZGDbZvU_G5PJzCXQqf50Dc-AYLaAI,14880
|
32
|
+
clarifai/client/pipeline_step.py,sha256=_R0PhVCspAQatCss-0O0O9p9CpvU_y9cSSEeUp_7cV0,2765
|
32
33
|
clarifai/client/runner.py,sha256=5xCiqByGGscfNm0IjHelhDTx8-9l8G0C3HL-3YZogK8,2253
|
33
34
|
clarifai/client/search.py,sha256=3LLfATrdU43a0mRNITmJV-E53bhfafZkYsbwkTtlnyU,15661
|
34
|
-
clarifai/client/user.py,sha256
|
35
|
+
clarifai/client/user.py,sha256=-D7itPC_XCMtFnsWUOMCPU5PQd8s-ER8k-RIG2V673Y,24798
|
35
36
|
clarifai/client/workflow.py,sha256=Bqh8lAmJcSbviJebckchTxucYlU11UQEhFSov7elpsk,13417
|
36
37
|
clarifai/client/auth/__init__.py,sha256=7EwR0NrozkAUwpUnCsqXvE_p0wqx_SelXlSpKShKJK0,136
|
37
38
|
clarifai/client/auth/helper.py,sha256=eitq1uQBoJ1TPjsTtbJ9g7eqT3mFm9vgc4HQR1s-zNg,16283
|
@@ -71,7 +72,7 @@ clarifai/rag/__init__.py,sha256=wu3PzAzo7uqgrEzuaC9lY_3gj1HFiR3GU3elZIKTT5g,40
|
|
71
72
|
clarifai/rag/rag.py,sha256=EG3GoFrHFCmA70Tz49_0Jo1-3WIaHSgWGHecPeErcdc,14170
|
72
73
|
clarifai/rag/utils.py,sha256=_gVZdABuMnraCKViLruV75x0F3IpgFXN6amYSGE5_xc,4462
|
73
74
|
clarifai/runners/__init__.py,sha256=wXLaSljH7qLeJCrZdKEnlQh2tNqTQAIZKWOu2rZ6wGs,279
|
74
|
-
clarifai/runners/server.py,sha256=
|
75
|
+
clarifai/runners/server.py,sha256=5xX0Pj_XCKRyEfF4v8DQqvdj94DMWY75sxTetdM9dKg,6253
|
75
76
|
clarifai/runners/dockerfile_template/Dockerfile.template,sha256=nEnIMqzhAXDbd0Ht7QQm0U7AVPIHWQD6kYnFZ0TKJUM,2428
|
76
77
|
clarifai/runners/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
77
78
|
clarifai/runners/models/dummy_openai_model.py,sha256=pcmAVbqTTGG4J3BLVjKfvM_SQ-GET_XexIUdLcr9Zvo,8373
|
@@ -87,16 +88,16 @@ clarifai/runners/models/visual_detector_class.py,sha256=ky4oFAkGCKPpGPdgaOso-n6D
|
|
87
88
|
clarifai/runners/pipeline_steps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
88
89
|
clarifai/runners/pipeline_steps/pipeline_step_builder.py,sha256=X2xWg4QM4kX3cr8JkG1RmAiVE8-XH8XbomjmXa16zmY,21333
|
89
90
|
clarifai/runners/pipelines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
90
|
-
clarifai/runners/pipelines/pipeline_builder.py,sha256=
|
91
|
+
clarifai/runners/pipelines/pipeline_builder.py,sha256=0FBjb8l7mWlCwBsBLkHM3znNQB9HPLEOYrrE53ntjCE,13810
|
91
92
|
clarifai/runners/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
92
|
-
clarifai/runners/utils/code_script.py,sha256=
|
93
|
+
clarifai/runners/utils/code_script.py,sha256=zZ5xjd13z2oV4CUWgMU0w6J6dRr01Kl2K-8pPyw0MiY,14346
|
93
94
|
clarifai/runners/utils/const.py,sha256=MK7lTzzJKbOiyiUtG_jlJXfz_xNKMn5LjkQ9vjbttXE,1538
|
94
95
|
clarifai/runners/utils/data_utils.py,sha256=HRpMYR2O0OiDpXXhOManLHTeomC4bFnXMHVAiT_12yE,20856
|
95
96
|
clarifai/runners/utils/loader.py,sha256=K5Y8MPbIe5STw2gDnrL8KqFgKNxEo7bz-RV0ip1T4PM,10900
|
96
97
|
clarifai/runners/utils/method_signatures.py,sha256=qdHaO8ZIgP6BBXXMhMPhcQ46dse-XMP2t4VJCNG7O3Q,18335
|
97
|
-
clarifai/runners/utils/model_utils.py,sha256=
|
98
|
+
clarifai/runners/utils/model_utils.py,sha256=MCYhV_00anptIO1Qtxgzn3DlGI2UHV0ESFT3wLNcAMM,6413
|
98
99
|
clarifai/runners/utils/openai_convertor.py,sha256=ZlIrvvfHttD_DavLvmKZdL8gNq_TQvQtZVnYamwdWz4,8248
|
99
|
-
clarifai/runners/utils/pipeline_validation.py,sha256=
|
100
|
+
clarifai/runners/utils/pipeline_validation.py,sha256=GFgFbrlS0UvGXcYTS84CyX7hIVU2CUNVQiMnCAjNfhw,6444
|
100
101
|
clarifai/runners/utils/serializers.py,sha256=pI7GqMTC0T3Lu_X8v8TO4RiplO-gC_49Ns37jYwsPtg,7908
|
101
102
|
clarifai/runners/utils/url_fetcher.py,sha256=pGkrpj692FEvMsV6pNbmidfYKzQV7APzjja_fwd1Aig,4792
|
102
103
|
clarifai/runners/utils/data_types/__init__.py,sha256=iBtmPkIoLK9ew6ZiXElGt2YBBTDLEA0fmxE_eOYzvhk,478
|
@@ -104,8 +105,8 @@ clarifai/runners/utils/data_types/data_types.py,sha256=UBHTNPshr94qUs2KqkYis0VlA
|
|
104
105
|
clarifai/schema/search.py,sha256=o9-ct8ulLZByB3RCVwZWPgaDwdcW7cM5s-g8oyAz89s,2421
|
105
106
|
clarifai/urls/helper.py,sha256=z6LnLGgLHxD8scFtyRdxqYIRJNhxqPkfLe53UtTLUBY,11727
|
106
107
|
clarifai/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
107
|
-
clarifai/utils/cli.py,sha256
|
108
|
-
clarifai/utils/config.py,sha256=
|
108
|
+
clarifai/utils/cli.py,sha256=xTenEXjhWV-lpTqlfeRO4WNakT5QszNi8GO4yH4qcMs,13184
|
109
|
+
clarifai/utils/config.py,sha256=dENYtcWW7Il5MInvIaYe0MZn0hW1fbIb0Lzk8rQ_geQ,7671
|
109
110
|
clarifai/utils/constants.py,sha256=klcdSiVccrdJVRXL9qq08p2lWL3KerXcQOTIG6y9298,2414
|
110
111
|
clarifai/utils/logging.py,sha256=0we53uTqUvzrulC86whu-oeWNxn1JjJL0OQ98Bwf9vo,15198
|
111
112
|
clarifai/utils/misc.py,sha256=ld7_lls4CrjHzKchsSgJs4T-rVpUVEzRy4MDWBEQlyA,22812
|
@@ -119,9 +120,9 @@ clarifai/workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
|
|
119
120
|
clarifai/workflows/export.py,sha256=HvUYG9N_-UZoRR0-_tdGbZ950_AeBqawSppgUxQebR0,1913
|
120
121
|
clarifai/workflows/utils.py,sha256=ESL3INcouNcLKCh-nMpfXX-YbtCzX7tz7hT57_RGQ3M,2079
|
121
122
|
clarifai/workflows/validate.py,sha256=UhmukyHkfxiMFrPPeBdUTiCOHQT5-shqivlBYEyKTlU,2931
|
122
|
-
clarifai-11.6.
|
123
|
-
clarifai-11.6.
|
124
|
-
clarifai-11.6.
|
125
|
-
clarifai-11.6.
|
126
|
-
clarifai-11.6.
|
127
|
-
clarifai-11.6.
|
123
|
+
clarifai-11.6.7.dist-info/licenses/LICENSE,sha256=mUqF_d12-qE2n41g7C5_sq-BMLOcj6CNN-jevr15YHU,555
|
124
|
+
clarifai-11.6.7.dist-info/METADATA,sha256=uwUjxG1M12d67EI6GLAU9jly-li-CQr0SJcyBNoK0hc,22737
|
125
|
+
clarifai-11.6.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
126
|
+
clarifai-11.6.7.dist-info/entry_points.txt,sha256=X9FZ4Z-i_r2Ud1RpZ9sNIFYuu_-9fogzCMCRUD9hyX0,51
|
127
|
+
clarifai-11.6.7.dist-info/top_level.txt,sha256=wUMdCQGjkxaynZ6nZ9FAnvBUCgp5RJUVFSy2j-KYo0s,9
|
128
|
+
clarifai-11.6.7.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|