clarifai 11.2.3rc1__tar.gz → 11.2.3rc3__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 (335) hide show
  1. {clarifai-11.2.3rc1/clarifai.egg-info → clarifai-11.2.3rc3}/PKG-INFO +14 -3
  2. clarifai-11.2.3rc3/clarifai/__init__.py +1 -0
  3. clarifai-11.2.3rc3/clarifai/__pycache__/__init__.cpython-310.pyc +0 -0
  4. clarifai-11.2.3rc3/clarifai/__pycache__/__init__.cpython-39.pyc +0 -0
  5. clarifai-11.2.3rc3/clarifai/__pycache__/errors.cpython-310.pyc +0 -0
  6. clarifai-11.2.3rc3/clarifai/__pycache__/versions.cpython-310.pyc +0 -0
  7. clarifai-11.2.3rc3/clarifai/cli/__pycache__/__init__.cpython-310.pyc +0 -0
  8. clarifai-11.2.3rc3/clarifai/cli/__pycache__/base.cpython-310.pyc +0 -0
  9. clarifai-11.2.3rc3/clarifai/cli/__pycache__/base_cli.cpython-310.pyc +0 -0
  10. clarifai-11.2.3rc3/clarifai/cli/__pycache__/compute_cluster.cpython-310.pyc +0 -0
  11. clarifai-11.2.3rc3/clarifai/cli/__pycache__/deployment.cpython-310.pyc +0 -0
  12. clarifai-11.2.3rc3/clarifai/cli/__pycache__/model.cpython-310.pyc +0 -0
  13. clarifai-11.2.3rc3/clarifai/cli/__pycache__/model_cli.cpython-310.pyc +0 -0
  14. clarifai-11.2.3rc3/clarifai/cli/__pycache__/nodepool.cpython-310.pyc +0 -0
  15. clarifai-11.2.3rc3/clarifai/cli/base.py +113 -0
  16. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/cli/compute_cluster.py +17 -25
  17. clarifai-11.2.3rc3/clarifai/cli/deployment.py +84 -0
  18. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/cli/model.py +39 -26
  19. clarifai-11.2.3rc3/clarifai/cli/nodepool.py +91 -0
  20. clarifai-11.2.3rc3/clarifai/client/__pycache__/__init__.cpython-310.pyc +0 -0
  21. clarifai-11.2.3rc3/clarifai/client/__pycache__/__init__.cpython-39.pyc +0 -0
  22. clarifai-11.2.3rc3/clarifai/client/__pycache__/app.cpython-310.pyc +0 -0
  23. clarifai-11.2.3rc3/clarifai/client/__pycache__/app.cpython-39.pyc +0 -0
  24. clarifai-11.2.3rc3/clarifai/client/__pycache__/base.cpython-310.pyc +0 -0
  25. clarifai-11.2.3rc3/clarifai/client/__pycache__/compute_cluster.cpython-310.pyc +0 -0
  26. clarifai-11.2.3rc3/clarifai/client/__pycache__/dataset.cpython-310.pyc +0 -0
  27. clarifai-11.2.3rc3/clarifai/client/__pycache__/deployment.cpython-310.pyc +0 -0
  28. clarifai-11.2.3rc3/clarifai/client/__pycache__/input.cpython-310.pyc +0 -0
  29. clarifai-11.2.3rc3/clarifai/client/__pycache__/lister.cpython-310.pyc +0 -0
  30. clarifai-11.2.3rc3/clarifai/client/__pycache__/model.cpython-310.pyc +0 -0
  31. clarifai-11.2.3rc3/clarifai/client/__pycache__/module.cpython-310.pyc +0 -0
  32. clarifai-11.2.3rc3/clarifai/client/__pycache__/nodepool.cpython-310.pyc +0 -0
  33. clarifai-11.2.3rc3/clarifai/client/__pycache__/search.cpython-310.pyc +0 -0
  34. clarifai-11.2.3rc3/clarifai/client/__pycache__/user.cpython-310.pyc +0 -0
  35. clarifai-11.2.3rc3/clarifai/client/__pycache__/workflow.cpython-310.pyc +0 -0
  36. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/client/app.py +1 -1
  37. clarifai-11.2.3rc3/clarifai/client/auth/__pycache__/__init__.cpython-310.pyc +0 -0
  38. clarifai-11.2.3rc3/clarifai/client/auth/__pycache__/helper.cpython-310.pyc +0 -0
  39. clarifai-11.2.3rc3/clarifai/client/auth/__pycache__/register.cpython-310.pyc +0 -0
  40. clarifai-11.2.3rc3/clarifai/client/auth/__pycache__/stub.cpython-310.pyc +0 -0
  41. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/client/model.py +159 -393
  42. clarifai-11.2.3rc3/clarifai/client/model_client.py +502 -0
  43. clarifai-11.2.3rc3/clarifai/constants/__pycache__/base.cpython-310.pyc +0 -0
  44. clarifai-11.2.3rc3/clarifai/constants/__pycache__/dataset.cpython-310.pyc +0 -0
  45. clarifai-11.2.3rc3/clarifai/constants/__pycache__/input.cpython-310.pyc +0 -0
  46. clarifai-11.2.3rc1/clarifai/constants/__pycache__/model.cpython-312.pyc → clarifai-11.2.3rc3/clarifai/constants/__pycache__/model.cpython-310.pyc +0 -0
  47. clarifai-11.2.3rc3/clarifai/constants/__pycache__/rag.cpython-310.pyc +0 -0
  48. clarifai-11.2.3rc3/clarifai/constants/__pycache__/search.cpython-310.pyc +0 -0
  49. clarifai-11.2.3rc3/clarifai/constants/__pycache__/workflow.cpython-310.pyc +0 -0
  50. clarifai-11.2.3rc3/clarifai/datasets/__pycache__/__init__.cpython-310.pyc +0 -0
  51. clarifai-11.2.3rc3/clarifai/datasets/__pycache__/__init__.cpython-39.pyc +0 -0
  52. clarifai-11.2.3rc3/clarifai/datasets/export/__pycache__/__init__.cpython-310.pyc +0 -0
  53. clarifai-11.2.3rc3/clarifai/datasets/export/__pycache__/__init__.cpython-39.pyc +0 -0
  54. clarifai-11.2.3rc3/clarifai/datasets/export/__pycache__/inputs_annotations.cpython-310.pyc +0 -0
  55. clarifai-11.2.3rc3/clarifai/datasets/upload/__pycache__/__init__.cpython-310.pyc +0 -0
  56. clarifai-11.2.3rc3/clarifai/datasets/upload/__pycache__/__init__.cpython-39.pyc +0 -0
  57. clarifai-11.2.3rc3/clarifai/datasets/upload/__pycache__/base.cpython-310.pyc +0 -0
  58. clarifai-11.2.3rc3/clarifai/datasets/upload/__pycache__/features.cpython-310.pyc +0 -0
  59. clarifai-11.2.3rc3/clarifai/datasets/upload/__pycache__/image.cpython-310.pyc +0 -0
  60. clarifai-11.2.3rc3/clarifai/datasets/upload/__pycache__/multimodal.cpython-310.pyc +0 -0
  61. clarifai-11.2.3rc3/clarifai/datasets/upload/__pycache__/text.cpython-310.pyc +0 -0
  62. clarifai-11.2.3rc3/clarifai/datasets/upload/__pycache__/utils.cpython-310.pyc +0 -0
  63. clarifai-11.2.3rc3/clarifai/datasets/upload/loaders/__pycache__/__init__.cpython-39.pyc +0 -0
  64. clarifai-11.2.3rc3/clarifai/models/__pycache__/__init__.cpython-39.pyc +0 -0
  65. clarifai-11.2.3rc3/clarifai/modules/__pycache__/__init__.cpython-39.pyc +0 -0
  66. clarifai-11.2.3rc3/clarifai/rag/__pycache__/__init__.cpython-310.pyc +0 -0
  67. clarifai-11.2.3rc3/clarifai/rag/__pycache__/__init__.cpython-39.pyc +0 -0
  68. clarifai-11.2.3rc3/clarifai/rag/__pycache__/rag.cpython-310.pyc +0 -0
  69. clarifai-11.2.3rc3/clarifai/rag/__pycache__/rag.cpython-39.pyc +0 -0
  70. clarifai-11.2.3rc3/clarifai/rag/__pycache__/utils.cpython-310.pyc +0 -0
  71. clarifai-11.2.3rc3/clarifai/runners/__init__.py +9 -0
  72. clarifai-11.2.3rc3/clarifai/runners/__pycache__/__init__.cpython-310.pyc +0 -0
  73. clarifai-11.2.3rc3/clarifai/runners/__pycache__/__init__.cpython-39.pyc +0 -0
  74. clarifai-11.2.3rc3/clarifai/runners/models/__pycache__/__init__.cpython-310.pyc +0 -0
  75. clarifai-11.2.3rc3/clarifai/runners/models/__pycache__/__init__.cpython-39.pyc +0 -0
  76. clarifai-11.2.3rc3/clarifai/runners/models/__pycache__/base_typed_model.cpython-310.pyc +0 -0
  77. clarifai-11.2.3rc3/clarifai/runners/models/__pycache__/base_typed_model.cpython-39.pyc +0 -0
  78. clarifai-11.2.3rc3/clarifai/runners/models/__pycache__/model_class.cpython-310.pyc +0 -0
  79. clarifai-11.2.3rc3/clarifai/runners/models/__pycache__/model_run_locally.cpython-310-pytest-7.1.2.pyc +0 -0
  80. clarifai-11.2.3rc3/clarifai/runners/models/__pycache__/model_run_locally.cpython-310.pyc +0 -0
  81. clarifai-11.2.3rc3/clarifai/runners/models/__pycache__/model_runner.cpython-310.pyc +0 -0
  82. clarifai-11.2.3rc3/clarifai/runners/models/__pycache__/model_upload.cpython-310.pyc +0 -0
  83. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/runners/models/model_builder.py +138 -51
  84. clarifai-11.2.3rc3/clarifai/runners/models/model_class.py +454 -0
  85. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/runners/models/model_run_locally.py +25 -89
  86. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/runners/models/model_runner.py +8 -0
  87. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/runners/models/model_servicer.py +11 -2
  88. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/__init__.cpython-310.pyc +0 -0
  89. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/__init__.cpython-38.pyc +0 -0
  90. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/__init__.cpython-39.pyc +0 -0
  91. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/buffered_stream.cpython-310.pyc +0 -0
  92. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/buffered_stream.cpython-38.pyc +0 -0
  93. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/buffered_stream.cpython-39.pyc +0 -0
  94. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/const.cpython-310.pyc +0 -0
  95. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/constants.cpython-310.pyc +0 -0
  96. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/constants.cpython-38.pyc +0 -0
  97. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/constants.cpython-39.pyc +0 -0
  98. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/data_handler.cpython-310.pyc +0 -0
  99. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/data_handler.cpython-38.pyc +0 -0
  100. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/data_handler.cpython-39.pyc +0 -0
  101. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/data_utils.cpython-310.pyc +0 -0
  102. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/data_utils.cpython-38.pyc +0 -0
  103. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/data_utils.cpython-39.pyc +0 -0
  104. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/grpc_server.cpython-310.pyc +0 -0
  105. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/grpc_server.cpython-38.pyc +0 -0
  106. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/grpc_server.cpython-39.pyc +0 -0
  107. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/health.cpython-310.pyc +0 -0
  108. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/health.cpython-38.pyc +0 -0
  109. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/health.cpython-39.pyc +0 -0
  110. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/loader.cpython-310.pyc +0 -0
  111. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/logging.cpython-310.pyc +0 -0
  112. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/logging.cpython-38.pyc +0 -0
  113. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/logging.cpython-39.pyc +0 -0
  114. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/stream_source.cpython-310.pyc +0 -0
  115. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/stream_source.cpython-39.pyc +0 -0
  116. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/url_fetcher.cpython-310.pyc +0 -0
  117. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/url_fetcher.cpython-38.pyc +0 -0
  118. clarifai-11.2.3rc3/clarifai/runners/utils/__pycache__/url_fetcher.cpython-39.pyc +0 -0
  119. clarifai-11.2.3rc3/clarifai/runners/utils/code_script.py +217 -0
  120. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/runners/utils/const.py +8 -9
  121. clarifai-11.2.3rc3/clarifai/runners/utils/data_types.py +473 -0
  122. clarifai-11.2.3rc3/clarifai/runners/utils/data_utils.py +180 -0
  123. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/runners/utils/loader.py +6 -36
  124. clarifai-11.2.3rc3/clarifai/runners/utils/method_signatures.py +518 -0
  125. clarifai-11.2.3rc3/clarifai/runners/utils/serializers.py +222 -0
  126. clarifai-11.2.3rc3/clarifai/schema/__pycache__/search.cpython-310.pyc +0 -0
  127. clarifai-11.2.3rc3/clarifai/urls/__pycache__/helper.cpython-310.pyc +0 -0
  128. clarifai-11.2.3rc3/clarifai/utils/__pycache__/__init__.cpython-310.pyc +0 -0
  129. clarifai-11.2.3rc3/clarifai/utils/__pycache__/__init__.cpython-39.pyc +0 -0
  130. clarifai-11.2.3rc3/clarifai/utils/__pycache__/cli.cpython-310.pyc +0 -0
  131. clarifai-11.2.3rc3/clarifai/utils/__pycache__/constants.cpython-310.pyc +0 -0
  132. clarifai-11.2.3rc3/clarifai/utils/__pycache__/logging.cpython-310.pyc +0 -0
  133. clarifai-11.2.3rc3/clarifai/utils/__pycache__/misc.cpython-310.pyc +0 -0
  134. clarifai-11.2.3rc3/clarifai/utils/__pycache__/model_train.cpython-310.pyc +0 -0
  135. clarifai-11.2.3rc3/clarifai/utils/cli.py +70 -0
  136. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/utils/constants.py +0 -4
  137. clarifai-11.2.3rc3/clarifai/utils/evaluation/__pycache__/__init__.cpython-39.pyc +0 -0
  138. clarifai-11.2.3rc3/clarifai/utils/evaluation/__pycache__/main.cpython-39.pyc +0 -0
  139. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/utils/misc.py +0 -2
  140. clarifai-11.2.3rc3/clarifai/workflows/__pycache__/__init__.cpython-310.pyc +0 -0
  141. clarifai-11.2.3rc3/clarifai/workflows/__pycache__/__init__.cpython-39.pyc +0 -0
  142. clarifai-11.2.3rc3/clarifai/workflows/__pycache__/export.cpython-310.pyc +0 -0
  143. clarifai-11.2.3rc3/clarifai/workflows/__pycache__/utils.cpython-310.pyc +0 -0
  144. clarifai-11.2.3rc3/clarifai/workflows/__pycache__/validate.cpython-310.pyc +0 -0
  145. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3/clarifai.egg-info}/PKG-INFO +14 -3
  146. clarifai-11.2.3rc3/clarifai.egg-info/SOURCES.txt +239 -0
  147. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai.egg-info/requires.txt +1 -1
  148. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/requirements.txt +1 -1
  149. clarifai-11.2.3rc1/clarifai/__init__.py +0 -1
  150. clarifai-11.2.3rc1/clarifai/__pycache__/__init__.cpython-312.pyc +0 -0
  151. clarifai-11.2.3rc1/clarifai/__pycache__/errors.cpython-312.pyc +0 -0
  152. clarifai-11.2.3rc1/clarifai/__pycache__/versions.cpython-312.pyc +0 -0
  153. clarifai-11.2.3rc1/clarifai/cli/__pycache__/__init__.cpython-312.pyc +0 -0
  154. clarifai-11.2.3rc1/clarifai/cli/__pycache__/base.cpython-312.pyc +0 -0
  155. clarifai-11.2.3rc1/clarifai/cli/__pycache__/compute_cluster.cpython-312.pyc +0 -0
  156. clarifai-11.2.3rc1/clarifai/cli/__pycache__/deployment.cpython-312.pyc +0 -0
  157. clarifai-11.2.3rc1/clarifai/cli/__pycache__/model.cpython-312.pyc +0 -0
  158. clarifai-11.2.3rc1/clarifai/cli/__pycache__/nodepool.cpython-312.pyc +0 -0
  159. clarifai-11.2.3rc1/clarifai/cli/base.py +0 -260
  160. clarifai-11.2.3rc1/clarifai/cli/deployment.py +0 -110
  161. clarifai-11.2.3rc1/clarifai/cli/nodepool.py +0 -110
  162. clarifai-11.2.3rc1/clarifai/client/__pycache__/__init__.cpython-312.pyc +0 -0
  163. clarifai-11.2.3rc1/clarifai/client/__pycache__/app.cpython-312.pyc +0 -0
  164. clarifai-11.2.3rc1/clarifai/client/__pycache__/base.cpython-312.pyc +0 -0
  165. clarifai-11.2.3rc1/clarifai/client/__pycache__/compute_cluster.cpython-312.pyc +0 -0
  166. clarifai-11.2.3rc1/clarifai/client/__pycache__/dataset.cpython-312.pyc +0 -0
  167. clarifai-11.2.3rc1/clarifai/client/__pycache__/deployment.cpython-312.pyc +0 -0
  168. clarifai-11.2.3rc1/clarifai/client/__pycache__/input.cpython-312.pyc +0 -0
  169. clarifai-11.2.3rc1/clarifai/client/__pycache__/lister.cpython-312.pyc +0 -0
  170. clarifai-11.2.3rc1/clarifai/client/__pycache__/model.cpython-312.pyc +0 -0
  171. clarifai-11.2.3rc1/clarifai/client/__pycache__/model_client.cpython-312.pyc +0 -0
  172. clarifai-11.2.3rc1/clarifai/client/__pycache__/module.cpython-312.pyc +0 -0
  173. clarifai-11.2.3rc1/clarifai/client/__pycache__/nodepool.cpython-312.pyc +0 -0
  174. clarifai-11.2.3rc1/clarifai/client/__pycache__/search.cpython-312.pyc +0 -0
  175. clarifai-11.2.3rc1/clarifai/client/__pycache__/user.cpython-312.pyc +0 -0
  176. clarifai-11.2.3rc1/clarifai/client/__pycache__/workflow.cpython-312.pyc +0 -0
  177. clarifai-11.2.3rc1/clarifai/client/auth/__pycache__/__init__.cpython-312.pyc +0 -0
  178. clarifai-11.2.3rc1/clarifai/client/auth/__pycache__/helper.cpython-312.pyc +0 -0
  179. clarifai-11.2.3rc1/clarifai/client/auth/__pycache__/register.cpython-312.pyc +0 -0
  180. clarifai-11.2.3rc1/clarifai/client/auth/__pycache__/stub.cpython-312.pyc +0 -0
  181. clarifai-11.2.3rc1/clarifai/constants/__pycache__/base.cpython-312.pyc +0 -0
  182. clarifai-11.2.3rc1/clarifai/constants/__pycache__/dataset.cpython-312.pyc +0 -0
  183. clarifai-11.2.3rc1/clarifai/constants/__pycache__/input.cpython-312.pyc +0 -0
  184. clarifai-11.2.3rc1/clarifai/constants/__pycache__/search.cpython-312.pyc +0 -0
  185. clarifai-11.2.3rc1/clarifai/constants/__pycache__/workflow.cpython-312.pyc +0 -0
  186. clarifai-11.2.3rc1/clarifai/datasets/__pycache__/__init__.cpython-312.pyc +0 -0
  187. clarifai-11.2.3rc1/clarifai/datasets/export/__pycache__/__init__.cpython-312.pyc +0 -0
  188. clarifai-11.2.3rc1/clarifai/datasets/export/__pycache__/inputs_annotations.cpython-312.pyc +0 -0
  189. clarifai-11.2.3rc1/clarifai/datasets/upload/__pycache__/__init__.cpython-312.pyc +0 -0
  190. clarifai-11.2.3rc1/clarifai/datasets/upload/__pycache__/base.cpython-312.pyc +0 -0
  191. clarifai-11.2.3rc1/clarifai/datasets/upload/__pycache__/features.cpython-312.pyc +0 -0
  192. clarifai-11.2.3rc1/clarifai/datasets/upload/__pycache__/image.cpython-312.pyc +0 -0
  193. clarifai-11.2.3rc1/clarifai/datasets/upload/__pycache__/multimodal.cpython-312.pyc +0 -0
  194. clarifai-11.2.3rc1/clarifai/datasets/upload/__pycache__/text.cpython-312.pyc +0 -0
  195. clarifai-11.2.3rc1/clarifai/datasets/upload/__pycache__/utils.cpython-312.pyc +0 -0
  196. clarifai-11.2.3rc1/clarifai/datasets/upload/loaders/__pycache__/__init__.cpython-312.pyc +0 -0
  197. clarifai-11.2.3rc1/clarifai/datasets/upload/loaders/__pycache__/coco_detection.cpython-312.pyc +0 -0
  198. clarifai-11.2.3rc1/clarifai/modules/__pycache__/__init__.cpython-312.pyc +0 -0
  199. clarifai-11.2.3rc1/clarifai/modules/__pycache__/css.cpython-312.pyc +0 -0
  200. clarifai-11.2.3rc1/clarifai/runners/__init__.py +0 -14
  201. clarifai-11.2.3rc1/clarifai/runners/__pycache__/__init__.cpython-312.pyc +0 -0
  202. clarifai-11.2.3rc1/clarifai/runners/__pycache__/server.cpython-312.pyc +0 -0
  203. clarifai-11.2.3rc1/clarifai/runners/models/__pycache__/__init__.cpython-312.pyc +0 -0
  204. clarifai-11.2.3rc1/clarifai/runners/models/__pycache__/base_typed_model.cpython-312.pyc +0 -0
  205. clarifai-11.2.3rc1/clarifai/runners/models/__pycache__/model_builder.cpython-312.pyc +0 -0
  206. clarifai-11.2.3rc1/clarifai/runners/models/__pycache__/model_class.cpython-312.pyc +0 -0
  207. clarifai-11.2.3rc1/clarifai/runners/models/__pycache__/model_run_locally.cpython-312.pyc +0 -0
  208. clarifai-11.2.3rc1/clarifai/runners/models/__pycache__/model_runner.cpython-312.pyc +0 -0
  209. clarifai-11.2.3rc1/clarifai/runners/models/__pycache__/model_servicer.cpython-312.pyc +0 -0
  210. clarifai-11.2.3rc1/clarifai/runners/models/base_typed_model.py +0 -238
  211. clarifai-11.2.3rc1/clarifai/runners/models/model_class.py +0 -41
  212. clarifai-11.2.3rc1/clarifai/runners/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  213. clarifai-11.2.3rc1/clarifai/runners/utils/__pycache__/const.cpython-312.pyc +0 -0
  214. clarifai-11.2.3rc1/clarifai/runners/utils/__pycache__/data_handler.cpython-312.pyc +0 -0
  215. clarifai-11.2.3rc1/clarifai/runners/utils/__pycache__/data_types.cpython-312.pyc +0 -0
  216. clarifai-11.2.3rc1/clarifai/runners/utils/__pycache__/data_utils.cpython-312.pyc +0 -0
  217. clarifai-11.2.3rc1/clarifai/runners/utils/__pycache__/loader.cpython-312.pyc +0 -0
  218. clarifai-11.2.3rc1/clarifai/runners/utils/__pycache__/method_signatures.cpython-312.pyc +0 -0
  219. clarifai-11.2.3rc1/clarifai/runners/utils/__pycache__/serializers.cpython-312.pyc +0 -0
  220. clarifai-11.2.3rc1/clarifai/runners/utils/__pycache__/url_fetcher.cpython-312.pyc +0 -0
  221. clarifai-11.2.3rc1/clarifai/runners/utils/data_handler.py +0 -231
  222. clarifai-11.2.3rc1/clarifai/runners/utils/data_utils.py +0 -15
  223. clarifai-11.2.3rc1/clarifai/schema/__pycache__/search.cpython-312.pyc +0 -0
  224. clarifai-11.2.3rc1/clarifai/urls/__pycache__/helper.cpython-312.pyc +0 -0
  225. clarifai-11.2.3rc1/clarifai/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  226. clarifai-11.2.3rc1/clarifai/utils/__pycache__/cli.cpython-312.pyc +0 -0
  227. clarifai-11.2.3rc1/clarifai/utils/__pycache__/config.cpython-312.pyc +0 -0
  228. clarifai-11.2.3rc1/clarifai/utils/__pycache__/constants.cpython-312.pyc +0 -0
  229. clarifai-11.2.3rc1/clarifai/utils/__pycache__/logging.cpython-312.pyc +0 -0
  230. clarifai-11.2.3rc1/clarifai/utils/__pycache__/misc.cpython-312.pyc +0 -0
  231. clarifai-11.2.3rc1/clarifai/utils/__pycache__/model_train.cpython-312.pyc +0 -0
  232. clarifai-11.2.3rc1/clarifai/utils/cli.py +0 -169
  233. clarifai-11.2.3rc1/clarifai/utils/config.py +0 -105
  234. clarifai-11.2.3rc1/clarifai/utils/config.py~ +0 -145
  235. clarifai-11.2.3rc1/clarifai/utils/evaluation/__pycache__/__init__.cpython-312.pyc +0 -0
  236. clarifai-11.2.3rc1/clarifai/utils/evaluation/__pycache__/helpers.cpython-312.pyc +0 -0
  237. clarifai-11.2.3rc1/clarifai/utils/evaluation/__pycache__/main.cpython-312.pyc +0 -0
  238. clarifai-11.2.3rc1/clarifai/workflows/__pycache__/__init__.cpython-312.pyc +0 -0
  239. clarifai-11.2.3rc1/clarifai/workflows/__pycache__/export.cpython-312.pyc +0 -0
  240. clarifai-11.2.3rc1/clarifai/workflows/__pycache__/utils.cpython-312.pyc +0 -0
  241. clarifai-11.2.3rc1/clarifai/workflows/__pycache__/validate.cpython-312.pyc +0 -0
  242. clarifai-11.2.3rc1/clarifai.egg-info/SOURCES.txt +0 -202
  243. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/LICENSE +0 -0
  244. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/MANIFEST.in +0 -0
  245. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/README.md +0 -0
  246. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/cli/README.md +0 -0
  247. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/cli/__init__.py +0 -0
  248. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/cli/__main__.py +0 -0
  249. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/cli.py +0 -0
  250. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/client/__init__.py +0 -0
  251. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/client/auth/__init__.py +0 -0
  252. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/client/auth/helper.py +0 -0
  253. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/client/auth/register.py +0 -0
  254. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/client/auth/stub.py +0 -0
  255. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/client/base.py +0 -0
  256. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/client/compute_cluster.py +0 -0
  257. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/client/dataset.py +0 -0
  258. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/client/deployment.py +0 -0
  259. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/client/input.py +0 -0
  260. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/client/lister.py +0 -0
  261. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/client/module.py +0 -0
  262. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/client/nodepool.py +0 -0
  263. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/client/search.py +0 -0
  264. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/client/user.py +0 -0
  265. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/client/workflow.py +0 -0
  266. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/constants/base.py +0 -0
  267. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/constants/dataset.py +0 -0
  268. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/constants/input.py +0 -0
  269. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/constants/model.py +0 -0
  270. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/constants/rag.py +0 -0
  271. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/constants/search.py +0 -0
  272. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/constants/workflow.py +0 -0
  273. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/datasets/__init__.py +0 -0
  274. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/datasets/export/__init__.py +0 -0
  275. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/datasets/export/inputs_annotations.py +0 -0
  276. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/datasets/upload/__init__.py +0 -0
  277. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/datasets/upload/base.py +0 -0
  278. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/datasets/upload/features.py +0 -0
  279. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/datasets/upload/image.py +0 -0
  280. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/datasets/upload/loaders/README.md +0 -0
  281. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/datasets/upload/loaders/__init__.py +0 -0
  282. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/datasets/upload/loaders/coco_captions.py +0 -0
  283. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/datasets/upload/loaders/coco_detection.py +0 -0
  284. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/datasets/upload/loaders/imagenet_classification.py +0 -0
  285. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/datasets/upload/loaders/xview_detection.py +0 -0
  286. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/datasets/upload/multimodal.py +0 -0
  287. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/datasets/upload/text.py +0 -0
  288. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/datasets/upload/utils.py +0 -0
  289. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/errors.py +0 -0
  290. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/models/__init__.py +0 -0
  291. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/models/api.py +0 -0
  292. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/modules/README.md +0 -0
  293. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/modules/__init__.py +0 -0
  294. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/modules/css.py +0 -0
  295. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/modules/pages.py +0 -0
  296. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/modules/style.css +0 -0
  297. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/rag/__init__.py +0 -0
  298. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/rag/rag.py +0 -0
  299. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/rag/utils.py +0 -0
  300. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/runners/dockerfile_template/Dockerfile.template +0 -0
  301. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/runners/models/__init__.py +0 -0
  302. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/runners/server.py +0 -0
  303. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/runners/utils/__init__.py +0 -0
  304. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/runners/utils/url_fetcher.py +0 -0
  305. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/schema/search.py +0 -0
  306. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/urls/helper.py +0 -0
  307. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/utils/__init__.py +0 -0
  308. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/utils/evaluation/__init__.py +0 -0
  309. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/utils/evaluation/helpers.py +0 -0
  310. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/utils/evaluation/main.py +0 -0
  311. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/utils/evaluation/testset_annotation_parser.py +0 -0
  312. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/utils/logging.py +0 -0
  313. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/utils/model_train.py +0 -0
  314. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/versions.py +0 -0
  315. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/workflows/__init__.py +0 -0
  316. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/workflows/export.py +0 -0
  317. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/workflows/utils.py +0 -0
  318. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai/workflows/validate.py +0 -0
  319. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai.egg-info/dependency_links.txt +0 -0
  320. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai.egg-info/entry_points.txt +0 -0
  321. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/clarifai.egg-info/top_level.txt +0 -0
  322. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/pyproject.toml +0 -0
  323. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/setup.cfg +0 -0
  324. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/setup.py +0 -0
  325. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/tests/test_app.py +0 -0
  326. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/tests/test_auth.py +0 -0
  327. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/tests/test_data_upload.py +0 -0
  328. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/tests/test_eval.py +0 -0
  329. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/tests/test_misc.py +0 -0
  330. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/tests/test_model_predict.py +0 -0
  331. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/tests/test_model_train.py +0 -0
  332. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/tests/test_modules.py +0 -0
  333. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/tests/test_rag.py +0 -0
  334. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/tests/test_search.py +0 -0
  335. {clarifai-11.2.3rc1 → clarifai-11.2.3rc3}/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.3rc1
3
+ Version: 11.2.3rc3
4
4
  Summary: Clarifai Python SDK
5
5
  Home-page: https://github.com/Clarifai/clarifai-python
6
6
  Author: Clarifai
@@ -21,7 +21,7 @@ Requires-Python: >=3.8
21
21
  Description-Content-Type: text/markdown
22
22
  License-File: LICENSE
23
23
  Requires-Dist: clarifai-grpc>=11.2.6
24
- Requires-Dist: clarifai-protocol>=0.0.21
24
+ Requires-Dist: clarifai-protocol>=0.0.22
25
25
  Requires-Dist: numpy>=1.22.0
26
26
  Requires-Dist: tqdm>=4.65.0
27
27
  Requires-Dist: rich>=13.4.2
@@ -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.2.3rc3"
@@ -0,0 +1,113 @@
1
+ import os
2
+
3
+ import click
4
+
5
+ from ..utils.cli import dump_yaml, from_yaml, load_command_modules, set_base_url
6
+
7
+
8
+ class CustomMultiGroup(click.Group):
9
+
10
+ def group(self, *args, **kwargs):
11
+ """Behaves the same as `click.Group.group()` except if passed
12
+ a list of names, all after the first will be aliases for the first.
13
+ """
14
+
15
+ def decorator(f):
16
+ aliased_group = []
17
+ if isinstance(args[0], list):
18
+ # we have a list so create group aliases
19
+ _args = [args[0][0]] + list(args[1:])
20
+ for alias in args[0][1:]:
21
+ grp = super(CustomMultiGroup, self).group(alias, *args[1:], **kwargs)(f)
22
+ grp.short_help = "Alias for '{}'".format(_args[0])
23
+ aliased_group.append(grp)
24
+ else:
25
+ _args = args
26
+
27
+ # create the main group
28
+ grp = super(CustomMultiGroup, self).group(*_args, **kwargs)(f)
29
+
30
+ # for all of the aliased groups, share the main group commands
31
+ for aliased in aliased_group:
32
+ aliased.commands = grp.commands
33
+
34
+ return grp
35
+
36
+ return decorator
37
+
38
+
39
+ @click.group(cls=CustomMultiGroup)
40
+ @click.pass_context
41
+ def cli(ctx):
42
+ """Clarifai CLI"""
43
+ ctx.ensure_object(dict)
44
+ config_path = 'config.yaml'
45
+ if os.path.exists(config_path):
46
+ ctx.obj = from_yaml(config_path)
47
+ else:
48
+ ctx.obj = {}
49
+
50
+
51
+ @cli.command()
52
+ @click.option('--config', type=click.Path(), required=False, help='Path to the config file')
53
+ @click.option(
54
+ '-e',
55
+ '--env',
56
+ required=False,
57
+ help='Environment to use, choose from prod, staging and dev',
58
+ type=click.Choice(['prod', 'staging', 'dev']))
59
+ @click.option('--user_id', required=False, help='User ID')
60
+ @click.pass_context
61
+ def login(ctx, config, env, user_id):
62
+ """Login command to set PAT and other configurations."""
63
+
64
+ if config and os.path.exists(config):
65
+ ctx.obj = from_yaml(config)
66
+
67
+ if 'pat' in ctx.obj:
68
+ os.environ["CLARIFAI_PAT"] = ctx.obj['pat']
69
+ click.echo("Loaded PAT from config file.")
70
+ elif 'CLARIFAI_PAT' in os.environ:
71
+ ctx.obj['pat'] = os.environ["CLARIFAI_PAT"]
72
+ click.echo("Loaded PAT from environment variable.")
73
+ else:
74
+ _pat = click.prompt(
75
+ "Get your PAT from https://clarifai.com/settings/security and pass it here", type=str)
76
+ os.environ["CLARIFAI_PAT"] = _pat
77
+ ctx.obj['pat'] = _pat
78
+ click.echo("PAT saved successfully.")
79
+
80
+ if user_id:
81
+ ctx.obj['user_id'] = user_id
82
+ os.environ["CLARIFAI_USER_ID"] = ctx.obj['user_id']
83
+ elif 'user_id' in ctx.obj:
84
+ ctx.obj['user_id'] = ctx.obj.get('user_id', "")
85
+ os.environ["CLARIFAI_USER_ID"] = ctx.obj['user_id']
86
+ elif 'CLARIFAI_USER_ID' in os.environ:
87
+ ctx.obj['user_id'] = os.environ["CLARIFAI_USER_ID"]
88
+ else:
89
+ user_id = click.prompt("Pass the User ID here", type=str)
90
+ os.environ["CLARIFAI_USER_ID"] = user_id
91
+ ctx.obj['user_id'] = user_id
92
+ click.echo("User ID saved successfully.")
93
+
94
+ if env:
95
+ ctx.obj['env'] = env
96
+ ctx.obj['base_url'] = set_base_url(env)
97
+ os.environ["CLARIFAI_API_BASE"] = ctx.obj['base_url']
98
+ elif 'env' in ctx.obj:
99
+ ctx.obj['env'] = ctx.obj.get('env', "prod")
100
+ ctx.obj['base_url'] = set_base_url(ctx.obj['env'])
101
+ os.environ["CLARIFAI_API_BASE"] = ctx.obj['base_url']
102
+ elif 'CLARIFAI_API_BASE' in os.environ:
103
+ ctx.obj['base_url'] = os.environ["CLARIFAI_API_BASE"]
104
+
105
+ dump_yaml(ctx.obj, 'config.yaml')
106
+
107
+
108
+ # Import the CLI commands to register them
109
+ load_command_modules()
110
+
111
+
112
+ def main():
113
+ cli()
@@ -1,59 +1,51 @@
1
1
  import click
2
-
3
2
  from clarifai.cli.base import cli
4
3
  from clarifai.client.user import User
5
- from clarifai.utils.cli import AliasedGroup, display_co_resources, validate_context
4
+ from clarifai.utils.cli import display_co_resources
6
5
 
7
6
 
8
- @cli.group(['computecluster', 'cc'], cls=AliasedGroup)
7
+ @cli.group(['computecluster', 'cc'])
9
8
  def computecluster():
10
9
  """Manage Compute Clusters: create, delete, list"""
10
+ pass
11
11
 
12
12
 
13
- @computecluster.command(['c'])
14
- @click.argument('compute_cluster_id')
13
+ @computecluster.command()
15
14
  @click.option(
16
15
  '--config',
17
16
  type=click.Path(exists=True),
18
17
  required=True,
19
18
  help='Path to the compute cluster config file.')
19
+ @click.option(
20
+ '-cc_id',
21
+ '--compute_cluster_id',
22
+ required=False,
23
+ help='New Compute Cluster ID for the compute cluster to create.')
20
24
  @click.pass_context
21
- def create(ctx, compute_cluster_id, config):
25
+ def create(ctx, config, compute_cluster_id):
22
26
  """Create a new Compute Cluster with the given config file."""
23
- validate_context(ctx)
24
- user = User(
25
- user_id=ctx.obj.current.user_id, pat=ctx.obj.current.pat, base_url=ctx.obj.current.api_base)
27
+ user = User(user_id=ctx.obj['user_id'], pat=ctx.obj['pat'], base_url=ctx.obj['base_url'])
26
28
  if compute_cluster_id:
27
29
  user.create_compute_cluster(config, compute_cluster_id=compute_cluster_id)
28
30
  else:
29
31
  user.create_compute_cluster(config)
30
32
 
31
33
 
32
- @computecluster.command(['ls'])
34
+ @computecluster.command()
33
35
  @click.option('--page_no', required=False, help='Page number to list.', default=1)
34
36
  @click.option('--per_page', required=False, help='Number of items per page.', default=16)
35
37
  @click.pass_context
36
38
  def list(ctx, page_no, per_page):
37
39
  """List all compute clusters for the user."""
38
- validate_context(ctx)
39
- user = User(
40
- user_id=ctx.obj.current.user_id, pat=ctx.obj.current.pat, base_url=ctx.obj.current.api_base)
40
+ user = User(user_id=ctx.obj['user_id'], pat=ctx.obj['pat'], base_url=ctx.obj['base_url'])
41
41
  response = user.list_compute_clusters(page_no, per_page)
42
- display_co_resources(
43
- response,
44
- custom_columns={
45
- 'ID': lambda c: c.id,
46
- 'USER_ID': lambda c: c.user_id,
47
- 'DESCRIPTION': lambda c: c.description,
48
- })
42
+ display_co_resources(response, "Compute Cluster")
49
43
 
50
44
 
51
- @computecluster.command(['rm'])
52
- @click.argument('compute_cluster_id')
45
+ @computecluster.command()
46
+ @click.option('-cc_id', '--compute_cluster_id', help='Compute Cluster ID of the user to delete.')
53
47
  @click.pass_context
54
48
  def delete(ctx, compute_cluster_id):
55
49
  """Deletes a compute cluster for the user."""
56
- validate_context(ctx)
57
- user = User(
58
- user_id=ctx.obj.current.user_id, pat=ctx.obj.current.pat, base_url=ctx.obj.current.api_base)
50
+ user = User(user_id=ctx.obj['user_id'], pat=ctx.obj['pat'], base_url=ctx.obj['base_url'])
59
51
  user.delete_compute_clusters([compute_cluster_id])
@@ -0,0 +1,84 @@
1
+ import click
2
+ from clarifai.cli.base import cli
3
+ from clarifai.client.nodepool import Nodepool
4
+ from clarifai.utils.cli import display_co_resources, from_yaml
5
+
6
+
7
+ @cli.group(['deployment', 'dpl'])
8
+ def deployment():
9
+ """Manage Deployments: create, delete, list"""
10
+ pass
11
+
12
+
13
+ @deployment.command()
14
+ @click.option(
15
+ '-np_id',
16
+ '--nodepool_id',
17
+ required=False,
18
+ help='Nodepool ID for the Nodepool to interact with.')
19
+ @click.option(
20
+ '--config',
21
+ type=click.Path(exists=True),
22
+ required=True,
23
+ help='Path to the deployment config file.')
24
+ @click.option(
25
+ '-dpl_id',
26
+ '--deployment_id',
27
+ required=False,
28
+ help='New deployment ID for the deployment to create.')
29
+ @click.pass_context
30
+ def create(ctx, nodepool_id, config, deployment_id):
31
+ """Create a new Deployment with the given config file."""
32
+ if not nodepool_id:
33
+ deployment_config = from_yaml(config)
34
+ nodepool_id = deployment_config['deployment']['nodepools'][0]['id']
35
+
36
+ nodepool = Nodepool(
37
+ nodepool_id=nodepool_id,
38
+ user_id=ctx.obj['user_id'],
39
+ pat=ctx.obj['pat'],
40
+ base_url=ctx.obj['base_url'])
41
+ if deployment_id:
42
+ nodepool.create_deployment(config, deployment_id=deployment_id)
43
+ else:
44
+ nodepool.create_deployment(config)
45
+
46
+
47
+ @deployment.command()
48
+ @click.option(
49
+ '-np_id',
50
+ '--nodepool_id',
51
+ required=True,
52
+ help='Nodepool ID for the Nodepool to interact with.')
53
+ @click.option('--page_no', required=False, help='Page number to list.', default=1)
54
+ @click.option('--per_page', required=False, help='Number of items per page.', default=16)
55
+ @click.pass_context
56
+ def list(ctx, nodepool_id, page_no, per_page):
57
+ """List all deployments for the nodepool."""
58
+
59
+ nodepool = Nodepool(
60
+ nodepool_id=nodepool_id,
61
+ user_id=ctx.obj['user_id'],
62
+ pat=ctx.obj['pat'],
63
+ base_url=ctx.obj['base_url'])
64
+ response = nodepool.list_deployments(page_no=page_no, per_page=per_page)
65
+ display_co_resources(response, "Deployment")
66
+
67
+
68
+ @deployment.command()
69
+ @click.option(
70
+ '-np_id',
71
+ '--nodepool_id',
72
+ required=True,
73
+ help='Nodepool ID for the Nodepool to interact with.')
74
+ @click.option('-dpl_id', '--deployment_id', help='Deployment ID of the nodepool to delete.')
75
+ @click.pass_context
76
+ def delete(ctx, nodepool_id, deployment_id):
77
+ """Deletes a deployment for the nodepool."""
78
+
79
+ nodepool = Nodepool(
80
+ nodepool_id=nodepool_id,
81
+ user_id=ctx.obj['user_id'],
82
+ pat=ctx.obj['pat'],
83
+ base_url=ctx.obj['base_url'])
84
+ nodepool.delete_deployments([deployment_id])
@@ -5,7 +5,7 @@ from clarifai.cli.base import cli
5
5
 
6
6
  @cli.group(['model'])
7
7
  def model():
8
- """Manage models: upload, test, local dev, predict, etc"""
8
+ """Manage models: upload, test locally, run locally, predict, and more"""
9
9
 
10
10
 
11
11
  @model.command()
@@ -76,6 +76,31 @@ def download_checkpoints(model_path, out_path, stage):
76
76
  required=False,
77
77
  default=".",
78
78
  )
79
+ @click.option(
80
+ '--out_path',
81
+ type=click.Path(exists=False),
82
+ required=False,
83
+ default=None,
84
+ help='Path to write the method signature defitions to. If not provided, use stdout.')
85
+ def signatures(model_path, out_path):
86
+ """Generate method signatures for the model."""
87
+
88
+ from clarifai.runners.models.model_builder import ModelBuilder
89
+ builder = ModelBuilder(model_path, download_validation_only=True)
90
+ signatures = builder.method_signatures_yaml()
91
+ if out_path:
92
+ with open(out_path, 'w') as f:
93
+ f.write(signatures)
94
+ else:
95
+ click.echo(signatures)
96
+
97
+
98
+ @model.command()
99
+ @click.option(
100
+ '--model_path',
101
+ type=click.Path(exists=True),
102
+ required=True,
103
+ help='Path to the model directory.')
79
104
  @click.option(
80
105
  '--mode',
81
106
  type=click.Choice(['env', 'container'], case_sensitive=False),
@@ -96,14 +121,11 @@ def download_checkpoints(model_path, out_path, stage):
96
121
  help=
97
122
  'Keep the Docker image after testing the model locally (applicable for container mode). Defaults to False.'
98
123
  )
99
- @click.option(
100
- '--skip_dockerfile',
101
- is_flag=True,
102
- help=
103
- 'Flag to skip generating a dockerfile so that you can manually edit an already created dockerfile. Apply for `--mode conatainer`.',
104
- )
105
- def test_locally(model_path, keep_env=False, keep_image=False, mode='env', skip_dockerfile=False):
106
- """Test model locally."""
124
+ def test_locally(model_path, keep_env=False, keep_image=False, mode='env'):
125
+ """Test model locally.
126
+
127
+ MODEL_PATH: Path to the model directory. If not specified, the current directory is used by default.
128
+ """
107
129
  try:
108
130
  from clarifai.runners.models import model_run_locally
109
131
  if mode == 'env' and keep_image:
@@ -117,11 +139,7 @@ def test_locally(model_path, keep_env=False, keep_image=False, mode='env', skip_
117
139
  elif mode == "container":
118
140
  click.echo("Testing model locally inside a container...")
119
141
  model_run_locally.main(
120
- model_path,
121
- inside_container=True,
122
- run_model_server=False,
123
- keep_image=keep_image,
124
- skip_dockerfile=skip_dockerfile)
142
+ model_path, inside_container=True, run_model_server=False, keep_image=keep_image)
125
143
  click.echo("Model tested successfully.")
126
144
  except Exception as e:
127
145
  click.echo(f"Failed to test model locally: {e}", err=True)
@@ -161,14 +179,11 @@ def test_locally(model_path, keep_env=False, keep_image=False, mode='env', skip_
161
179
  help=
162
180
  'Keep the Docker image after testing the model locally (applicable for container mode). Defaults to False.'
163
181
  )
164
- @click.option(
165
- '--skip_dockerfile',
166
- is_flag=True,
167
- help=
168
- 'Flag to skip generating a dockerfile so that you can manually edit an already created dockerfile. Apply for `--mode conatainer`.',
169
- )
170
- def run_locally(model_path, port, mode, keep_env, keep_image, skip_dockerfile=False):
171
- """Run the model locally and start a gRPC server to serve the model."""
182
+ def run_locally(model_path, port, mode, keep_env, keep_image):
183
+ """Run the model locally and start a gRPC server to serve the model.
184
+
185
+ MODEL_PATH: Path to the model directory. If not specified, the current directory is used by default.
186
+ """
172
187
  try:
173
188
  from clarifai.runners.models import model_run_locally
174
189
  if mode == 'env' and keep_image:
@@ -186,8 +201,7 @@ def run_locally(model_path, port, mode, keep_env, keep_image, skip_dockerfile=Fa
186
201
  inside_container=True,
187
202
  run_model_server=True,
188
203
  port=port,
189
- keep_image=keep_image,
190
- skip_dockerfile=skip_dockerfile)
204
+ keep_image=keep_image)
191
205
  click.echo(f"Model server started locally from {model_path} in {mode} mode.")
192
206
  except Exception as e:
193
207
  click.echo(f"Failed to starts model server locally: {e}", err=True)
@@ -241,8 +255,7 @@ def predict(ctx, config, model_id, user_id, app_id, model_url, file_path, url, b
241
255
  import json
242
256
 
243
257
  from clarifai.client.model import Model
244
- from clarifai.utils.cli import from_yaml, validate_context
245
- validate_context(ctx)
258
+ from clarifai.utils.cli import from_yaml
246
259
  if config:
247
260
  config = from_yaml(config)
248
261
  model_id, user_id, app_id, model_url, file_path, url, bytes, input_type, compute_cluster_id, nodepool_id, deployment_id, inference_params, output_config = (
@@ -0,0 +1,91 @@
1
+ import click
2
+ from clarifai.cli.base import cli
3
+ from clarifai.client.compute_cluster import ComputeCluster
4
+ from clarifai.utils.cli import display_co_resources, dump_yaml, from_yaml
5
+
6
+
7
+ @cli.group(['nodepool', 'np'])
8
+ def nodepool():
9
+ """Manage Nodepools: create, delete, list"""
10
+ pass
11
+
12
+
13
+ @nodepool.command()
14
+ @click.option(
15
+ '-cc_id',
16
+ '--compute_cluster_id',
17
+ required=False,
18
+ help='Compute Cluster ID for the compute cluster to interact with.')
19
+ @click.option(
20
+ '--config',
21
+ type=click.Path(exists=True),
22
+ required=True,
23
+ help='Path to the nodepool config file.')
24
+ @click.option(
25
+ '-np_id', '--nodepool_id', required=False, help='New Nodepool ID for the nodepool to create.')
26
+ @click.pass_context
27
+ def create(ctx, compute_cluster_id, config, nodepool_id):
28
+ """Create a new Nodepool with the given config file."""
29
+
30
+ nodepool_config = from_yaml(config)
31
+ if not compute_cluster_id:
32
+ if 'compute_cluster' not in nodepool_config['nodepool']:
33
+ click.echo(
34
+ "Please provide a compute cluster ID either in the config file or using --compute_cluster_id flag",
35
+ err=True)
36
+ return
37
+ compute_cluster_id = nodepool_config['nodepool']['compute_cluster']['id']
38
+ else:
39
+ if 'compute_cluster' not in nodepool_config['nodepool']:
40
+ nodepool_config['nodepool']['compute_cluster']['id'] = compute_cluster_id
41
+ dump_yaml(config, nodepool_config)
42
+
43
+ compute_cluster = ComputeCluster(
44
+ compute_cluster_id=compute_cluster_id,
45
+ user_id=ctx.obj['user_id'],
46
+ pat=ctx.obj['pat'],
47
+ base_url=ctx.obj['base_url'])
48
+ if nodepool_id:
49
+ compute_cluster.create_nodepool(config, nodepool_id=nodepool_id)
50
+ else:
51
+ compute_cluster.create_nodepool(config)
52
+
53
+
54
+ @nodepool.command()
55
+ @click.option(
56
+ '-cc_id',
57
+ '--compute_cluster_id',
58
+ required=True,
59
+ help='Compute Cluster ID for the compute cluster to interact with.')
60
+ @click.option('--page_no', required=False, help='Page number to list.', default=1)
61
+ @click.option('--per_page', required=False, help='Number of items per page.', default=16)
62
+ @click.pass_context
63
+ def list(ctx, compute_cluster_id, page_no, per_page):
64
+ """List all nodepools for the user."""
65
+
66
+ compute_cluster = ComputeCluster(
67
+ compute_cluster_id=compute_cluster_id,
68
+ user_id=ctx.obj['user_id'],
69
+ pat=ctx.obj['pat'],
70
+ base_url=ctx.obj['base_url'])
71
+ response = compute_cluster.list_nodepools(page_no, per_page)
72
+ display_co_resources(response, "Nodepool")
73
+
74
+
75
+ @nodepool.command()
76
+ @click.option(
77
+ '-cc_id',
78
+ '--compute_cluster_id',
79
+ required=True,
80
+ help='Compute Cluster ID for the compute cluster to interact with.')
81
+ @click.option('-np_id', '--nodepool_id', help='Nodepool ID of the user to delete.')
82
+ @click.pass_context
83
+ def delete(ctx, compute_cluster_id, nodepool_id):
84
+ """Deletes a nodepool for the user."""
85
+
86
+ compute_cluster = ComputeCluster(
87
+ compute_cluster_id=compute_cluster_id,
88
+ user_id=ctx.obj['user_id'],
89
+ pat=ctx.obj['pat'],
90
+ base_url=ctx.obj['base_url'])
91
+ compute_cluster.delete_nodepools([nodepool_id])
@@ -629,7 +629,7 @@ class App(Lister, BaseClient):
629
629
 
630
630
  Args:
631
631
  model_id (str): The model ID for the model to interact with.
632
- model_version (Dict): The model version ID for the model version to interact with.
632
+ model_version_id (str): The model version ID for the model version to interact with.
633
633
 
634
634
  Returns:
635
635
  Model: A Model object for the existing model ID.