clarifai 11.4.0__tar.gz → 11.4.1__tar.gz

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 (129) hide show
  1. {clarifai-11.4.0/clarifai.egg-info → clarifai-11.4.1}/PKG-INFO +1 -1
  2. clarifai-11.4.1/clarifai/__init__.py +1 -0
  3. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/runners/utils/data_utils.py +163 -11
  4. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/runners/utils/method_signatures.py +2 -2
  5. {clarifai-11.4.0 → clarifai-11.4.1/clarifai.egg-info}/PKG-INFO +1 -1
  6. clarifai-11.4.0/clarifai/__init__.py +0 -1
  7. {clarifai-11.4.0 → clarifai-11.4.1}/LICENSE +0 -0
  8. {clarifai-11.4.0 → clarifai-11.4.1}/MANIFEST.in +0 -0
  9. {clarifai-11.4.0 → clarifai-11.4.1}/README.md +0 -0
  10. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/cli/README.md +0 -0
  11. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/cli/__init__.py +0 -0
  12. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/cli/__main__.py +0 -0
  13. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/cli/base.py +0 -0
  14. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/cli/compute_cluster.py +0 -0
  15. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/cli/deployment.py +0 -0
  16. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/cli/model.py +0 -0
  17. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/cli/nodepool.py +0 -0
  18. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/cli.py +0 -0
  19. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/client/__init__.py +0 -0
  20. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/client/app.py +0 -0
  21. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/client/auth/__init__.py +0 -0
  22. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/client/auth/helper.py +0 -0
  23. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/client/auth/register.py +0 -0
  24. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/client/auth/stub.py +0 -0
  25. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/client/base.py +0 -0
  26. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/client/compute_cluster.py +0 -0
  27. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/client/dataset.py +0 -0
  28. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/client/deployment.py +0 -0
  29. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/client/input.py +0 -0
  30. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/client/lister.py +0 -0
  31. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/client/model.py +0 -0
  32. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/client/model_client.py +0 -0
  33. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/client/module.py +0 -0
  34. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/client/nodepool.py +0 -0
  35. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/client/runner.py +0 -0
  36. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/client/search.py +0 -0
  37. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/client/user.py +0 -0
  38. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/client/workflow.py +0 -0
  39. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/constants/base.py +0 -0
  40. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/constants/dataset.py +0 -0
  41. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/constants/input.py +0 -0
  42. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/constants/model.py +0 -0
  43. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/constants/rag.py +0 -0
  44. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/constants/search.py +0 -0
  45. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/constants/workflow.py +0 -0
  46. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/datasets/__init__.py +0 -0
  47. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/datasets/export/__init__.py +0 -0
  48. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/datasets/export/inputs_annotations.py +0 -0
  49. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/datasets/upload/__init__.py +0 -0
  50. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/datasets/upload/base.py +0 -0
  51. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/datasets/upload/features.py +0 -0
  52. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/datasets/upload/image.py +0 -0
  53. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/datasets/upload/loaders/README.md +0 -0
  54. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/datasets/upload/loaders/__init__.py +0 -0
  55. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/datasets/upload/loaders/coco_captions.py +0 -0
  56. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/datasets/upload/loaders/coco_detection.py +0 -0
  57. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/datasets/upload/loaders/imagenet_classification.py +0 -0
  58. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/datasets/upload/loaders/xview_detection.py +0 -0
  59. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/datasets/upload/multimodal.py +0 -0
  60. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/datasets/upload/text.py +0 -0
  61. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/datasets/upload/utils.py +0 -0
  62. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/errors.py +0 -0
  63. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/models/__init__.py +0 -0
  64. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/models/api.py +0 -0
  65. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/modules/README.md +0 -0
  66. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/modules/__init__.py +0 -0
  67. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/modules/css.py +0 -0
  68. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/modules/pages.py +0 -0
  69. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/modules/style.css +0 -0
  70. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/rag/__init__.py +0 -0
  71. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/rag/rag.py +0 -0
  72. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/rag/utils.py +0 -0
  73. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/runners/__init__.py +0 -0
  74. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/runners/dockerfile_template/Dockerfile.template +0 -0
  75. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/runners/models/__init__.py +0 -0
  76. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/runners/models/model_builder.py +0 -0
  77. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/runners/models/model_class.py +0 -0
  78. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/runners/models/model_run_locally.py +0 -0
  79. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/runners/models/model_runner.py +0 -0
  80. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/runners/models/model_servicer.py +0 -0
  81. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/runners/server.py +0 -0
  82. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/runners/utils/__init__.py +0 -0
  83. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/runners/utils/code_script.py +0 -0
  84. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/runners/utils/const.py +0 -0
  85. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/runners/utils/data_types/__init__.py +0 -0
  86. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/runners/utils/data_types/data_types.py +0 -0
  87. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/runners/utils/loader.py +0 -0
  88. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/runners/utils/openai_convertor.py +0 -0
  89. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/runners/utils/serializers.py +0 -0
  90. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/runners/utils/url_fetcher.py +0 -0
  91. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/schema/search.py +0 -0
  92. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/urls/helper.py +0 -0
  93. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/utils/__init__.py +0 -0
  94. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/utils/cli.py +0 -0
  95. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/utils/config.py +0 -0
  96. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/utils/constants.py +0 -0
  97. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/utils/evaluation/__init__.py +0 -0
  98. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/utils/evaluation/helpers.py +0 -0
  99. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/utils/evaluation/main.py +0 -0
  100. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/utils/evaluation/testset_annotation_parser.py +0 -0
  101. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/utils/logging.py +0 -0
  102. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/utils/misc.py +0 -0
  103. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/utils/model_train.py +0 -0
  104. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/utils/protobuf.py +0 -0
  105. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/versions.py +0 -0
  106. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/workflows/__init__.py +0 -0
  107. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/workflows/export.py +0 -0
  108. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/workflows/utils.py +0 -0
  109. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai/workflows/validate.py +0 -0
  110. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai.egg-info/SOURCES.txt +0 -0
  111. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai.egg-info/dependency_links.txt +0 -0
  112. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai.egg-info/entry_points.txt +0 -0
  113. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai.egg-info/requires.txt +0 -0
  114. {clarifai-11.4.0 → clarifai-11.4.1}/clarifai.egg-info/top_level.txt +0 -0
  115. {clarifai-11.4.0 → clarifai-11.4.1}/pyproject.toml +0 -0
  116. {clarifai-11.4.0 → clarifai-11.4.1}/requirements.txt +0 -0
  117. {clarifai-11.4.0 → clarifai-11.4.1}/setup.cfg +0 -0
  118. {clarifai-11.4.0 → clarifai-11.4.1}/setup.py +0 -0
  119. {clarifai-11.4.0 → clarifai-11.4.1}/tests/test_app.py +0 -0
  120. {clarifai-11.4.0 → clarifai-11.4.1}/tests/test_auth.py +0 -0
  121. {clarifai-11.4.0 → clarifai-11.4.1}/tests/test_data_upload.py +0 -0
  122. {clarifai-11.4.0 → clarifai-11.4.1}/tests/test_eval.py +0 -0
  123. {clarifai-11.4.0 → clarifai-11.4.1}/tests/test_misc.py +0 -0
  124. {clarifai-11.4.0 → clarifai-11.4.1}/tests/test_model_predict.py +0 -0
  125. {clarifai-11.4.0 → clarifai-11.4.1}/tests/test_model_train.py +0 -0
  126. {clarifai-11.4.0 → clarifai-11.4.1}/tests/test_modules.py +0 -0
  127. {clarifai-11.4.0 → clarifai-11.4.1}/tests/test_rag.py +0 -0
  128. {clarifai-11.4.0 → clarifai-11.4.1}/tests/test_search.py +0 -0
  129. {clarifai-11.4.0 → clarifai-11.4.1}/tests/test_stub.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clarifai
3
- Version: 11.4.0
3
+ Version: 11.4.1
4
4
  Home-page: https://github.com/Clarifai/clarifai-python
5
5
  Author: Clarifai
6
6
  Author-email: support@clarifai.com
@@ -0,0 +1 @@
1
+ __version__ = "11.4.1"
@@ -1,9 +1,11 @@
1
+ import math
2
+ import operator
1
3
  from io import BytesIO
2
4
  from typing import List
3
5
 
4
6
  from clarifai_grpc.grpc.api import resources_pb2
5
7
  from clarifai_grpc.grpc.api.resources_pb2 import ModelTypeEnumOption, ModelTypeRangeInfo
6
- from clarifai_grpc.grpc.api.resources_pb2 import ModelTypeField as InputFieldProto
8
+ from clarifai_grpc.grpc.api.resources_pb2 import ModelTypeField as ParamProto
7
9
  from PIL import Image
8
10
 
9
11
  from clarifai.runners.utils.data_types import MessageData
@@ -57,7 +59,7 @@ def is_openai_chat_format(messages):
57
59
  return True
58
60
 
59
61
 
60
- class InputField(MessageData):
62
+ class Param(MessageData):
61
63
  """A field that can be used to store input data."""
62
64
 
63
65
  def __init__(
@@ -67,14 +69,14 @@ class InputField(MessageData):
67
69
  min_value=None,
68
70
  max_value=None,
69
71
  choices=None,
70
- # is_param=True
72
+ is_param=True,
71
73
  ):
72
74
  self.default = default
73
75
  self.description = description
74
76
  self.min_value = min_value
75
77
  self.max_value = max_value
76
78
  self.choices = choices
77
- # self.is_param = is_param
79
+ self.is_param = is_param
78
80
 
79
81
  def __repr__(self) -> str:
80
82
  attrs = []
@@ -88,12 +90,162 @@ class InputField(MessageData):
88
90
  attrs.append(f"max_value={self.max_value!r}")
89
91
  if self.choices is not None:
90
92
  attrs.append(f"choices={self.choices!r}")
91
- # attrs.append(f"is_param={self.is_param!r}")
92
- return f"InputField({', '.join(attrs)})"
93
+ attrs.append(f"is_param={self.is_param!r}")
94
+ return f"Param({', '.join(attrs)})"
93
95
 
94
- def to_proto(self, proto=None) -> InputFieldProto:
96
+ # All *explicit* conversions
97
+ def __int__(self):
98
+ return int(self.default)
99
+
100
+ def __float__(self):
101
+ return float(self.default)
102
+
103
+ def __str__(self):
104
+ return str(self.default)
105
+
106
+ def __bool__(self):
107
+ return bool(self.default)
108
+
109
+ def __index__(self):
110
+ return int(self.default) # for slicing
111
+
112
+ # sequence / mapping protocol delegation
113
+ def __len__(self):
114
+ return len(self.default)
115
+
116
+ def __iter__(self):
117
+ return iter(self.default)
118
+
119
+ def __reversed__(self):
120
+ return reversed(self.default)
121
+
122
+ def __contains__(self, item):
123
+ return item in self.default
124
+
125
+ def __getitem__(self, key):
126
+ return self.default[key]
127
+
128
+ def __setitem__(self, k, v):
129
+ self.default[k] = v
130
+
131
+ def __delitem__(self, k):
132
+ del self.default[k]
133
+
134
+ def __hash__(self):
135
+ return hash(self.default)
136
+
137
+ def __call__(self, *args, **kwargs):
138
+ return self.default(*args, **kwargs)
139
+
140
+ # Comparison operators
141
+ def __eq__(self, other):
142
+ return self.default == other
143
+
144
+ def __lt__(self, other):
145
+ return self.default < other
146
+
147
+ def __le__(self, other):
148
+ return self.default <= other
149
+
150
+ def __gt__(self, other):
151
+ return self.default > other
152
+
153
+ def __ge__(self, other):
154
+ return self.default >= other
155
+
156
+ # Arithmetic operators – # arithmetic & bitwise operators – auto-generated
157
+ _arith_ops = {
158
+ "__add__": operator.add,
159
+ "__sub__": operator.sub,
160
+ "__mul__": operator.mul,
161
+ "__truediv__": operator.truediv,
162
+ "__floordiv__": operator.floordiv,
163
+ "__mod__": operator.mod,
164
+ "__pow__": operator.pow,
165
+ "__and__": operator.and_,
166
+ "__or__": operator.or_,
167
+ "__xor__": operator.xor,
168
+ "__lshift__": operator.lshift,
169
+ "__rshift__": operator.rshift,
170
+ }
171
+
172
+ # Create both left- and right-hand versions of each operator
173
+ for _name, _op in _arith_ops.items():
174
+
175
+ def _make(op):
176
+ def _f(self, other, *, _op=op): # default arg binds op
177
+ return _op(self.default, other)
178
+
179
+ return _f
180
+
181
+ locals()[_name] = _make(_op)
182
+ locals()["__r" + _name[2:]] = _make(lambda x, y, _op=_op: _op(y, x))
183
+ del _name, _op, _make
184
+
185
+ # In-place operators
186
+ _inplace_ops = {
187
+ "__iadd__": operator.iadd,
188
+ "__isub__": operator.isub,
189
+ "__imul__": operator.imul,
190
+ "__itruediv__": operator.itruediv,
191
+ "__ifloordiv__": operator.ifloordiv,
192
+ "__imod__": operator.imod,
193
+ "__ipow__": operator.ipow,
194
+ "__ilshift__": operator.ilshift,
195
+ "__irshift__": operator.irshift,
196
+ "__iand__": operator.iand,
197
+ "__ixor__": operator.ixor,
198
+ "__ior__": operator.ior,
199
+ }
200
+
201
+ for _name, _op in _inplace_ops.items():
202
+
203
+ def _make_inplace(op):
204
+ def _f(self, other, *, _op=op):
205
+ self.default = _op(self.default, other)
206
+ return self
207
+
208
+ return _f
209
+
210
+ locals()[_name] = _make_inplace(_op)
211
+ del _name, _op, _make_inplace
212
+
213
+ # Formatting and other conversions
214
+ def __format__(self, format_spec):
215
+ return format(self.default, format_spec)
216
+
217
+ def __bytes__(self):
218
+ return bytes(self.default)
219
+
220
+ def __complex__(self):
221
+ return complex(self.default)
222
+
223
+ def __round__(self, ndigits=None):
224
+ return round(self.default, ndigits)
225
+
226
+ def __trunc__(self):
227
+ return math.trunc(self.default)
228
+
229
+ def __floor__(self):
230
+ return math.floor(self.default)
231
+
232
+ def __ceil__(self):
233
+ return math.ceil(self.default)
234
+
235
+ # Attribute access delegation – anything we did *not* define above
236
+ # will automatically be looked up on the wrapped default value.
237
+ # Attribute access delegation
238
+ def __getattr__(self, item):
239
+ return getattr(self.default, item)
240
+
241
+ def __get__(self, instance, owner):
242
+ if instance is None:
243
+ return self
244
+ return self.default
245
+
246
+ def to_proto(self, proto=None) -> ParamProto:
95
247
  if proto is None:
96
- proto = InputFieldProto()
248
+ proto = ParamProto()
97
249
  if self.description is not None:
98
250
  proto.description = self.description
99
251
 
@@ -111,7 +263,7 @@ class InputField(MessageData):
111
263
  if self.max_value is not None:
112
264
  range_info.max = float(self.max_value)
113
265
  proto.model_type_range_info.CopyFrom(range_info)
114
- # proto.is_param = self.is_param
266
+ proto.is_param = self.is_param
115
267
 
116
268
  if self.default is not None:
117
269
  proto = self.set_default(proto, self.default)
@@ -162,7 +314,7 @@ class InputField(MessageData):
162
314
  min_value=min_value,
163
315
  max_value=max_value,
164
316
  choices=choices,
165
- # is_param=proto.is_param
317
+ is_param=proto.is_param,
166
318
  )
167
319
 
168
320
  @classmethod
@@ -171,7 +323,7 @@ class InputField(MessageData):
171
323
  import json
172
324
 
173
325
  if proto is None:
174
- proto = InputFieldProto()
326
+ proto = ParamProto()
175
327
  if default is not None:
176
328
  proto.default = json.dumps(default)
177
329
  return proto
@@ -161,10 +161,10 @@ def build_variable_signature(name, annotation, default=inspect.Parameter.empty,
161
161
  if not is_output:
162
162
  sig.required = default is inspect.Parameter.empty
163
163
  if not sig.required:
164
- if isinstance(default, data_utils.InputField):
164
+ if isinstance(default, data_utils.Param):
165
165
  sig = default.to_proto(sig)
166
166
  else:
167
- sig = data_utils.InputField.set_default(sig, default)
167
+ sig = data_utils.Param.set_default(sig, default)
168
168
 
169
169
  _fill_signature_type(sig, tp)
170
170
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clarifai
3
- Version: 11.4.0
3
+ Version: 11.4.1
4
4
  Home-page: https://github.com/Clarifai/clarifai-python
5
5
  Author: Clarifai
6
6
  Author-email: support@clarifai.com
@@ -1 +0,0 @@
1
- __version__ = "11.4.0"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes