clarifai 11.1.5rc7__py3-none-any.whl → 11.1.5rc8__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.
Files changed (24) hide show
  1. clarifai/__init__.py +1 -1
  2. clarifai/cli/__pycache__/model.cpython-310.pyc +0 -0
  3. clarifai/client/#model_client.py# +430 -0
  4. clarifai/client/model.py +95 -61
  5. clarifai/client/model_client.py +64 -49
  6. clarifai/runners/__pycache__/__init__.cpython-310.pyc +0 -0
  7. clarifai/runners/models/__pycache__/base_typed_model.cpython-310.pyc +0 -0
  8. clarifai/runners/models/__pycache__/model_builder.cpython-310.pyc +0 -0
  9. clarifai/runners/models/__pycache__/model_class.cpython-310.pyc +0 -0
  10. clarifai/runners/models/__pycache__/model_runner.cpython-310.pyc +0 -0
  11. clarifai/runners/models/model_class.py +29 -46
  12. clarifai/runners/utils/__pycache__/data_handler.cpython-310.pyc +0 -0
  13. clarifai/runners/utils/__pycache__/data_types.cpython-310.pyc +0 -0
  14. clarifai/runners/utils/__pycache__/method_signatures.cpython-310.pyc +0 -0
  15. clarifai/runners/utils/__pycache__/serializers.cpython-310.pyc +0 -0
  16. clarifai/runners/utils/data_types.py +62 -10
  17. clarifai/runners/utils/method_signatures.py +278 -295
  18. clarifai/runners/utils/serializers.py +143 -67
  19. {clarifai-11.1.5rc7.dist-info → clarifai-11.1.5rc8.dist-info}/METADATA +1 -1
  20. {clarifai-11.1.5rc7.dist-info → clarifai-11.1.5rc8.dist-info}/RECORD +24 -23
  21. {clarifai-11.1.5rc7.dist-info → clarifai-11.1.5rc8.dist-info}/LICENSE +0 -0
  22. {clarifai-11.1.5rc7.dist-info → clarifai-11.1.5rc8.dist-info}/WHEEL +0 -0
  23. {clarifai-11.1.5rc7.dist-info → clarifai-11.1.5rc8.dist-info}/entry_points.txt +0 -0
  24. {clarifai-11.1.5rc7.dist-info → clarifai-11.1.5rc8.dist-info}/top_level.txt +0 -0
@@ -1,132 +1,208 @@
1
- from typing import Iterable
1
+ import json
2
+ from typing import Dict, Iterable
2
3
 
3
4
  import numpy as np
4
5
  from clarifai_grpc.grpc.api import resources_pb2
5
- from PIL import Image as PILImage
6
6
 
7
- from clarifai.runners.utils.data_types import Image, MessageData
7
+ from clarifai.runners.utils import data_types
8
8
 
9
9
 
10
10
  class Serializer:
11
11
 
12
- def serialize(self, data_proto, field, value):
12
+ def serialize(self, data_proto, value):
13
13
  pass
14
14
 
15
- def deserialize(self, data_proto, field):
15
+ def deserialize(self, data_proto):
16
16
  pass
17
17
 
18
+ def handles_list(self):
19
+ return False
18
20
 
19
- def is_repeated(field):
20
- return hasattr(field, 'add')
21
+
22
+ def is_repeated_field(field_name):
23
+ descriptor = resources_pb2.Data.DESCRIPTOR.fields_by_name.get(field_name)
24
+ return descriptor and descriptor.label == descriptor.LABEL_REPEATED
21
25
 
22
26
 
23
27
  class AtomicFieldSerializer(Serializer):
24
28
 
25
- def serialize(self, data_proto, field, value):
29
+ def __init__(self, field_name):
30
+ self.field_name = field_name
31
+
32
+ def serialize(self, data_proto, value):
26
33
  try:
27
- setattr(data_proto, field, value)
34
+ setattr(data_proto, self.field_name, value)
28
35
  except TypeError as e:
29
- raise TypeError(f"Incompatible type for {field}: {type(value)}") from e
36
+ raise TypeError(f"Incompatible type for {self.field_name}: {type(value)}") from e
30
37
 
31
- def deserialize(self, data_proto, field):
32
- return getattr(data_proto, field)
38
+ def deserialize(self, data_proto):
39
+ return getattr(data_proto, self.field_name)
33
40
 
34
41
 
35
42
  class MessageSerializer(Serializer):
36
43
 
37
- def __init__(self, message_class):
44
+ def __init__(self, field_name, message_class):
45
+ self.field_name = field_name
38
46
  self.message_class = message_class
47
+ self.is_repeated_field = is_repeated_field(field_name)
39
48
 
40
- def serialize(self, data_proto, field, value):
41
- if isinstance(value, MessageData):
42
- value = value.to_proto()
43
- dst = getattr(data_proto, field)
49
+ def handles_list(self):
50
+ return self.is_repeated_field
51
+
52
+ def serialize(self, data_proto, value):
53
+ value = self.message_class.from_value(value).to_proto()
54
+ dst = getattr(data_proto, self.field_name)
44
55
  try:
45
- if is_repeated(dst):
56
+ if self.is_repeated_field:
46
57
  dst.add().CopyFrom(value)
47
58
  else:
48
59
  dst.CopyFrom(value)
49
60
  except TypeError as e:
50
- raise TypeError(f"Incompatible type for {field}: {type(value)}") from e
51
-
52
- def deserialize(self, data_proto, field):
53
- src = getattr(data_proto, field)
54
- if is_repeated(src):
55
- return [self.message_class.from_proto(item) for item in src]
61
+ raise TypeError(f"Incompatible type for {self.field_name}: {type(value)}") from e
62
+
63
+ def serialize_list(self, data_proto, values):
64
+ assert self.is_repeated_field
65
+ dst = getattr(data_proto, self.field_name)
66
+ dst.extend([self.message_class.from_value(value).to_proto() for value in values])
67
+
68
+ def deserialize(self, data_proto):
69
+ src = getattr(data_proto, self.field_name)
70
+ if self.is_repeated_field:
71
+ values = [self.message_class.from_proto(x) for x in src]
72
+ if len(values) == 1:
73
+ return values[0]
74
+ return values
56
75
  else:
57
76
  return self.message_class.from_proto(src)
58
77
 
59
-
60
- class ImageSerializer(Serializer):
61
-
62
- def serialize(self, data_proto, field, value):
63
- if not isinstance(value, (PILImage.Image, Image, resources_pb2.Image)):
64
- raise TypeError(f"Expected Image, got {type(value)}")
65
- if isinstance(value, PILImage.Image):
66
- value = Image.from_pil(value)
67
- if isinstance(value, MessageData):
68
- value = value.to_proto()
69
- getattr(data_proto, field).CopyFrom(value)
70
-
71
- def deserialize(self, data_proto, field):
72
- value = getattr(data_proto, field)
73
- return Image.from_proto(value)
78
+ def deserialize_list(self, data_proto, values):
79
+ assert self.is_repeated_field
80
+ src = getattr(data_proto, self.field_name)
81
+ return [self.message_class.from_proto(x) for x in src]
74
82
 
75
83
 
76
84
  class NDArraySerializer(Serializer):
77
85
 
78
- def serialize(self, data_proto, field, value):
86
+ def __init__(self, field_name, as_list=False):
87
+ self.field_name = field_name
88
+ self.as_list = as_list
89
+
90
+ def serialize(self, data_proto, value):
91
+ if self.as_list and not isinstance(value, Iterable):
92
+ raise TypeError(f"Expected list, got {type(value)}")
79
93
  value = np.asarray(value)
80
94
  if not np.issubdtype(value.dtype, np.number):
81
95
  raise TypeError(f"Expected number array, got {value.dtype}")
82
- proto = getattr(data_proto, field)
96
+ proto = getattr(data_proto, self.field_name)
83
97
  proto.buffer = value.tobytes()
84
98
  proto.shape.extend(value.shape)
85
99
  proto.dtype = str(value.dtype)
86
100
 
87
- def deserialize(self, data_proto, field):
88
- proto = getattr(data_proto, field)
101
+ def deserialize(self, data_proto):
102
+ proto = getattr(data_proto, self.field_name)
89
103
  array = np.frombuffer(proto.buffer, dtype=np.dtype(proto.dtype)).reshape(proto.shape)
104
+ if self.as_list:
105
+ return array.tolist()
90
106
  return array
91
107
 
92
108
 
93
- class NullValueSerializer(Serializer):
109
+ class JSONSerializer(Serializer):
94
110
 
95
- def serialize(self, data_proto, field, value):
96
- pass
111
+ def __init__(self, field_name, type=None):
112
+ self.field_name = field_name
113
+ self.type = type
97
114
 
98
- def deserialize(self, data_proto, field):
99
- return None
115
+ def serialize(self, data_proto, value):
116
+ #if self.type is not None and not isinstance(value, self.type):
117
+ # raise TypeError(f"Expected {self.type}, got {type(value)}")
118
+ try:
119
+ setattr(data_proto, self.field_name, json.dumps(value))
120
+ except TypeError as e:
121
+ raise TypeError(f"Incompatible type for {self.field_name}: {type(value)}") from e
122
+
123
+ def deserialize(self, data_proto):
124
+ return json.loads(getattr(data_proto, self.field_name))
100
125
 
101
126
 
102
127
  class ListSerializer(Serializer):
103
128
 
104
129
  def __init__(self, inner_serializer):
130
+ self.field_name = 'parts'
105
131
  self.inner_serializer = inner_serializer
106
132
 
107
- def serialize(self, data_proto, field, value):
133
+ def handles_list(self):
134
+ # if handles_list() is called on this serializer, it means that we're
135
+ # trying to serialize a list of lists. In this case, we need to use
136
+ # parts[] for the outer list, so we return False here (we can't inline it).
137
+ return False
138
+
139
+ def serialize(self, data_proto, value):
108
140
  if not isinstance(value, Iterable):
109
141
  raise TypeError(f"Expected iterable, got {type(value)}")
110
- if field.startswith('parts[].'):
111
- inner_field = field[len('parts[].'):]
142
+ if self.inner_serializer.handles_list():
143
+ self.inner_serializer.serialize_list(data_proto, value)
144
+ else:
112
145
  for item in value:
113
146
  part = data_proto.parts.add()
114
- self.inner_serializer.serialize(part.data, inner_field, item)
115
- return
116
- repeated = getattr(data_proto, field)
117
- assert is_repeated(repeated), f"Field {field} is not repeated"
118
- for item in value:
119
- self.inner_serializer.serialize(data_proto, field, item) # appends to repeated field
120
-
121
- def deserialize(self, data_proto, field):
122
- if field.startswith('parts[].'):
123
- inner_field = field[len('parts[].'):]
124
- return [
125
- self.inner_serializer.deserialize(part.data, inner_field) for part in data_proto.parts
126
- ]
127
- repeated = getattr(data_proto, field)
128
- assert is_repeated(repeated), f"Field {field} is not repeated"
129
- return self.inner_serializer.deserialize(data_proto, field) # returns repeated field list
147
+ self.inner_serializer.serialize(part.data, item)
148
+
149
+ def deserialize(self, data_proto):
150
+ if self.inner_serializer.handles_list():
151
+ return self.inner_serializer.deserialize_list(data_proto)
152
+ return [self.inner_serializer.deserialize(part.data) for part in data_proto.parts]
153
+
154
+
155
+ class TupleSerializer(Serializer):
156
+
157
+ def __init__(self, inner_serializers):
158
+ self.field_name = 'parts'
159
+ self.inner_serializers = inner_serializers
160
+
161
+ def serialize(self, data_proto, value):
162
+ if not isinstance(value, (tuple, list)):
163
+ raise TypeError(f"Expected tuple, got {type(value)}")
164
+ if len(value) != len(self.inner_serializers):
165
+ raise ValueError(f"Expected tuple of length {len(self.inner_serializers)}, got {len(value)}")
166
+ for i, (serializer, item) in enumerate(zip(self.inner_serializers, value)):
167
+ part = data_proto.parts.add()
168
+ part.id = str(i)
169
+ serializer.serialize(part.data, item)
170
+
171
+ def deserialize(self, data_proto):
172
+ return tuple(
173
+ serializer.deserialize(part.data)
174
+ for serializer, part in zip(self.inner_serializers, data_proto.parts))
175
+
176
+
177
+ class NamedFieldsSerializer(Serializer):
178
+
179
+ def __init__(self, named_field_serializers: Dict[str, Serializer]):
180
+ self.field_name = 'parts'
181
+ self.named_field_serializers = named_field_serializers
182
+
183
+ def serialize(self, data_proto, value):
184
+ for name, serializer in self.named_field_serializers.items():
185
+ if name not in value:
186
+ raise KeyError(f"Missing field {name}")
187
+ part = self._get_part(data_proto, name, add=True)
188
+ serializer.serialize(part.data, value[name])
189
+
190
+ def deserialize(self, data_proto):
191
+ value = data_types.NamedFields()
192
+ for name, serializer in self.named_field_serializers.items():
193
+ part = self._get_part(data_proto, name)
194
+ value[name] = serializer.deserialize(part.data)
195
+ return value
196
+
197
+ def _get_part(self, data_proto, name, add=False):
198
+ for part in data_proto.parts:
199
+ if part.id == name:
200
+ return part
201
+ if add:
202
+ part = data_proto.parts.add()
203
+ part.id = name
204
+ return part
205
+ raise KeyError(f"Missing part with key {name}")
130
206
 
131
207
 
132
208
  # TODO dict serializer, maybe json only?
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: clarifai
3
- Version: 11.1.5rc7
3
+ Version: 11.1.5rc8
4
4
  Summary: Clarifai Python SDK
5
5
  Home-page: https://github.com/Clarifai/clarifai-python
6
6
  Author: Clarifai
@@ -1,4 +1,4 @@
1
- clarifai/__init__.py,sha256=tywwbtw-s_-_zaSWpFydRfgNN3Cl1l3gmoGNpj_PQvg,26
1
+ clarifai/__init__.py,sha256=38eaHmyuM7K_sQmwsLI3iDp-O9zpQ0Ad2nPrqGnGQCw,26
2
2
  clarifai/cli.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  clarifai/errors.py,sha256=RwzTajwds51wLD0MVlMC5kcpBnzRpreDLlazPSBZxrg,2605
4
4
  clarifai/versions.py,sha256=jctnczzfGk_S3EnVqb2FjRKfSREkNmvNEwAAa_VoKiQ,222
@@ -19,8 +19,9 @@ clarifai/cli/__pycache__/__main__.cpython-310.pyc,sha256=CM9FOqcSyt-DLnck7FovGDx
19
19
  clarifai/cli/__pycache__/base.cpython-310.pyc,sha256=a7mN_r511p_Ao8aXrWU9KPSe8wkDZJW4p8UhlD6EoB8,3151
20
20
  clarifai/cli/__pycache__/compute_cluster.cpython-310.pyc,sha256=NHLAcVEwqUhci0KB5DpnPWUqXcCttpWrA3F5zld4qN8,1985
21
21
  clarifai/cli/__pycache__/deployment.cpython-310.pyc,sha256=AhfbPlwjjj_TmC2UayjuRbNr00dOukDl6NfLhm2rIng,2278
22
- clarifai/cli/__pycache__/model.cpython-310.pyc,sha256=1boWk53FmE7FjNVWSH-azhFxPqzoDbDmtu30eHUxFYY,9075
22
+ clarifai/cli/__pycache__/model.cpython-310.pyc,sha256=yTYDkHtcIkPYGSIz-Ro7BXCQg8q3gInzbcS1PA0LtZ8,8542
23
23
  clarifai/cli/__pycache__/nodepool.cpython-310.pyc,sha256=nEmM-s1HFg7xM5x-bpnqHFWAVLWj0J0ZskYtd6NSq20,2473
24
+ clarifai/client/#model_client.py#,sha256=tZUWNl6D5TyeTY-XaREcdDsD3eM-Rgha2lmHziOok8w,16700
24
25
  clarifai/client/__init__.py,sha256=xI1U0l5AZdRThvQAXCLsd9axxyFzXXJ22m8LHqVjQRU,662
25
26
  clarifai/client/app.py,sha256=6pckYme1urV2YJjLIYfeZ-vH0Z5YSQa51jzIMcEfwug,38342
26
27
  clarifai/client/base.py,sha256=hSHOqkXbSKyaRDeylMMnkhUHCAHhEqno4KI0CXGziBA,7536
@@ -29,8 +30,8 @@ clarifai/client/dataset.py,sha256=y3zKT_VhP1gyN3OO-b3cPeW21ZXyKbQ7ZJkEG06bsTU,32
29
30
  clarifai/client/deployment.py,sha256=w7Y6pA1rYG4KRK1SwusRZc2sQRXlG8wezuVdzSWpCo0,2586
30
31
  clarifai/client/input.py,sha256=obMAHMDU1OwfXZ8KraOnGFlWzlW-3F7Ob_2lcOQMlhY,46339
31
32
  clarifai/client/lister.py,sha256=03KGMvs5RVyYqxLsSrWhNc34I8kiF1Ph0NeyEwu7nMU,2082
32
- clarifai/client/model.py,sha256=Z4cz-qXznbttETnH3W_LyyscGawvtBkRfaSCsdOgAvs,75334
33
- clarifai/client/model_client.py,sha256=OR4n1yv9wr8MBEzR14rC-2XeFoP84SGOUlSRDo1KbH0,16889
33
+ clarifai/client/model.py,sha256=6Idc6-VhVwDtI4qof2Ir3g9LjmbaxBGuiVKWBQmYvRc,76817
34
+ clarifai/client/model_client.py,sha256=sr98ZeJan17JTQfVGgltEv7_M9lItYSz74DCyBbMIJ8,16681
34
35
  clarifai/client/module.py,sha256=FTkm8s9m-EaTKN7g9MnLhGJ9eETUfKG7aWZ3o1RshYs,4204
35
36
  clarifai/client/nodepool.py,sha256=la3vTFrO4LX8zm2eQ5jqf2L0-kQ63Dano8FibadoZbk,10152
36
37
  clarifai/client/search.py,sha256=GaPWN6JmTQGZaCHr6U1yv0zqR6wKFl7i9IVLg2ul1CI,14254
@@ -128,43 +129,43 @@ clarifai/rag/__pycache__/rag.cpython-310.pyc,sha256=_xylc1DvMu1KYcDr-dtfUU2uzUjL
128
129
  clarifai/rag/__pycache__/utils.cpython-310.pyc,sha256=IDUXR7Iv4KfHSY3sbx_bgPdJQn2ozyRCuz01EUTmCUw,3694
129
130
  clarifai/runners/__init__.py,sha256=cDJ31l41dDsqW4Xn6sFMkKxxdIMTnGH9IW6sVkq0TNw,207
130
131
  clarifai/runners/server.py,sha256=xHDLdhQApCgYG19QOKXqJNCGNyw1Vsvobq3UdryDrVc,4132
131
- clarifai/runners/__pycache__/__init__.cpython-310.pyc,sha256=jVTodJyP53yeIEk2sPufcafNVxxCWiHOD50my0nwFcw,365
132
+ clarifai/runners/__pycache__/__init__.cpython-310.pyc,sha256=-ZU1MJEGNOGAXBFqaGG0FGgISwX9424bfq3CHHUOnqM,530
132
133
  clarifai/runners/__pycache__/server.cpython-310.pyc,sha256=HfZ6_Vrr5q78nznFqP_aWhPENplHIol_qPaf8lLlotE,3229
133
134
  clarifai/runners/dockerfile_template/Dockerfile.debug,sha256=sRlfRmSLE_TiLORcVRx-3-B0vvSNeUYgm0CCrWmLvAA,667
134
135
  clarifai/runners/dockerfile_template/Dockerfile.debug~,sha256=7YOVg3adIaiudfSkfLGeyxt-FfIBbD3UIIYccrIVJTs,426
135
136
  clarifai/runners/dockerfile_template/Dockerfile.template,sha256=MWGjj0My6d18v-nyhWuNbSXUzCzR6KWkohRB1yInb7Q,2525
136
137
  clarifai/runners/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
137
138
  clarifai/runners/models/model_builder.py,sha256=UCAeJiP_fRFfIuVI1sOge7LMwe-psgvdBuZ0LsJQMpM,33062
138
- clarifai/runners/models/model_class.py,sha256=C8nncnIkw7lHY7PTrY0hq2Kd9AI17bV2KJ9_8uVzzvE,11303
139
+ clarifai/runners/models/model_class.py,sha256=bfAyQ5oQ9fNfMeuek8RgTaHtLrLib3U8zy5qlg5kvTY,10759
139
140
  clarifai/runners/models/model_run_locally.py,sha256=VZetm9Mko8MBjcjwr6PCnTU9gF3glgD5qvpbj-8tW2s,17962
140
141
  clarifai/runners/models/model_runner.py,sha256=qyc73pe4xc9BsUKHwnOyC9g-RNCARiFis4GTh-yg0vg,6219
141
142
  clarifai/runners/models/model_servicer.py,sha256=A--b1P71PBCAMJCpy_-fpNDkfCVdvdMh1LleW15dSas,3037
142
143
  clarifai/runners/models/__pycache__/__init__.cpython-310.pyc,sha256=GTFjzypyx5wnDGqxYeY01iya1CELKb5fOFBFLV031yU,171
143
- clarifai/runners/models/__pycache__/base_typed_model.cpython-310.pyc,sha256=rr_Pxrq9MaT1keVVxBHF59pKv8-dX53B2uLscDXfbfY,8271
144
- clarifai/runners/models/__pycache__/model_builder.cpython-310.pyc,sha256=0C76O8ZOXrT3y6CVs53h_9cg7XkZKbSxyd6zp0UoAug,27487
145
- clarifai/runners/models/__pycache__/model_class.cpython-310.pyc,sha256=X5YKyOp_3_XUczns0au1R87V-urx9HzauulAtrIRCqM,9524
144
+ clarifai/runners/models/__pycache__/base_typed_model.cpython-310.pyc,sha256=YIDliqLzGNw3IBdSDNbB_2Xn-MlYPSkMApfWIlYoCgM,8271
145
+ clarifai/runners/models/__pycache__/model_builder.cpython-310.pyc,sha256=Y3LA8sJDwPl9yZakR9b4EQ-tGiuJC5rDB994uyUKx8U,26707
146
+ clarifai/runners/models/__pycache__/model_class.cpython-310.pyc,sha256=eqtgRCj7XJjZ6-EAE9uuyFCQFQOiI-yfS9kbkLsiNdo,1889
146
147
  clarifai/runners/models/__pycache__/model_run_locally.cpython-310.pyc,sha256=maLshBrvhTy0C6grT26JPAA14P-nD9WDWN25E2BErsE,16976
147
- clarifai/runners/models/__pycache__/model_runner.cpython-310.pyc,sha256=u4ZYB_TJJgvqkQ-7_yPUoKU0tT2ycwzBXuqfORwUF3Y,4999
148
+ clarifai/runners/models/__pycache__/model_runner.cpython-310.pyc,sha256=y5ieC41bcPT8q1bL3bev76ohtYXgVkXjErNGiRzcP6g,4964
148
149
  clarifai/runners/models/__pycache__/model_servicer.cpython-310.pyc,sha256=9QTYk4zVHBUtlTfkH3WaE6frNdN6ba57EVj4bKe18YA,2501
149
150
  clarifai/runners/models/__pycache__/model_upload.cpython-310.pyc,sha256=erkIUHtJv1ohMOFT8EAJuVfBsEY4o0GxpeXrZqjrfGk,21046
150
151
  clarifai/runners/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
151
152
  clarifai/runners/utils/const.py,sha256=bwj-Pcw558-pasdIFbNhnkn-9oiCdojYH1fNTTUG2gU,1048
152
153
  clarifai/runners/utils/data_handler.py,sha256=zCA_C3mbxgMroqrygMa5xsyuMF476mgd697MUPlOR0E,8327
153
- clarifai/runners/utils/data_types.py,sha256=5_1S0tJEqhW8BY0ohREVyfsyObPMLkN7H78n7mQ_4Rs,8322
154
+ clarifai/runners/utils/data_types.py,sha256=1OR676mTvpbLmqyqBBogjfOMSpP7-mevWrP_wTVWTjo,9661
154
155
  clarifai/runners/utils/data_utils.py,sha256=R1iQ82TuQ9JwxCJk8yEB1Lyb0BYVhVbWJI9YDi1zGOs,318
155
156
  clarifai/runners/utils/loader.py,sha256=SgNHMwRmCCymFQm8aDp73NmIUHhM-N60CBlTKbPzmVc,7470
156
- clarifai/runners/utils/method_signatures.py,sha256=HHaU_KYxtZxwGD_1tAU1K6dYsTtOEcfl892ApovcGmw,17408
157
- clarifai/runners/utils/serializers.py,sha256=NLLR3E40qbw2vJ1psKyo9vUL56jKIJMwDM3C6JRGvaI,3926
157
+ clarifai/runners/utils/method_signatures.py,sha256=E-sL37sJzNzY0gUmHS5Ge5ruEbtqZMoHjkdWm8NZxkA,14367
158
+ clarifai/runners/utils/serializers.py,sha256=MNLZWETostu_paxgFGJThNZUN8h3HorssJj181FVIzk,6672
158
159
  clarifai/runners/utils/url_fetcher.py,sha256=v_8JOWmkyFAzsBulsieKX7Nfjy1Yg7wGSZeqfEvw2cg,1640
159
160
  clarifai/runners/utils/__pycache__/__init__.cpython-310.pyc,sha256=PRPZOzUV5Z8grWizu5RKOkki0iLYxZDJBgsLfmCcieE,170
160
161
  clarifai/runners/utils/__pycache__/const.cpython-310.pyc,sha256=EBpjmzlqWBxRGqu_KXeVx80uDslhufrErs57SbLr3DE,953
161
- clarifai/runners/utils/__pycache__/data_handler.cpython-310.pyc,sha256=0rmmZ0AKL0z2ahf90g0xnqRy2GvgbSRkNYE9lSzSn_Q,7961
162
- clarifai/runners/utils/__pycache__/data_types.cpython-310.pyc,sha256=RdIGmYmmh0LmmiLMgSQRT7K6A8BKvVb9O4F3RJ9AE_4,12385
162
+ clarifai/runners/utils/__pycache__/data_handler.cpython-310.pyc,sha256=3HAQAt7bJxTfLybItgtlkKBZGwVL4iLV_gjcn8fE90o,7961
163
+ clarifai/runners/utils/__pycache__/data_types.cpython-310.pyc,sha256=jeDlYTMMQs_fNwBen5cCdAQxH48vkINSVYPIZj6chpE,14158
163
164
  clarifai/runners/utils/__pycache__/data_utils.cpython-310.pyc,sha256=1e6NiK6bnJiiAo2KPsDmm91BSlbI3mVkQZKbDfh5hBI,642
164
165
  clarifai/runners/utils/__pycache__/loader.cpython-310.pyc,sha256=X1MwgLanVXLs-QLot1X145A36W29ONXZRZe5q6_jARo,7319
165
166
  clarifai/runners/utils/__pycache__/logging.cpython-310.pyc,sha256=VV0KFcnuYpFFtaG4EeDIgg7c4QEsBLo-eX_NnsyFEhA,331
166
- clarifai/runners/utils/__pycache__/method_signatures.cpython-310.pyc,sha256=CLfkuYN95CQXad8D9lrb1ZOZ340uWfVZ2_-CgHs_WTQ,13678
167
- clarifai/runners/utils/__pycache__/serializers.cpython-310.pyc,sha256=5D-aRO-GTdkAF-6gRFHE_fPyxOZRH4aE6wq9FZeEP0M,5275
167
+ clarifai/runners/utils/__pycache__/method_signatures.cpython-310.pyc,sha256=TppfqSdOTnSZLbQmhPpmY5CrNX4UGsAkuSHKP5S4t-g,9694
168
+ clarifai/runners/utils/__pycache__/serializers.cpython-310.pyc,sha256=zTI3CVO6LZtxJbjBG0LSMPXHU26DP3EPyPkVb-uVXDg,7212
168
169
  clarifai/runners/utils/__pycache__/url_fetcher.cpython-310.pyc,sha256=jFxVdOmm7DCkgatv1GwIXeefHthpvlkg4ybBlMnmxss,1739
169
170
  clarifai/schema/search.py,sha256=JjTi8ammJgZZ2OGl4K6tIA4zEJ1Fr2ASZARXavI1j5c,2448
170
171
  clarifai/schema/__pycache__/search.cpython-310.pyc,sha256=aYuMHmn0ovwmeOhTDj7QAURrQAjlyLm1CwKaz6xktZU,2484
@@ -195,9 +196,9 @@ clarifai/workflows/__pycache__/__init__.cpython-310.pyc,sha256=oRKg6B7Z-wWQy0EW2
195
196
  clarifai/workflows/__pycache__/export.cpython-310.pyc,sha256=cNmGLnww7xVpm4htd1vRhQJoEZ1dhpN1oD8iLLAtVzM,2418
196
197
  clarifai/workflows/__pycache__/utils.cpython-310.pyc,sha256=rm2kWk4a3GOKWoerXpEAEeRvGhEe7wPd0ZZ6jHtEGqY,1925
197
198
  clarifai/workflows/__pycache__/validate.cpython-310.pyc,sha256=QA1i6YdDpY824cqtQvkEaFPpaCa2iqfOwFouqwZfAKY,2139
198
- clarifai-11.1.5rc7.dist-info/LICENSE,sha256=mUqF_d12-qE2n41g7C5_sq-BMLOcj6CNN-jevr15YHU,555
199
- clarifai-11.1.5rc7.dist-info/METADATA,sha256=BUQnMv-en_TmdnFCw5l8HpZUJoVC_xfcwotJt4VXhw8,22229
200
- clarifai-11.1.5rc7.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
201
- clarifai-11.1.5rc7.dist-info/entry_points.txt,sha256=X9FZ4Z-i_r2Ud1RpZ9sNIFYuu_-9fogzCMCRUD9hyX0,51
202
- clarifai-11.1.5rc7.dist-info/top_level.txt,sha256=wUMdCQGjkxaynZ6nZ9FAnvBUCgp5RJUVFSy2j-KYo0s,9
203
- clarifai-11.1.5rc7.dist-info/RECORD,,
199
+ clarifai-11.1.5rc8.dist-info/LICENSE,sha256=mUqF_d12-qE2n41g7C5_sq-BMLOcj6CNN-jevr15YHU,555
200
+ clarifai-11.1.5rc8.dist-info/METADATA,sha256=hX47juGxDF1D_vMfcaZ5IIJhFrRznfVIYXu5dDbfVcY,22229
201
+ clarifai-11.1.5rc8.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
202
+ clarifai-11.1.5rc8.dist-info/entry_points.txt,sha256=X9FZ4Z-i_r2Ud1RpZ9sNIFYuu_-9fogzCMCRUD9hyX0,51
203
+ clarifai-11.1.5rc8.dist-info/top_level.txt,sha256=wUMdCQGjkxaynZ6nZ9FAnvBUCgp5RJUVFSy2j-KYo0s,9
204
+ clarifai-11.1.5rc8.dist-info/RECORD,,