clarifai 11.2.4rc3__tar.gz → 11.3.0rc1__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 (325) hide show
  1. {clarifai-11.2.4rc3/clarifai.egg-info → clarifai-11.3.0rc1}/PKG-INFO +14 -3
  2. clarifai-11.3.0rc1/clarifai/__init__.py +1 -0
  3. clarifai-11.3.0rc1/clarifai/__pycache__/__init__.cpython-311.pyc +0 -0
  4. clarifai-11.3.0rc1/clarifai/__pycache__/errors.cpython-311.pyc +0 -0
  5. clarifai-11.3.0rc1/clarifai/__pycache__/versions.cpython-311.pyc +0 -0
  6. clarifai-11.3.0rc1/clarifai/cli/__pycache__/__init__.cpython-311.pyc +0 -0
  7. clarifai-11.3.0rc1/clarifai/cli/__pycache__/base.cpython-311.pyc +0 -0
  8. clarifai-11.3.0rc1/clarifai/cli/__pycache__/compute_cluster.cpython-311.pyc +0 -0
  9. clarifai-11.3.0rc1/clarifai/cli/__pycache__/deployment.cpython-311.pyc +0 -0
  10. clarifai-11.3.0rc1/clarifai/cli/__pycache__/model.cpython-311.pyc +0 -0
  11. clarifai-11.3.0rc1/clarifai/cli/__pycache__/nodepool.cpython-311.pyc +0 -0
  12. clarifai-11.3.0rc1/clarifai/client/__pycache__/__init__.cpython-311.pyc +0 -0
  13. clarifai-11.3.0rc1/clarifai/client/__pycache__/app.cpython-311.pyc +0 -0
  14. clarifai-11.3.0rc1/clarifai/client/__pycache__/base.cpython-311.pyc +0 -0
  15. clarifai-11.3.0rc1/clarifai/client/__pycache__/compute_cluster.cpython-311.pyc +0 -0
  16. clarifai-11.3.0rc1/clarifai/client/__pycache__/dataset.cpython-311.pyc +0 -0
  17. clarifai-11.3.0rc1/clarifai/client/__pycache__/deployment.cpython-311.pyc +0 -0
  18. clarifai-11.3.0rc1/clarifai/client/__pycache__/input.cpython-311.pyc +0 -0
  19. clarifai-11.3.0rc1/clarifai/client/__pycache__/lister.cpython-311.pyc +0 -0
  20. clarifai-11.3.0rc1/clarifai/client/__pycache__/model.cpython-311.pyc +0 -0
  21. clarifai-11.3.0rc1/clarifai/client/__pycache__/module.cpython-311.pyc +0 -0
  22. clarifai-11.3.0rc1/clarifai/client/__pycache__/nodepool.cpython-311.pyc +0 -0
  23. clarifai-11.3.0rc1/clarifai/client/__pycache__/search.cpython-311.pyc +0 -0
  24. clarifai-11.3.0rc1/clarifai/client/__pycache__/user.cpython-311.pyc +0 -0
  25. clarifai-11.3.0rc1/clarifai/client/__pycache__/workflow.cpython-311.pyc +0 -0
  26. clarifai-11.3.0rc1/clarifai/client/auth/__pycache__/__init__.cpython-311.pyc +0 -0
  27. clarifai-11.3.0rc1/clarifai/client/auth/__pycache__/helper.cpython-311.pyc +0 -0
  28. clarifai-11.3.0rc1/clarifai/client/auth/__pycache__/register.cpython-311.pyc +0 -0
  29. clarifai-11.3.0rc1/clarifai/client/auth/__pycache__/stub.cpython-311.pyc +0 -0
  30. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/deployment.py +3 -1
  31. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/model.py +7 -3
  32. clarifai-11.3.0rc1/clarifai/constants/__pycache__/base.cpython-311.pyc +0 -0
  33. clarifai-11.3.0rc1/clarifai/constants/__pycache__/dataset.cpython-311.pyc +0 -0
  34. clarifai-11.3.0rc1/clarifai/constants/__pycache__/input.cpython-311.pyc +0 -0
  35. clarifai-11.3.0rc1/clarifai/constants/__pycache__/model.cpython-311.pyc +0 -0
  36. clarifai-11.3.0rc1/clarifai/constants/__pycache__/rag.cpython-311.pyc +0 -0
  37. clarifai-11.3.0rc1/clarifai/constants/__pycache__/search.cpython-311.pyc +0 -0
  38. clarifai-11.3.0rc1/clarifai/constants/__pycache__/workflow.cpython-311.pyc +0 -0
  39. clarifai-11.3.0rc1/clarifai/datasets/__pycache__/__init__.cpython-311.pyc +0 -0
  40. clarifai-11.3.0rc1/clarifai/datasets/export/__pycache__/__init__.cpython-311.pyc +0 -0
  41. clarifai-11.3.0rc1/clarifai/datasets/export/__pycache__/inputs_annotations.cpython-311.pyc +0 -0
  42. clarifai-11.3.0rc1/clarifai/datasets/upload/__pycache__/__init__.cpython-311.pyc +0 -0
  43. clarifai-11.3.0rc1/clarifai/datasets/upload/__pycache__/base.cpython-311.pyc +0 -0
  44. clarifai-11.3.0rc1/clarifai/datasets/upload/__pycache__/features.cpython-311.pyc +0 -0
  45. clarifai-11.3.0rc1/clarifai/datasets/upload/__pycache__/image.cpython-311.pyc +0 -0
  46. clarifai-11.3.0rc1/clarifai/datasets/upload/__pycache__/multimodal.cpython-311.pyc +0 -0
  47. clarifai-11.3.0rc1/clarifai/datasets/upload/__pycache__/text.cpython-311.pyc +0 -0
  48. clarifai-11.3.0rc1/clarifai/datasets/upload/__pycache__/utils.cpython-311.pyc +0 -0
  49. clarifai-11.3.0rc1/clarifai/datasets/upload/loaders/__pycache__/__init__.cpython-311.pyc +0 -0
  50. clarifai-11.3.0rc1/clarifai/datasets/upload/loaders/__pycache__/coco_detection.cpython-311.pyc +0 -0
  51. clarifai-11.3.0rc1/clarifai/datasets/upload/loaders/__pycache__/imagenet_classification.cpython-311.pyc +0 -0
  52. clarifai-11.3.0rc1/clarifai/rag/__pycache__/__init__.cpython-311.pyc +0 -0
  53. clarifai-11.3.0rc1/clarifai/rag/__pycache__/rag.cpython-311.pyc +0 -0
  54. clarifai-11.3.0rc1/clarifai/rag/__pycache__/utils.cpython-311.pyc +0 -0
  55. clarifai-11.3.0rc1/clarifai/runners/__pycache__/__init__.cpython-311.pyc +0 -0
  56. clarifai-11.3.0rc1/clarifai/runners/models/__pycache__/__init__.cpython-311.pyc +0 -0
  57. clarifai-11.3.0rc1/clarifai/runners/models/__pycache__/base_typed_model.cpython-311.pyc +0 -0
  58. clarifai-11.3.0rc1/clarifai/runners/models/__pycache__/model_builder.cpython-311.pyc +0 -0
  59. clarifai-11.3.0rc1/clarifai/runners/models/__pycache__/model_class.cpython-311.pyc +0 -0
  60. clarifai-11.3.0rc1/clarifai/runners/models/__pycache__/model_run_locally.cpython-311.pyc +0 -0
  61. clarifai-11.3.0rc1/clarifai/runners/models/__pycache__/model_runner.cpython-311.pyc +0 -0
  62. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/models/model_builder.py +14 -1
  63. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/models/model_class.py +4 -2
  64. clarifai-11.3.0rc1/clarifai/runners/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  65. clarifai-11.3.0rc1/clarifai/runners/utils/__pycache__/const.cpython-311.pyc +0 -0
  66. clarifai-11.3.0rc1/clarifai/runners/utils/__pycache__/data_handler.cpython-311.pyc +0 -0
  67. clarifai-11.3.0rc1/clarifai/runners/utils/__pycache__/data_utils.cpython-311.pyc +0 -0
  68. clarifai-11.3.0rc1/clarifai/runners/utils/__pycache__/loader.cpython-311.pyc +0 -0
  69. clarifai-11.3.0rc1/clarifai/runners/utils/__pycache__/url_fetcher.cpython-311.pyc +0 -0
  70. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/data_types.py +3 -3
  71. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/data_utils.py +8 -7
  72. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/method_signatures.py +0 -8
  73. clarifai-11.3.0rc1/clarifai/schema/__pycache__/search.cpython-311.pyc +0 -0
  74. clarifai-11.3.0rc1/clarifai/urls/__pycache__/helper.cpython-311.pyc +0 -0
  75. clarifai-11.3.0rc1/clarifai/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  76. clarifai-11.3.0rc1/clarifai/utils/__pycache__/cli.cpython-311.pyc +0 -0
  77. clarifai-11.3.0rc1/clarifai/utils/__pycache__/config.cpython-311.pyc +0 -0
  78. clarifai-11.3.0rc1/clarifai/utils/__pycache__/constants.cpython-311.pyc +0 -0
  79. clarifai-11.3.0rc1/clarifai/utils/__pycache__/logging.cpython-311.pyc +0 -0
  80. clarifai-11.3.0rc1/clarifai/utils/__pycache__/misc.cpython-311.pyc +0 -0
  81. clarifai-11.3.0rc1/clarifai/utils/__pycache__/model_train.cpython-311.pyc +0 -0
  82. clarifai-11.3.0rc1/clarifai/utils/__pycache__/protobuf.cpython-311.pyc +0 -0
  83. clarifai-11.3.0rc1/clarifai/utils/evaluation/__pycache__/__init__.cpython-311.pyc +0 -0
  84. clarifai-11.3.0rc1/clarifai/utils/evaluation/__pycache__/helpers.cpython-311.pyc +0 -0
  85. clarifai-11.3.0rc1/clarifai/utils/evaluation/__pycache__/main.cpython-311.pyc +0 -0
  86. clarifai-11.3.0rc1/clarifai/utils/protobuf.py +143 -0
  87. clarifai-11.3.0rc1/clarifai/workflows/__pycache__/__init__.cpython-311.pyc +0 -0
  88. clarifai-11.3.0rc1/clarifai/workflows/__pycache__/export.cpython-311.pyc +0 -0
  89. clarifai-11.3.0rc1/clarifai/workflows/__pycache__/utils.cpython-311.pyc +0 -0
  90. clarifai-11.3.0rc1/clarifai/workflows/__pycache__/validate.cpython-311.pyc +0 -0
  91. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1/clarifai.egg-info}/PKG-INFO +14 -3
  92. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai.egg-info/SOURCES.txt +81 -0
  93. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai.egg-info/requires.txt +1 -1
  94. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/requirements.txt +1 -1
  95. clarifai-11.2.4rc3/clarifai/__init__.py +0 -1
  96. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/LICENSE +0 -0
  97. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/MANIFEST.in +0 -0
  98. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/README.md +0 -0
  99. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/__pycache__/__init__.cpython-310.pyc +0 -0
  100. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/__pycache__/__init__.cpython-39.pyc +0 -0
  101. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/__pycache__/errors.cpython-310.pyc +0 -0
  102. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/__pycache__/versions.cpython-310.pyc +0 -0
  103. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/cli/README.md +0 -0
  104. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/cli/__init__.py +0 -0
  105. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/cli/__main__.py +0 -0
  106. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/cli/__pycache__/__init__.cpython-310.pyc +0 -0
  107. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/cli/__pycache__/base.cpython-310.pyc +0 -0
  108. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/cli/__pycache__/base_cli.cpython-310.pyc +0 -0
  109. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/cli/__pycache__/compute_cluster.cpython-310.pyc +0 -0
  110. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/cli/__pycache__/deployment.cpython-310.pyc +0 -0
  111. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/cli/__pycache__/model.cpython-310.pyc +0 -0
  112. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/cli/__pycache__/model_cli.cpython-310.pyc +0 -0
  113. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/cli/__pycache__/nodepool.cpython-310.pyc +0 -0
  114. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/cli/base.py +0 -0
  115. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/cli/compute_cluster.py +0 -0
  116. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/cli/deployment.py +0 -0
  117. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/cli/model.py +0 -0
  118. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/cli/nodepool.py +0 -0
  119. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/cli.py +0 -0
  120. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/__init__.py +0 -0
  121. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/__pycache__/__init__.cpython-310.pyc +0 -0
  122. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/__pycache__/__init__.cpython-39.pyc +0 -0
  123. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/__pycache__/app.cpython-310.pyc +0 -0
  124. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/__pycache__/app.cpython-39.pyc +0 -0
  125. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/__pycache__/base.cpython-310.pyc +0 -0
  126. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/__pycache__/compute_cluster.cpython-310.pyc +0 -0
  127. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/__pycache__/dataset.cpython-310.pyc +0 -0
  128. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/__pycache__/deployment.cpython-310.pyc +0 -0
  129. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/__pycache__/input.cpython-310.pyc +0 -0
  130. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/__pycache__/lister.cpython-310.pyc +0 -0
  131. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/__pycache__/model.cpython-310.pyc +0 -0
  132. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/__pycache__/module.cpython-310.pyc +0 -0
  133. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/__pycache__/nodepool.cpython-310.pyc +0 -0
  134. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/__pycache__/search.cpython-310.pyc +0 -0
  135. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/__pycache__/user.cpython-310.pyc +0 -0
  136. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/__pycache__/workflow.cpython-310.pyc +0 -0
  137. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/app.py +0 -0
  138. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/auth/__init__.py +0 -0
  139. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/auth/__pycache__/__init__.cpython-310.pyc +0 -0
  140. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/auth/__pycache__/helper.cpython-310.pyc +0 -0
  141. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/auth/__pycache__/register.cpython-310.pyc +0 -0
  142. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/auth/__pycache__/stub.cpython-310.pyc +0 -0
  143. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/auth/helper.py +0 -0
  144. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/auth/register.py +0 -0
  145. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/auth/stub.py +0 -0
  146. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/base.py +0 -0
  147. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/compute_cluster.py +0 -0
  148. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/dataset.py +0 -0
  149. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/input.py +0 -0
  150. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/lister.py +0 -0
  151. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/model_client.py +0 -0
  152. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/module.py +0 -0
  153. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/nodepool.py +0 -0
  154. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/search.py +0 -0
  155. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/user.py +0 -0
  156. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/client/workflow.py +0 -0
  157. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/constants/__pycache__/base.cpython-310.pyc +0 -0
  158. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/constants/__pycache__/dataset.cpython-310.pyc +0 -0
  159. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/constants/__pycache__/input.cpython-310.pyc +0 -0
  160. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/constants/__pycache__/model.cpython-310.pyc +0 -0
  161. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/constants/__pycache__/rag.cpython-310.pyc +0 -0
  162. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/constants/__pycache__/search.cpython-310.pyc +0 -0
  163. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/constants/__pycache__/workflow.cpython-310.pyc +0 -0
  164. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/constants/base.py +0 -0
  165. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/constants/dataset.py +0 -0
  166. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/constants/input.py +0 -0
  167. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/constants/model.py +0 -0
  168. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/constants/rag.py +0 -0
  169. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/constants/search.py +0 -0
  170. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/constants/workflow.py +0 -0
  171. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/__init__.py +0 -0
  172. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/__pycache__/__init__.cpython-310.pyc +0 -0
  173. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/__pycache__/__init__.cpython-39.pyc +0 -0
  174. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/export/__init__.py +0 -0
  175. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/export/__pycache__/__init__.cpython-310.pyc +0 -0
  176. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/export/__pycache__/__init__.cpython-39.pyc +0 -0
  177. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/export/__pycache__/inputs_annotations.cpython-310.pyc +0 -0
  178. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/export/inputs_annotations.py +0 -0
  179. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/__init__.py +0 -0
  180. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/__pycache__/__init__.cpython-310.pyc +0 -0
  181. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/__pycache__/__init__.cpython-39.pyc +0 -0
  182. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/__pycache__/base.cpython-310.pyc +0 -0
  183. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/__pycache__/features.cpython-310.pyc +0 -0
  184. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/__pycache__/image.cpython-310.pyc +0 -0
  185. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/__pycache__/multimodal.cpython-310.pyc +0 -0
  186. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/__pycache__/text.cpython-310.pyc +0 -0
  187. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/__pycache__/utils.cpython-310.pyc +0 -0
  188. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/base.py +0 -0
  189. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/features.py +0 -0
  190. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/image.py +0 -0
  191. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/loaders/README.md +0 -0
  192. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/loaders/__init__.py +0 -0
  193. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/loaders/__pycache__/__init__.cpython-39.pyc +0 -0
  194. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/loaders/coco_captions.py +0 -0
  195. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/loaders/coco_detection.py +0 -0
  196. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/loaders/imagenet_classification.py +0 -0
  197. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/loaders/xview_detection.py +0 -0
  198. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/multimodal.py +0 -0
  199. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/text.py +0 -0
  200. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/datasets/upload/utils.py +0 -0
  201. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/errors.py +0 -0
  202. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/models/__init__.py +0 -0
  203. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/models/__pycache__/__init__.cpython-39.pyc +0 -0
  204. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/models/api.py +0 -0
  205. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/modules/README.md +0 -0
  206. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/modules/__init__.py +0 -0
  207. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/modules/__pycache__/__init__.cpython-39.pyc +0 -0
  208. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/modules/css.py +0 -0
  209. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/modules/pages.py +0 -0
  210. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/modules/style.css +0 -0
  211. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/rag/__init__.py +0 -0
  212. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/rag/__pycache__/__init__.cpython-310.pyc +0 -0
  213. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/rag/__pycache__/__init__.cpython-39.pyc +0 -0
  214. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/rag/__pycache__/rag.cpython-310.pyc +0 -0
  215. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/rag/__pycache__/rag.cpython-39.pyc +0 -0
  216. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/rag/__pycache__/utils.cpython-310.pyc +0 -0
  217. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/rag/rag.py +0 -0
  218. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/rag/utils.py +0 -0
  219. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/__init__.py +0 -0
  220. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/__pycache__/__init__.cpython-310.pyc +0 -0
  221. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/__pycache__/__init__.cpython-39.pyc +0 -0
  222. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/dockerfile_template/Dockerfile.template +0 -0
  223. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/models/__init__.py +0 -0
  224. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/models/__pycache__/__init__.cpython-310.pyc +0 -0
  225. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/models/__pycache__/__init__.cpython-39.pyc +0 -0
  226. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/models/__pycache__/base_typed_model.cpython-310.pyc +0 -0
  227. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/models/__pycache__/base_typed_model.cpython-39.pyc +0 -0
  228. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/models/__pycache__/model_class.cpython-310.pyc +0 -0
  229. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/models/__pycache__/model_run_locally.cpython-310-pytest-7.1.2.pyc +0 -0
  230. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/models/__pycache__/model_run_locally.cpython-310.pyc +0 -0
  231. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/models/__pycache__/model_runner.cpython-310.pyc +0 -0
  232. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/models/__pycache__/model_upload.cpython-310.pyc +0 -0
  233. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/models/model_run_locally.py +0 -0
  234. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/models/model_runner.py +0 -0
  235. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/models/model_servicer.py +0 -0
  236. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/server.py +0 -0
  237. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__init__.py +0 -0
  238. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/__init__.cpython-310.pyc +0 -0
  239. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/__init__.cpython-38.pyc +0 -0
  240. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/__init__.cpython-39.pyc +0 -0
  241. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/buffered_stream.cpython-310.pyc +0 -0
  242. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/buffered_stream.cpython-38.pyc +0 -0
  243. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/buffered_stream.cpython-39.pyc +0 -0
  244. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/const.cpython-310.pyc +0 -0
  245. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/constants.cpython-310.pyc +0 -0
  246. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/constants.cpython-38.pyc +0 -0
  247. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/constants.cpython-39.pyc +0 -0
  248. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/data_handler.cpython-310.pyc +0 -0
  249. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/data_handler.cpython-38.pyc +0 -0
  250. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/data_handler.cpython-39.pyc +0 -0
  251. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/data_utils.cpython-310.pyc +0 -0
  252. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/data_utils.cpython-38.pyc +0 -0
  253. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/data_utils.cpython-39.pyc +0 -0
  254. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/grpc_server.cpython-310.pyc +0 -0
  255. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/grpc_server.cpython-38.pyc +0 -0
  256. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/grpc_server.cpython-39.pyc +0 -0
  257. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/health.cpython-310.pyc +0 -0
  258. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/health.cpython-38.pyc +0 -0
  259. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/health.cpython-39.pyc +0 -0
  260. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/loader.cpython-310.pyc +0 -0
  261. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/logging.cpython-310.pyc +0 -0
  262. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/logging.cpython-38.pyc +0 -0
  263. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/logging.cpython-39.pyc +0 -0
  264. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/stream_source.cpython-310.pyc +0 -0
  265. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/stream_source.cpython-39.pyc +0 -0
  266. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/url_fetcher.cpython-310.pyc +0 -0
  267. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/url_fetcher.cpython-38.pyc +0 -0
  268. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/__pycache__/url_fetcher.cpython-39.pyc +0 -0
  269. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/code_script.py +0 -0
  270. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/const.py +0 -0
  271. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/loader.py +0 -0
  272. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/openai_convertor.py +0 -0
  273. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/serializers.py +0 -0
  274. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/runners/utils/url_fetcher.py +0 -0
  275. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/schema/__pycache__/search.cpython-310.pyc +0 -0
  276. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/schema/search.py +0 -0
  277. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/urls/__pycache__/helper.cpython-310.pyc +0 -0
  278. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/urls/helper.py +0 -0
  279. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/utils/__init__.py +0 -0
  280. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/utils/__pycache__/__init__.cpython-310.pyc +0 -0
  281. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/utils/__pycache__/__init__.cpython-39.pyc +0 -0
  282. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/utils/__pycache__/cli.cpython-310.pyc +0 -0
  283. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/utils/__pycache__/constants.cpython-310.pyc +0 -0
  284. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/utils/__pycache__/logging.cpython-310.pyc +0 -0
  285. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/utils/__pycache__/misc.cpython-310.pyc +0 -0
  286. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/utils/__pycache__/model_train.cpython-310.pyc +0 -0
  287. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/utils/cli.py +0 -0
  288. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/utils/config.py +0 -0
  289. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/utils/constants.py +0 -0
  290. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/utils/evaluation/__init__.py +0 -0
  291. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/utils/evaluation/__pycache__/__init__.cpython-39.pyc +0 -0
  292. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/utils/evaluation/__pycache__/main.cpython-39.pyc +0 -0
  293. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/utils/evaluation/helpers.py +0 -0
  294. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/utils/evaluation/main.py +0 -0
  295. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/utils/evaluation/testset_annotation_parser.py +0 -0
  296. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/utils/logging.py +0 -0
  297. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/utils/misc.py +0 -0
  298. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/utils/model_train.py +0 -0
  299. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/versions.py +0 -0
  300. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/workflows/__init__.py +0 -0
  301. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/workflows/__pycache__/__init__.cpython-310.pyc +0 -0
  302. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/workflows/__pycache__/__init__.cpython-39.pyc +0 -0
  303. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/workflows/__pycache__/export.cpython-310.pyc +0 -0
  304. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/workflows/__pycache__/utils.cpython-310.pyc +0 -0
  305. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/workflows/__pycache__/validate.cpython-310.pyc +0 -0
  306. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/workflows/export.py +0 -0
  307. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/workflows/utils.py +0 -0
  308. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai/workflows/validate.py +0 -0
  309. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai.egg-info/dependency_links.txt +0 -0
  310. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai.egg-info/entry_points.txt +0 -0
  311. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/clarifai.egg-info/top_level.txt +0 -0
  312. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/pyproject.toml +0 -0
  313. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/setup.cfg +0 -0
  314. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/setup.py +0 -0
  315. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/tests/test_app.py +0 -0
  316. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/tests/test_auth.py +0 -0
  317. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/tests/test_data_upload.py +0 -0
  318. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/tests/test_eval.py +0 -0
  319. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/tests/test_misc.py +0 -0
  320. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/tests/test_model_predict.py +0 -0
  321. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/tests/test_model_train.py +0 -0
  322. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/tests/test_modules.py +0 -0
  323. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/tests/test_rag.py +0 -0
  324. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/tests/test_search.py +0 -0
  325. {clarifai-11.2.4rc3 → clarifai-11.3.0rc1}/tests/test_stub.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: clarifai
3
- Version: 11.2.4rc3
3
+ Version: 11.3.0rc1
4
4
  Summary: Clarifai Python SDK
5
5
  Home-page: https://github.com/Clarifai/clarifai-python
6
6
  Author: Clarifai
@@ -20,7 +20,7 @@ Classifier: Operating System :: OS Independent
20
20
  Requires-Python: >=3.8
21
21
  Description-Content-Type: text/markdown
22
22
  License-File: LICENSE
23
- Requires-Dist: clarifai-grpc>=11.2.6
23
+ Requires-Dist: clarifai-grpc>=11.3.3
24
24
  Requires-Dist: clarifai-protocol>=0.0.22
25
25
  Requires-Dist: numpy>=1.22.0
26
26
  Requires-Dist: tqdm>=4.65.0
@@ -35,6 +35,17 @@ Requires-Dist: requests>=2.32.3
35
35
  Requires-Dist: aiohttp>=3.10.0
36
36
  Provides-Extra: all
37
37
  Requires-Dist: pycocotools==2.0.6; extra == "all"
38
+ Dynamic: author
39
+ Dynamic: author-email
40
+ Dynamic: classifier
41
+ Dynamic: description
42
+ Dynamic: description-content-type
43
+ Dynamic: home-page
44
+ Dynamic: license
45
+ Dynamic: provides-extra
46
+ Dynamic: requires-dist
47
+ Dynamic: requires-python
48
+ Dynamic: summary
38
49
 
39
50
  <h1 align="center">
40
51
  <a href="https://www.clarifai.com/"><img alt="Clarifai" title="Clarifai" src="https://github.com/user-attachments/assets/623b883b-7fe5-4b95-bbfa-8691f5779af4"></a>
@@ -0,0 +1 @@
1
+ __version__ = "11.3.0rc1"
@@ -3,6 +3,7 @@ from clarifai_grpc.grpc.api import resources_pb2
3
3
  from clarifai.client.base import BaseClient
4
4
  from clarifai.client.lister import Lister
5
5
  from clarifai.utils.logging import logger
6
+ from clarifai.utils.protobuf import dict_to_protobuf
6
7
 
7
8
 
8
9
  class Deployment(Lister, BaseClient):
@@ -28,7 +29,8 @@ class Deployment(Lister, BaseClient):
28
29
  **kwargs: Additional keyword arguments to be passed to the deployment.
29
30
  """
30
31
  self.kwargs = {**kwargs, 'id': deployment_id, 'user_id': user_id}
31
- self.deployment_info = resources_pb2.Deployment(**self.kwargs)
32
+ self.deployment_info = resources_pb2.Deployment()
33
+ dict_to_protobuf(self.deployment_info, self.kwargs)
32
34
  self.logger = logger
33
35
  BaseClient.__init__(
34
36
  self,
@@ -32,7 +32,7 @@ from clarifai.utils.misc import BackoffIterator
32
32
  from clarifai.utils.model_train import (find_and_replace_key, params_parser,
33
33
  response_to_model_params, response_to_param_info,
34
34
  response_to_templates)
35
-
35
+ from clarifai.utils.protobuf import dict_to_protobuf
36
36
  MAX_SIZE_PER_STREAM = int(89_128_960) # 85GiB
37
37
  MIN_CHUNK_FOR_UPLOAD_FILE = int(5_242_880) # 5MiB
38
38
  MAX_CHUNK_FOR_UPLOAD_FILE = int(5_242_880_000) # 5GiB
@@ -73,8 +73,11 @@ class Model(Lister, BaseClient):
73
73
  user_id, app_id, _, model_id, model_version_id = ClarifaiUrlHelper.split_clarifai_url(url)
74
74
  model_version = {'id': model_version_id}
75
75
  kwargs = {'user_id': user_id, 'app_id': app_id}
76
+
76
77
  self.kwargs = {**kwargs, 'id': model_id, 'model_version': model_version, }
77
- self.model_info = resources_pb2.Model(**self.kwargs)
78
+ self.model_info = resources_pb2.Model()
79
+ dict_to_protobuf(self.model_info, self.kwargs)
80
+
78
81
  self.logger = logger
79
82
  self.training_params = {}
80
83
  self.input_types = None
@@ -983,7 +986,8 @@ class Model(Lister, BaseClient):
983
986
 
984
987
  dict_response = MessageToDict(response, preserving_proto_field_name=True)
985
988
  self.kwargs = self.process_response_keys(dict_response['model'])
986
- self.model_info = resources_pb2.Model(**self.kwargs)
989
+ self.model_info = resources_pb2.Model()
990
+ dict_to_protobuf(self.model_info, self.kwargs)
987
991
 
988
992
  def __str__(self):
989
993
  if len(self.kwargs) < 10:
@@ -43,6 +43,19 @@ def _clear_line(n: int = 1) -> None:
43
43
  print(LINE_UP, end=LINE_CLEAR, flush=True)
44
44
 
45
45
 
46
+ def is_related(object_class, main_class):
47
+ # Check if the object_class is a subclass of main_class
48
+ if issubclass(object_class, main_class):
49
+ return True
50
+
51
+ # Check if the object_class is a subclass of any of the parent classes of main_class
52
+ parent_classes = object_class.__bases__
53
+ for parent in parent_classes:
54
+ if main_class in parent.__bases__:
55
+ return True
56
+ return False
57
+
58
+
46
59
  class ModelBuilder:
47
60
  DEFAULT_CHECKPOINT_SIZE = 50 * 1024**3 # 50 GiB
48
61
 
@@ -125,7 +138,7 @@ class ModelBuilder:
125
138
  # Find all classes in the model.py file that are subclasses of ModelClass
126
139
  classes = [
127
140
  cls for _, cls in inspect.getmembers(module, inspect.isclass)
128
- if issubclass(cls, ModelClass) and cls.__module__ == module.__name__
141
+ if is_related(cls, ModelClass) and cls.__module__ == module.__name__
129
142
  ]
130
143
  # Ensure there is exactly one subclass of BaseRunner in the model.py file
131
144
  if len(classes) != 1:
@@ -1,3 +1,4 @@
1
+ import collections.abc as abc
1
2
  import inspect
2
3
  import itertools
3
4
  import logging
@@ -271,8 +272,9 @@ class ModelClass(ABC):
271
272
  if k not in python_param_types:
272
273
  continue
273
274
 
274
- if hasattr(python_param_types[k], "__args__") and getattr(python_param_types[k],
275
- "__origin__", None) == Iterator:
275
+ if hasattr(python_param_types[k],
276
+ "__args__") and (getattr(python_param_types[k], "__origin__",
277
+ None) in [abc.Iterator, abc.Generator, abc.Iterable]):
276
278
  # get the type of the items in the stream
277
279
  stream_type = python_param_types[k].__args__[0]
278
280
 
@@ -160,8 +160,8 @@ class Text(MessageData):
160
160
 
161
161
  class Concept(MessageData):
162
162
 
163
- def __init__(self, id: str, name: str, value: float = 1):
164
- self.id = id
163
+ def __init__(self, name: str, value: float = 1):
164
+ self.id = name
165
165
  self.name = name
166
166
  self.value = value
167
167
 
@@ -173,7 +173,7 @@ class Concept(MessageData):
173
173
 
174
174
  @classmethod
175
175
  def from_proto(cls, proto: ConceptProto) -> "Concept":
176
- return cls(proto.id, proto.name, proto.value)
176
+ return cls(proto.name, proto.value)
177
177
 
178
178
 
179
179
  class Region(MessageData):
@@ -68,14 +68,14 @@ class InputField(MessageData):
68
68
  min_value=None,
69
69
  max_value=None,
70
70
  choices=None,
71
- # is_param=True
71
+ is_param=True
72
72
  ):
73
73
  self.default = default
74
74
  self.description = description
75
75
  self.min_value = min_value
76
76
  self.max_value = max_value
77
77
  self.choices = choices
78
- # self.is_param = is_param
78
+ self.is_param = is_param
79
79
 
80
80
  def __repr__(self) -> str:
81
81
  attrs = []
@@ -89,7 +89,7 @@ class InputField(MessageData):
89
89
  attrs.append(f"max_value={self.max_value!r}")
90
90
  if self.choices is not None:
91
91
  attrs.append(f"choices={self.choices!r}")
92
- # attrs.append(f"is_param={self.is_param!r}")
92
+ attrs.append(f"is_param={self.is_param!r}")
93
93
  return f"InputField({', '.join(attrs)})"
94
94
 
95
95
  def to_proto(self, proto=None) -> InputFieldProto:
@@ -112,7 +112,7 @@ class InputField(MessageData):
112
112
  if self.max_value is not None:
113
113
  range_info.max = float(self.max_value)
114
114
  proto.model_type_range_info.CopyFrom(range_info)
115
- # proto.is_param = self.is_param
115
+ proto.is_param = self.is_param
116
116
 
117
117
  if self.default is not None:
118
118
  proto = self.set_default(proto, self.default)
@@ -159,7 +159,7 @@ class InputField(MessageData):
159
159
  min_value=min_value,
160
160
  max_value=max_value,
161
161
  choices=choices,
162
- # is_param=proto.is_param
162
+ is_param=proto.is_param
163
163
  )
164
164
 
165
165
  @classmethod
@@ -171,12 +171,13 @@ class InputField(MessageData):
171
171
  if default is not None:
172
172
  proto.default = json.dumps(default)
173
173
  return proto
174
- except json.JSONDecodeError:
174
+ except Exception:
175
175
  if default is not None:
176
176
  proto.default = str(default)
177
177
  return proto
178
178
  except Exception as e:
179
- raise ValueError(f"Error setting default value: {e}")
179
+ raise ValueError(
180
+ f"Error setting default value of type, {type(default)} and value: {default}: {e}")
180
181
 
181
182
  @classmethod
182
183
  def get_default(cls, proto):
@@ -1,7 +1,6 @@
1
1
  import collections.abc as abc
2
2
  import inspect
3
3
  import json
4
- import logging
5
4
  from collections import namedtuple
6
5
  from typing import Dict, List, Tuple, get_args, get_origin
7
6
 
@@ -313,13 +312,6 @@ def deserialize(proto, signatures, inference_params={}, is_output=False):
313
312
  kwargs[sig.name] = serializer.deserialize(part.data)
314
313
  elif inference_params_value is not None:
315
314
  kwargs[sig.name] = inference_params_value
316
- elif sig.default and (sig.required is False) and (not is_output):
317
- try:
318
- kwargs[sig.name] = data_utils.InputField.get_default(sig)
319
- except Exception as e:
320
- # default is not set, so ignore
321
- logging.exception('Default value not set for %s: %s', sig.name, e)
322
- pass
323
315
  else:
324
316
  if sig_i == 0:
325
317
  # possible inlined first value
@@ -0,0 +1,143 @@
1
+ from google.protobuf import struct_pb2, symbol_database, wrappers_pb2
2
+ from google.protobuf.descriptor import FieldDescriptor
3
+ from google.protobuf.message import Message
4
+ from google.protobuf.timestamp_pb2 import Timestamp
5
+
6
+ from clarifai.utils.logging import logger
7
+
8
+ # Initialize the Protobuf symbol database for dynamic message type resolution
9
+ db = symbol_database.Default()
10
+
11
+ # Define standard wrapper types for Protobuf well-known types
12
+ WRAPPER_TYPES = {
13
+ wrappers_pb2.Int32Value,
14
+ wrappers_pb2.Int64Value,
15
+ wrappers_pb2.StringValue,
16
+ wrappers_pb2.UInt32Value,
17
+ wrappers_pb2.UInt64Value,
18
+ }
19
+
20
+
21
+ def dict_to_protobuf(pb_obj: Message, data: dict) -> None:
22
+ """Recursively convert a nested dictionary to a Protobuf message object.
23
+
24
+ Args:
25
+ pb_obj: The target Protobuf message instance to populate.
26
+ data: Source dictionary containing the data to convert.
27
+ """
28
+ for field, value in data.items():
29
+ if field not in pb_obj.DESCRIPTOR.fields_by_name:
30
+ logger.warning(f"Ignoring unknown field '{field}' in message '{pb_obj.DESCRIPTOR.name}'")
31
+ continue
32
+
33
+ field_descriptor = pb_obj.DESCRIPTOR.fields_by_name[field]
34
+
35
+ try:
36
+ # Handle repeated fields (lists)
37
+ if field_descriptor.label == FieldDescriptor.LABEL_REPEATED:
38
+ _handle_repeated_field(pb_obj, field_descriptor, field, value)
39
+
40
+ # Handle message fields (nested messages)
41
+ elif field_descriptor.type == FieldDescriptor.TYPE_MESSAGE:
42
+ _handle_message_field(pb_obj, field_descriptor, field, value)
43
+
44
+ # Handle scalar fields
45
+ else:
46
+ if value:
47
+ setattr(pb_obj, field, value)
48
+
49
+ except Exception as e:
50
+ logger.error(f"Error processing field '{field}': {str(e)}")
51
+ raise
52
+
53
+
54
+ def _handle_repeated_field(pb_obj: Message, field_descriptor: FieldDescriptor, field: str,
55
+ value: list) -> None:
56
+ """Process repeated fields (both scalar and message types)."""
57
+ if not isinstance(value, list):
58
+ logger.warning(f"Expected list for repeated field '{field}', got {type(value).__name__}")
59
+ return
60
+
61
+ repeated_field = getattr(pb_obj, field)
62
+
63
+ # Handle repeated message fields
64
+ if field_descriptor.type == FieldDescriptor.TYPE_MESSAGE:
65
+ for item in value:
66
+ if isinstance(item, dict):
67
+ item_msg = repeated_field.add()
68
+ dict_to_protobuf(item_msg, item)
69
+ elif isinstance(item, Message):
70
+ repeated_field.add().CopyFrom(item)
71
+ else:
72
+ logger.warning(f"Invalid type {type(item).__name__} in repeated message field '{field}'")
73
+ else:
74
+ # Handle repeated scalar fields
75
+ try:
76
+ repeated_field.extend(value)
77
+ except TypeError as e:
78
+ logger.error(f"Type mismatch in repeated scalar field '{field}': {str(e)}")
79
+ raise
80
+
81
+
82
+ def _handle_message_field(pb_obj: Message, field_descriptor: FieldDescriptor, field: str,
83
+ value: object) -> None:
84
+ """Process message-type fields including special types."""
85
+ msg_class = db.GetSymbol(field_descriptor.message_type.full_name)
86
+ target_field = getattr(pb_obj, field)
87
+
88
+ # Handle special message types
89
+ if msg_class is Timestamp:
90
+ _set_timestamp_value(target_field, value)
91
+ elif msg_class is struct_pb2.Struct:
92
+ _set_struct_value(target_field, value)
93
+ elif msg_class in WRAPPER_TYPES:
94
+ _set_wrapper_value(target_field, msg_class, value)
95
+ else:
96
+ # Handle nested messages
97
+ if isinstance(value, dict):
98
+ nested_pb = msg_class()
99
+ dict_to_protobuf(nested_pb, value)
100
+ target_field.CopyFrom(nested_pb)
101
+ elif isinstance(value, Message):
102
+ target_field.CopyFrom(value)
103
+ else:
104
+ logger.warning(f"Invalid type {type(value).__name__} for message field '{field}'")
105
+
106
+
107
+ def _set_timestamp_value(target_field: Message, value: object) -> None:
108
+ """Set timestamp value from dict or numeric timestamp."""
109
+ ts = Timestamp()
110
+ if isinstance(value, dict):
111
+ ts.seconds = value.get('seconds', 0)
112
+ ts.nanos = value.get('nanos', 0)
113
+ elif isinstance(value, (int, float)):
114
+ ts.seconds = int(value)
115
+ ts.nanos = int((value - ts.seconds) * 1e9)
116
+ else:
117
+ logger.warning(f"Unsupported timestamp format: {type(value).__name__}")
118
+ target_field.CopyFrom(ts)
119
+
120
+
121
+ def _set_struct_value(target_field: Message, value: object) -> None:
122
+ """Convert dictionary to Protobuf Struct."""
123
+ if not isinstance(value, dict):
124
+ logger.warning(f"Expected dict for Struct field, got {type(value).__name__}")
125
+ return
126
+
127
+ struct = struct_pb2.Struct()
128
+ try:
129
+ struct.update(value)
130
+ except ValueError as e:
131
+ logger.error(f"Invalid value in Struct: {str(e)}")
132
+ raise
133
+ target_field.CopyFrom(struct)
134
+
135
+
136
+ def _set_wrapper_value(target_field: Message, wrapper_type: type, value: object) -> None:
137
+ """Set value for wrapper types (e.g., Int32Value)."""
138
+ try:
139
+ wrapper = wrapper_type(value=value)
140
+ except TypeError as e:
141
+ logger.error(f"Invalid value for {wrapper_type.__name__}: {str(e)}")
142
+ raise
143
+ target_field.CopyFrom(wrapper)
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: clarifai
3
- Version: 11.2.4rc3
3
+ Version: 11.3.0rc1
4
4
  Summary: Clarifai Python SDK
5
5
  Home-page: https://github.com/Clarifai/clarifai-python
6
6
  Author: Clarifai
@@ -20,7 +20,7 @@ Classifier: Operating System :: OS Independent
20
20
  Requires-Python: >=3.8
21
21
  Description-Content-Type: text/markdown
22
22
  License-File: LICENSE
23
- Requires-Dist: clarifai-grpc>=11.2.6
23
+ Requires-Dist: clarifai-grpc>=11.3.3
24
24
  Requires-Dist: clarifai-protocol>=0.0.22
25
25
  Requires-Dist: numpy>=1.22.0
26
26
  Requires-Dist: tqdm>=4.65.0
@@ -35,6 +35,17 @@ Requires-Dist: requests>=2.32.3
35
35
  Requires-Dist: aiohttp>=3.10.0
36
36
  Provides-Extra: all
37
37
  Requires-Dist: pycocotools==2.0.6; extra == "all"
38
+ Dynamic: author
39
+ Dynamic: author-email
40
+ Dynamic: classifier
41
+ Dynamic: description
42
+ Dynamic: description-content-type
43
+ Dynamic: home-page
44
+ Dynamic: license
45
+ Dynamic: provides-extra
46
+ Dynamic: requires-dist
47
+ Dynamic: requires-python
48
+ Dynamic: summary
38
49
 
39
50
  <h1 align="center">
40
51
  <a href="https://www.clarifai.com/"><img alt="Clarifai" title="Clarifai" src="https://github.com/user-attachments/assets/623b883b-7fe5-4b95-bbfa-8691f5779af4"></a>