clarifai 11.8.1__py3-none-any.whl → 11.8.2__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/model.py +43 -14
- clarifai/cli/templates/model_templates.py +1 -1
- clarifai/client/base.py +54 -16
- clarifai/client/dataset.py +18 -6
- clarifai/client/model.py +21 -12
- clarifai/client/model_client.py +2 -0
- clarifai/client/module.py +14 -13
- clarifai/client/nodepool.py +3 -1
- clarifai/client/pipeline.py +23 -23
- clarifai/client/pipeline_step.py +20 -18
- clarifai/client/search.py +35 -11
- clarifai/client/user.py +180 -5
- clarifai/client/workflow.py +18 -17
- clarifai/runners/models/model_builder.py +149 -17
- clarifai/runners/server.py +1 -0
- clarifai/runners/utils/code_script.py +12 -1
- clarifai/utils/cli.py +62 -0
- clarifai/utils/constants.py +5 -3
- clarifai/utils/secrets.py +7 -2
- {clarifai-11.8.1.dist-info → clarifai-11.8.2.dist-info}/METADATA +4 -3
- {clarifai-11.8.1.dist-info → clarifai-11.8.2.dist-info}/RECORD +26 -26
- {clarifai-11.8.1.dist-info → clarifai-11.8.2.dist-info}/WHEEL +0 -0
- {clarifai-11.8.1.dist-info → clarifai-11.8.2.dist-info}/entry_points.txt +0 -0
- {clarifai-11.8.1.dist-info → clarifai-11.8.2.dist-info}/licenses/LICENSE +0 -0
- {clarifai-11.8.1.dist-info → clarifai-11.8.2.dist-info}/top_level.txt +0 -0
clarifai/utils/cli.py
CHANGED
@@ -298,6 +298,20 @@ def check_ollama_installed():
|
|
298
298
|
return False
|
299
299
|
|
300
300
|
|
301
|
+
def check_lmstudio_installed():
|
302
|
+
"""Check if the LM Studio CLI is installed."""
|
303
|
+
try:
|
304
|
+
import subprocess
|
305
|
+
|
306
|
+
result = subprocess.run(['lms', 'version'], capture_output=True, text=True, check=False)
|
307
|
+
if result.returncode == 0:
|
308
|
+
return True
|
309
|
+
else:
|
310
|
+
return False
|
311
|
+
except FileNotFoundError:
|
312
|
+
return False
|
313
|
+
|
314
|
+
|
301
315
|
def _is_package_installed(package_name):
|
302
316
|
"""Helper function to check if a single package in requirements.txt is installed."""
|
303
317
|
import importlib.metadata
|
@@ -389,3 +403,51 @@ def convert_timestamp_to_string(timestamp: Timestamp) -> str:
|
|
389
403
|
datetime_obj = timestamp.ToDatetime()
|
390
404
|
|
391
405
|
return datetime_obj.strftime('%Y-%m-%dT%H:%M:%SZ')
|
406
|
+
|
407
|
+
|
408
|
+
def customize_huggingface_model(model_path, model_name):
|
409
|
+
config_path = os.path.join(model_path, 'config.yaml')
|
410
|
+
if os.path.exists(config_path):
|
411
|
+
with open(config_path, 'r') as f:
|
412
|
+
config = yaml.safe_load(f)
|
413
|
+
|
414
|
+
# Update the repo_id in checkpoints section
|
415
|
+
if 'checkpoints' not in config:
|
416
|
+
config['checkpoints'] = {}
|
417
|
+
config['checkpoints']['repo_id'] = model_name
|
418
|
+
|
419
|
+
with open(config_path, 'w') as f:
|
420
|
+
yaml.dump(config, f, default_flow_style=False, sort_keys=False)
|
421
|
+
|
422
|
+
logger.info(f"Updated Hugging Face model repo_id to: {model_name}")
|
423
|
+
else:
|
424
|
+
logger.warning(f"config.yaml not found at {config_path}, skipping model configuration")
|
425
|
+
|
426
|
+
|
427
|
+
def customize_lmstudio_model(model_path, model_name, port, context_length):
|
428
|
+
"""Customize the LM Studio model name in the cloned template files.
|
429
|
+
Args:
|
430
|
+
model_path: Path to the cloned model directory
|
431
|
+
model_name: The model name to set (e.g., 'qwen/qwen3-4b-thinking-2507') - optional
|
432
|
+
port: Port for LM Studio server - optional
|
433
|
+
context_length: Context length for the model - optional
|
434
|
+
|
435
|
+
"""
|
436
|
+
config_path = os.path.join(model_path, 'config.yaml')
|
437
|
+
|
438
|
+
if os.path.exists(config_path):
|
439
|
+
with open(config_path, 'r') as f:
|
440
|
+
config = yaml.safe_load(f)
|
441
|
+
if 'toolkit' not in config or config['toolkit'] is None:
|
442
|
+
config['toolkit'] = {}
|
443
|
+
if model_name is not None:
|
444
|
+
config['toolkit']['model'] = model_name
|
445
|
+
if port is not None:
|
446
|
+
config['toolkit']['port'] = port
|
447
|
+
if context_length is not None:
|
448
|
+
config['toolkit']['context_length'] = context_length
|
449
|
+
with open(config_path, 'w') as f:
|
450
|
+
yaml.dump(config, f, default_flow_style=False, sort_keys=False)
|
451
|
+
logger.info(f"Updated LM Studio model configuration in: {config_path}")
|
452
|
+
else:
|
453
|
+
logger.warning(f"config.yaml not found at {config_path}, skipping model configuration")
|
clarifai/utils/constants.py
CHANGED
@@ -21,8 +21,7 @@ DEFAULT_LOCAL_RUNNER_DEPLOYMENT_ID = "local-runner-deployment"
|
|
21
21
|
DEFAULT_LOCAL_RUNNER_MODEL_ID = "local-runner-model"
|
22
22
|
DEFAULT_LOCAL_RUNNER_APP_ID = "local-runner-app"
|
23
23
|
|
24
|
-
|
25
|
-
DEFAULT_LOCAL_RUNNER_MODEL_TYPE = "text-to-text"
|
24
|
+
DEFAULT_LOCAL_RUNNER_MODEL_TYPE = "any-to-any"
|
26
25
|
|
27
26
|
DEFAULT_LOCAL_RUNNER_COMPUTE_CLUSTER_CONFIG = {
|
28
27
|
"compute_cluster": {
|
@@ -62,8 +61,11 @@ DEFAULT_LOCAL_RUNNER_NODEPOOL_CONFIG = {
|
|
62
61
|
"max_instances": 1,
|
63
62
|
}
|
64
63
|
}
|
65
|
-
|
64
|
+
DEFAULT_TOOLKIT_MODEL_REPO = "https://github.com/Clarifai/runners-examples"
|
66
65
|
DEFAULT_OLLAMA_MODEL_REPO_BRANCH = "ollama"
|
66
|
+
DEFAULT_HF_MODEL_REPO_BRANCH = "huggingface"
|
67
|
+
DEFAULT_LMSTUDIO_MODEL_REPO_BRANCH = "lmstudio"
|
68
|
+
DEFAULT_VLLM_MODEL_REPO_BRANCH = "vllm"
|
67
69
|
|
68
70
|
STATUS_OK = "200 OK"
|
69
71
|
STATUS_MIXED = "207 MIXED"
|
clarifai/utils/secrets.py
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# NOTE(alan): Most of this file is used to support hot reloading of secrets, which has been disabled for now.
|
2
|
+
|
1
3
|
import os
|
2
4
|
import time
|
3
5
|
from contextlib import contextmanager
|
@@ -149,8 +151,11 @@ def inject_secrets(request: Optional[service_pb2.PostModelOutputsRequest]) -> No
|
|
149
151
|
# Since only env type secrets are injected into the shared volume, we can read them directly.
|
150
152
|
variables = get_env_variable(secrets_path)
|
151
153
|
else:
|
152
|
-
# If no secrets path is set,
|
153
|
-
|
154
|
+
# If no secrets path is set, use variables from the current environment
|
155
|
+
variables = {}
|
156
|
+
for key, value in os.environ.items():
|
157
|
+
if not key.startswith("CLARIFAI"):
|
158
|
+
variables[key] = value
|
154
159
|
|
155
160
|
if not request.HasField("model"):
|
156
161
|
request.model.CopyFrom(resources_pb2.Model())
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: clarifai
|
3
|
-
Version: 11.8.
|
3
|
+
Version: 11.8.2
|
4
4
|
Home-page: https://github.com/Clarifai/clarifai-python
|
5
5
|
Author: Clarifai
|
6
6
|
Author-email: support@clarifai.com
|
@@ -19,8 +19,8 @@ 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.
|
23
|
-
Requires-Dist: clarifai-protocol>=0.0.
|
22
|
+
Requires-Dist: clarifai-grpc>=11.8.2
|
23
|
+
Requires-Dist: clarifai-protocol>=0.0.32
|
24
24
|
Requires-Dist: numpy>=1.22.0
|
25
25
|
Requires-Dist: tqdm>=4.65.0
|
26
26
|
Requires-Dist: PyYAML>=6.0.1
|
@@ -34,6 +34,7 @@ Requires-Dist: aiohttp>=3.10.0
|
|
34
34
|
Requires-Dist: uv==0.7.12
|
35
35
|
Requires-Dist: ruff==0.11.4
|
36
36
|
Requires-Dist: psutil==7.0.0
|
37
|
+
Requires-Dist: pygments>=2.19.2
|
37
38
|
Requires-Dist: pydantic_core==2.33.2
|
38
39
|
Requires-Dist: packaging==25.0
|
39
40
|
Provides-Extra: all
|
@@ -1,4 +1,4 @@
|
|
1
|
-
clarifai/__init__.py,sha256=
|
1
|
+
clarifai/__init__.py,sha256=wlKYds59E079Cej1oyfbQMsxCdbNX7JGHZgtuBpBG3A,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
|
@@ -8,32 +8,32 @@ clarifai/cli/__main__.py,sha256=7nPbLW7Jr2shkgMPvnxpn4xYGMvIcnqluJ69t9w4H_k,74
|
|
8
8
|
clarifai/cli/base.py,sha256=FQEEmi3a9_LBOmM_-X4EYdpAmDK1UljTxrHOIIsOZbM,10696
|
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=2Eeoq4Kq_kJqSTmccn4B9YZ962Wj3mz1wcPQwXEWd2M,49734
|
12
12
|
clarifai/cli/nodepool.py,sha256=H6OIdUW_EiyDUwZogzEDoYmVwEjLMsgoDlPyE7gjIuU,4245
|
13
13
|
clarifai/cli/pipeline.py,sha256=MmyPaVX1XsIZlrYTrT7Ctd71ao_d3ZWkuF_fv_NJS8s,13944
|
14
14
|
clarifai/cli/pipeline_step.py,sha256=dvoC2vAsDcxOCy88VV0X42PG22_7JSu9sfBVsk-Cix4,6133
|
15
15
|
clarifai/cli/templates/__init__.py,sha256=HbMlZuYOMyVJde73ijNAevmSRUpIttGlHdwyO4W-JOs,44
|
16
|
-
clarifai/cli/templates/model_templates.py,sha256
|
16
|
+
clarifai/cli/templates/model_templates.py,sha256=-xGUzadN7S-mNZ-kE4Z-kv51BlnoGHjue05Yg5OGnt0,9791
|
17
17
|
clarifai/cli/templates/pipeline_step_templates.py,sha256=w1IJghF_4wWyEmHR1925N0hpGKocy3G7ezhxTH-0XCc,1716
|
18
18
|
clarifai/cli/templates/pipeline_templates.py,sha256=iLVxkmd0usc7jervTZTFzLwRVVF_623RszGW-oIuPDw,4234
|
19
19
|
clarifai/client/__init__.py,sha256=MWEG_jTGn6UWbGCznsZxObJ5h65k2igD1462qID2pgI,840
|
20
20
|
clarifai/client/app.py,sha256=8_Y5esptlFSGW2WS0uly9IBop37hJVpxnhs-vBIZrtc,47205
|
21
|
-
clarifai/client/base.py,sha256=
|
21
|
+
clarifai/client/base.py,sha256=eztsqJyQkaXAUNVBBhAhUNlDwgHTOzjPL1KcjblqWGU,12088
|
22
22
|
clarifai/client/compute_cluster.py,sha256=q-JuBai4pKpSeDAn-P61IKyGjizX-IV-O5huWAYx5DU,10279
|
23
|
-
clarifai/client/dataset.py,sha256=
|
23
|
+
clarifai/client/dataset.py,sha256=sz5CycP3J7pG0iMREKI2JeXQuvRwlVrE4AHne8yxgtg,35535
|
24
24
|
clarifai/client/deployment.py,sha256=QBf0tzkKBEpzNgmOEmWUJMOlVWdFEFc70Y44o8y75Gs,2875
|
25
25
|
clarifai/client/input.py,sha256=jpX47qwn7aUBBIEuSSLHF5jk70XaWEh0prD065c9b-E,51205
|
26
26
|
clarifai/client/lister.py,sha256=1YEm2suNxPaJO4x9V5szgD_YX6N_00vgSO-7m0HagY8,2208
|
27
|
-
clarifai/client/model.py,sha256=
|
28
|
-
clarifai/client/model_client.py,sha256=
|
29
|
-
clarifai/client/module.py,sha256=
|
30
|
-
clarifai/client/nodepool.py,sha256=
|
31
|
-
clarifai/client/pipeline.py,sha256=
|
32
|
-
clarifai/client/pipeline_step.py,sha256=
|
27
|
+
clarifai/client/model.py,sha256=WJJL0fOuHe4X8aMT-gs_SnEFhhT0cVDqqHbA3VX2DE8,92520
|
28
|
+
clarifai/client/model_client.py,sha256=8N8dRqb5zfFCNxq-jc-YSL19tgS8PpevnxY69G2YzCE,38280
|
29
|
+
clarifai/client/module.py,sha256=pTcTmR48-VQRCEj3PJK_ZT5YTsYfZDbEjxwJ43rcLMM,4753
|
30
|
+
clarifai/client/nodepool.py,sha256=QDJOMOYrZAG962u-MZWjXOZifjWK8hDgS2zoUn59dZU,16751
|
31
|
+
clarifai/client/pipeline.py,sha256=y4swF2LsTag8l_-CT1jN4RXEwp_YYYkO6P_n97Cq1kg,15961
|
32
|
+
clarifai/client/pipeline_step.py,sha256=Eqpg-j5dTk6ypKjqKZvWqwEEVTIfJ1pydaqSfKCT17U,2974
|
33
33
|
clarifai/client/runner.py,sha256=5xCiqByGGscfNm0IjHelhDTx8-9l8G0C3HL-3YZogK8,2253
|
34
|
-
clarifai/client/search.py,sha256=
|
35
|
-
clarifai/client/user.py,sha256
|
36
|
-
clarifai/client/workflow.py,sha256=
|
34
|
+
clarifai/client/search.py,sha256=_7GJ0vZXcUtoLcSRCpiY75v-_JboibDL1kE8Z_JiAwc,17273
|
35
|
+
clarifai/client/user.py,sha256=io3hsL5QRXkf6-WSrzRRhVBNL-ZoMhC2KmvcNAHSMTI,32176
|
36
|
+
clarifai/client/workflow.py,sha256=k-s7JCLhTCIKDwdvCQ3BKHD9PZyHYCAuI5Y2s242zyg,13649
|
37
37
|
clarifai/client/auth/__init__.py,sha256=7EwR0NrozkAUwpUnCsqXvE_p0wqx_SelXlSpKShKJK0,136
|
38
38
|
clarifai/client/auth/helper.py,sha256=R_k094V79ZBDvujRhWV3kiV5EttuAsVtRQFNvOsSI8A,16290
|
39
39
|
clarifai/client/auth/register.py,sha256=xIg1OoZ_GGnc0KQKII-R6q_cKN1JXW3BGcU2eyS-Kkc,871
|
@@ -72,12 +72,12 @@ clarifai/rag/__init__.py,sha256=wu3PzAzo7uqgrEzuaC9lY_3gj1HFiR3GU3elZIKTT5g,40
|
|
72
72
|
clarifai/rag/rag.py,sha256=EG3GoFrHFCmA70Tz49_0Jo1-3WIaHSgWGHecPeErcdc,14170
|
73
73
|
clarifai/rag/utils.py,sha256=_gVZdABuMnraCKViLruV75x0F3IpgFXN6amYSGE5_xc,4462
|
74
74
|
clarifai/runners/__init__.py,sha256=wXLaSljH7qLeJCrZdKEnlQh2tNqTQAIZKWOu2rZ6wGs,279
|
75
|
-
clarifai/runners/server.py,sha256=
|
75
|
+
clarifai/runners/server.py,sha256=hlg-mxGI2L-gxzLI_IprB3y5BOuwHgyv_OpbvWy-bvc,12473
|
76
76
|
clarifai/runners/dockerfile_template/Dockerfile.template,sha256=nEnIMqzhAXDbd0Ht7QQm0U7AVPIHWQD6kYnFZ0TKJUM,2428
|
77
77
|
clarifai/runners/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
78
78
|
clarifai/runners/models/dummy_openai_model.py,sha256=LfAJu173uTEYsN6xpaJ6TyimohyTooX16H6YYk9qVLs,8636
|
79
79
|
clarifai/runners/models/mcp_class.py,sha256=RdKn7rW4vYol0VRDZiLTSMfkqjLhO1ijXAQ0Rq0Jfnw,6647
|
80
|
-
clarifai/runners/models/model_builder.py,sha256=
|
80
|
+
clarifai/runners/models/model_builder.py,sha256=8sgjI9l-4B4-8LxE7gD2POBw5t1ME86Qbb41ZD6qBi8,80827
|
81
81
|
clarifai/runners/models/model_class.py,sha256=Ndh437BNMkpFBo6B108GuKL8sGYaGnSplZ6FxOgd_v8,20010
|
82
82
|
clarifai/runners/models/model_run_locally.py,sha256=6-6WjEKc0ba3gAv4wOLdMs2XOzS3b-2bZHJS0wdVqJY,20088
|
83
83
|
clarifai/runners/models/model_runner.py,sha256=jzq72S0Fz3C0rt9OSyZxok2EN6f_-K5z-0TmupdiQP4,14421
|
@@ -90,7 +90,7 @@ clarifai/runners/pipeline_steps/pipeline_step_builder.py,sha256=jcbs3ntbeyUiAaPh
|
|
90
90
|
clarifai/runners/pipelines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
91
91
|
clarifai/runners/pipelines/pipeline_builder.py,sha256=0FBjb8l7mWlCwBsBLkHM3znNQB9HPLEOYrrE53ntjCE,13810
|
92
92
|
clarifai/runners/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
93
|
-
clarifai/runners/utils/code_script.py,sha256
|
93
|
+
clarifai/runners/utils/code_script.py,sha256=-6IgNruIMTYLKJG8EqVWSaZR7lFRBoQ4ufJtuCPUCqc,14799
|
94
94
|
clarifai/runners/utils/const.py,sha256=MK7lTzzJKbOiyiUtG_jlJXfz_xNKMn5LjkQ9vjbttXE,1538
|
95
95
|
clarifai/runners/utils/data_utils.py,sha256=HRpMYR2O0OiDpXXhOManLHTeomC4bFnXMHVAiT_12yE,20856
|
96
96
|
clarifai/runners/utils/loader.py,sha256=hQwdRKRLgrunDzLTiqjz2qVdxiL8WQ04PUSwrh-JWZ0,12077
|
@@ -105,14 +105,14 @@ clarifai/runners/utils/data_types/data_types.py,sha256=UBHTNPshr94qUs2KqkYis0VlA
|
|
105
105
|
clarifai/schema/search.py,sha256=o9-ct8ulLZByB3RCVwZWPgaDwdcW7cM5s-g8oyAz89s,2421
|
106
106
|
clarifai/urls/helper.py,sha256=z6LnLGgLHxD8scFtyRdxqYIRJNhxqPkfLe53UtTLUBY,11727
|
107
107
|
clarifai/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
108
|
-
clarifai/utils/cli.py,sha256=
|
108
|
+
clarifai/utils/cli.py,sha256=ojPI6wBMwxpmCwWIE1nx4t_lzHqyJqby_TI6Fl3Vul4,15536
|
109
109
|
clarifai/utils/config.py,sha256=dENYtcWW7Il5MInvIaYe0MZn0hW1fbIb0Lzk8rQ_geQ,7671
|
110
|
-
clarifai/utils/constants.py,sha256=
|
110
|
+
clarifai/utils/constants.py,sha256=bHvs8L_Eai49Qm0U9YcK7Srx9FlL5iyv_pXvgSt6XDc,2497
|
111
111
|
clarifai/utils/logging.py,sha256=0we53uTqUvzrulC86whu-oeWNxn1JjJL0OQ98Bwf9vo,15198
|
112
112
|
clarifai/utils/misc.py,sha256=ATj4RR6S06GeLE0X4tMU4bmTz4Sz4j2WemTddsnSfMI,23458
|
113
113
|
clarifai/utils/model_train.py,sha256=0XSAoTkSsrwf4f-W9yw2mkXZtkal7LBLJSoi86CFCn4,9250
|
114
114
|
clarifai/utils/protobuf.py,sha256=VMhnNsPuWQ16VarKm8BOr5zccXMe26UlrxdJxIzEZNM,6220
|
115
|
-
clarifai/utils/secrets.py,sha256=
|
115
|
+
clarifai/utils/secrets.py,sha256=5iUolJMdC5dnWF2IRi9MJMZVxrnUVJn2_77xqanPofI,11499
|
116
116
|
clarifai/utils/evaluation/__init__.py,sha256=PYkurUrXrGevByj7RFb6CoU1iC7fllyQSfnnlo9WnY8,69
|
117
117
|
clarifai/utils/evaluation/helpers.py,sha256=0t6eIDXeZEoiVvnmHTnsIF_-v4BzrQW1hFaqc_psifU,21079
|
118
118
|
clarifai/utils/evaluation/main.py,sha256=N_sfRuMjHrUeuWN0Pzms65M1PbkQkgYg3WoQVaDR1Jw,17764
|
@@ -121,9 +121,9 @@ clarifai/workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
|
|
121
121
|
clarifai/workflows/export.py,sha256=HvUYG9N_-UZoRR0-_tdGbZ950_AeBqawSppgUxQebR0,1913
|
122
122
|
clarifai/workflows/utils.py,sha256=ESL3INcouNcLKCh-nMpfXX-YbtCzX7tz7hT57_RGQ3M,2079
|
123
123
|
clarifai/workflows/validate.py,sha256=UhmukyHkfxiMFrPPeBdUTiCOHQT5-shqivlBYEyKTlU,2931
|
124
|
-
clarifai-11.8.
|
125
|
-
clarifai-11.8.
|
126
|
-
clarifai-11.8.
|
127
|
-
clarifai-11.8.
|
128
|
-
clarifai-11.8.
|
129
|
-
clarifai-11.8.
|
124
|
+
clarifai-11.8.2.dist-info/licenses/LICENSE,sha256=mUqF_d12-qE2n41g7C5_sq-BMLOcj6CNN-jevr15YHU,555
|
125
|
+
clarifai-11.8.2.dist-info/METADATA,sha256=tp1H7AGojDcqwCLK9irGnVbgnsCJK6EMrCd966DAlnw,23193
|
126
|
+
clarifai-11.8.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
127
|
+
clarifai-11.8.2.dist-info/entry_points.txt,sha256=X9FZ4Z-i_r2Ud1RpZ9sNIFYuu_-9fogzCMCRUD9hyX0,51
|
128
|
+
clarifai-11.8.2.dist-info/top_level.txt,sha256=wUMdCQGjkxaynZ6nZ9FAnvBUCgp5RJUVFSy2j-KYo0s,9
|
129
|
+
clarifai-11.8.2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|