clarifai 11.8.0__tar.gz → 11.8.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. {clarifai-11.8.0/clarifai.egg-info → clarifai-11.8.1}/PKG-INFO +1 -1
  2. clarifai-11.8.1/clarifai/__init__.py +1 -0
  3. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/models/model_runner.py +21 -24
  4. {clarifai-11.8.0 → clarifai-11.8.1/clarifai.egg-info}/PKG-INFO +1 -1
  5. clarifai-11.8.0/clarifai/__init__.py +0 -1
  6. {clarifai-11.8.0 → clarifai-11.8.1}/LICENSE +0 -0
  7. {clarifai-11.8.0 → clarifai-11.8.1}/MANIFEST.in +0 -0
  8. {clarifai-11.8.0 → clarifai-11.8.1}/README.md +0 -0
  9. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/cli/README.md +0 -0
  10. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/cli/__init__.py +0 -0
  11. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/cli/__main__.py +0 -0
  12. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/cli/base.py +0 -0
  13. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/cli/compute_cluster.py +0 -0
  14. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/cli/deployment.py +0 -0
  15. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/cli/model.py +0 -0
  16. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/cli/nodepool.py +0 -0
  17. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/cli/pipeline.py +0 -0
  18. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/cli/pipeline_step.py +0 -0
  19. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/cli/templates/__init__.py +0 -0
  20. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/cli/templates/model_templates.py +0 -0
  21. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/cli/templates/pipeline_step_templates.py +0 -0
  22. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/cli/templates/pipeline_templates.py +0 -0
  23. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/cli.py +0 -0
  24. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/__init__.py +0 -0
  25. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/app.py +0 -0
  26. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/auth/__init__.py +0 -0
  27. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/auth/helper.py +0 -0
  28. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/auth/register.py +0 -0
  29. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/auth/stub.py +0 -0
  30. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/base.py +0 -0
  31. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/compute_cluster.py +0 -0
  32. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/dataset.py +0 -0
  33. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/deployment.py +0 -0
  34. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/input.py +0 -0
  35. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/lister.py +0 -0
  36. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/model.py +0 -0
  37. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/model_client.py +0 -0
  38. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/module.py +0 -0
  39. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/nodepool.py +0 -0
  40. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/pipeline.py +0 -0
  41. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/pipeline_step.py +0 -0
  42. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/runner.py +0 -0
  43. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/search.py +0 -0
  44. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/user.py +0 -0
  45. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/client/workflow.py +0 -0
  46. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/constants/base.py +0 -0
  47. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/constants/dataset.py +0 -0
  48. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/constants/input.py +0 -0
  49. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/constants/model.py +0 -0
  50. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/constants/rag.py +0 -0
  51. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/constants/search.py +0 -0
  52. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/constants/workflow.py +0 -0
  53. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/datasets/__init__.py +0 -0
  54. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/datasets/export/__init__.py +0 -0
  55. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/datasets/export/inputs_annotations.py +0 -0
  56. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/datasets/upload/__init__.py +0 -0
  57. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/datasets/upload/base.py +0 -0
  58. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/datasets/upload/features.py +0 -0
  59. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/datasets/upload/image.py +0 -0
  60. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/datasets/upload/loaders/README.md +0 -0
  61. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/datasets/upload/loaders/__init__.py +0 -0
  62. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/datasets/upload/loaders/coco_captions.py +0 -0
  63. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/datasets/upload/loaders/coco_detection.py +0 -0
  64. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/datasets/upload/loaders/imagenet_classification.py +0 -0
  65. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/datasets/upload/loaders/xview_detection.py +0 -0
  66. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/datasets/upload/multimodal.py +0 -0
  67. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/datasets/upload/text.py +0 -0
  68. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/datasets/upload/utils.py +0 -0
  69. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/errors.py +0 -0
  70. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/models/__init__.py +0 -0
  71. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/models/api.py +0 -0
  72. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/modules/README.md +0 -0
  73. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/modules/__init__.py +0 -0
  74. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/modules/css.py +0 -0
  75. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/modules/pages.py +0 -0
  76. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/modules/style.css +0 -0
  77. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/rag/__init__.py +0 -0
  78. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/rag/rag.py +0 -0
  79. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/rag/utils.py +0 -0
  80. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/__init__.py +0 -0
  81. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/dockerfile_template/Dockerfile.template +0 -0
  82. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/models/__init__.py +0 -0
  83. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/models/dummy_openai_model.py +0 -0
  84. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/models/mcp_class.py +0 -0
  85. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/models/model_builder.py +0 -0
  86. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/models/model_class.py +0 -0
  87. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/models/model_run_locally.py +0 -0
  88. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/models/model_servicer.py +0 -0
  89. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/models/openai_class.py +0 -0
  90. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/models/visual_classifier_class.py +0 -0
  91. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/models/visual_detector_class.py +0 -0
  92. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/pipeline_steps/__init__.py +0 -0
  93. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/pipeline_steps/pipeline_step_builder.py +0 -0
  94. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/pipelines/__init__.py +0 -0
  95. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/pipelines/pipeline_builder.py +0 -0
  96. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/server.py +0 -0
  97. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/utils/__init__.py +0 -0
  98. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/utils/code_script.py +0 -0
  99. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/utils/const.py +0 -0
  100. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/utils/data_types/__init__.py +0 -0
  101. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/utils/data_types/data_types.py +0 -0
  102. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/utils/data_utils.py +0 -0
  103. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/utils/loader.py +0 -0
  104. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/utils/method_signatures.py +0 -0
  105. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/utils/model_utils.py +0 -0
  106. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/utils/openai_convertor.py +0 -0
  107. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/utils/pipeline_validation.py +0 -0
  108. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/utils/serializers.py +0 -0
  109. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/runners/utils/url_fetcher.py +0 -0
  110. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/schema/search.py +0 -0
  111. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/urls/helper.py +0 -0
  112. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/utils/__init__.py +0 -0
  113. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/utils/cli.py +0 -0
  114. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/utils/config.py +0 -0
  115. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/utils/constants.py +0 -0
  116. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/utils/evaluation/__init__.py +0 -0
  117. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/utils/evaluation/helpers.py +0 -0
  118. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/utils/evaluation/main.py +0 -0
  119. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/utils/evaluation/testset_annotation_parser.py +0 -0
  120. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/utils/logging.py +0 -0
  121. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/utils/misc.py +0 -0
  122. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/utils/model_train.py +0 -0
  123. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/utils/protobuf.py +0 -0
  124. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/utils/secrets.py +0 -0
  125. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/versions.py +0 -0
  126. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/workflows/__init__.py +0 -0
  127. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/workflows/export.py +0 -0
  128. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/workflows/utils.py +0 -0
  129. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai/workflows/validate.py +0 -0
  130. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai.egg-info/SOURCES.txt +0 -0
  131. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai.egg-info/dependency_links.txt +0 -0
  132. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai.egg-info/entry_points.txt +0 -0
  133. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai.egg-info/requires.txt +0 -0
  134. {clarifai-11.8.0 → clarifai-11.8.1}/clarifai.egg-info/top_level.txt +0 -0
  135. {clarifai-11.8.0 → clarifai-11.8.1}/pyproject.toml +0 -0
  136. {clarifai-11.8.0 → clarifai-11.8.1}/requirements.txt +0 -0
  137. {clarifai-11.8.0 → clarifai-11.8.1}/setup.cfg +0 -0
  138. {clarifai-11.8.0 → clarifai-11.8.1}/setup.py +0 -0
  139. {clarifai-11.8.0 → clarifai-11.8.1}/tests/test_app.py +0 -0
  140. {clarifai-11.8.0 → clarifai-11.8.1}/tests/test_async_stub.py +0 -0
  141. {clarifai-11.8.0 → clarifai-11.8.1}/tests/test_auth.py +0 -0
  142. {clarifai-11.8.0 → clarifai-11.8.1}/tests/test_data_upload.py +0 -0
  143. {clarifai-11.8.0 → clarifai-11.8.1}/tests/test_eval.py +0 -0
  144. {clarifai-11.8.0 → clarifai-11.8.1}/tests/test_list_models.py +0 -0
  145. {clarifai-11.8.0 → clarifai-11.8.1}/tests/test_misc.py +0 -0
  146. {clarifai-11.8.0 → clarifai-11.8.1}/tests/test_model_predict.py +0 -0
  147. {clarifai-11.8.0 → clarifai-11.8.1}/tests/test_model_train.py +0 -0
  148. {clarifai-11.8.0 → clarifai-11.8.1}/tests/test_modules.py +0 -0
  149. {clarifai-11.8.0 → clarifai-11.8.1}/tests/test_pipeline_client.py +0 -0
  150. {clarifai-11.8.0 → clarifai-11.8.1}/tests/test_rag.py +0 -0
  151. {clarifai-11.8.0 → clarifai-11.8.1}/tests/test_search.py +0 -0
  152. {clarifai-11.8.0 → clarifai-11.8.1}/tests/test_secrets.py +0 -0
  153. {clarifai-11.8.0 → clarifai-11.8.1}/tests/test_stub.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clarifai
3
- Version: 11.8.0
3
+ Version: 11.8.1
4
4
  Home-page: https://github.com/Clarifai/clarifai-python
5
5
  Author: Clarifai
6
6
  Author-email: support@clarifai.com
@@ -0,0 +1 @@
1
+ __version__ = "11.8.1"
@@ -1,10 +1,10 @@
1
1
  import time
2
- from typing import Iterator, Optional
2
+ from typing import Iterator, Optional, Union
3
3
 
4
4
  from clarifai_grpc.grpc.api import service_pb2
5
5
  from clarifai_grpc.grpc.api.status import status_code_pb2, status_pb2
6
6
  from clarifai_protocol import BaseRunner
7
- from clarifai_protocol.utils.health import HealthProbeRequestHandler
7
+ from clarifai_protocol.utils.health import HealthProbeRequestHandler, start_health_server_thread
8
8
 
9
9
  from clarifai.client.auth.helper import ClarifaiAuthHelper
10
10
  from clarifai.utils.constants import STATUS_FAIL, STATUS_MIXED, STATUS_OK, STATUS_UNKNOWN
@@ -15,7 +15,7 @@ from ..utils.url_fetcher import ensure_urls_downloaded
15
15
  from .model_class import ModelClass
16
16
 
17
17
 
18
- class ModelRunner(BaseRunner, HealthProbeRequestHandler):
18
+ class ModelRunner(BaseRunner):
19
19
  """
20
20
  This is a subclass of the runner class which will handle only the work items relevant to models.
21
21
  """
@@ -32,6 +32,7 @@ class ModelRunner(BaseRunner, HealthProbeRequestHandler):
32
32
  pat: Optional[str] = None,
33
33
  token: Optional[str] = None,
34
34
  num_parallel_polls: int = 4,
35
+ health_check_port: Union[int, None] = 8080,
35
36
  **kwargs,
36
37
  ) -> None:
37
38
  super().__init__(
@@ -70,10 +71,27 @@ class ModelRunner(BaseRunner, HealthProbeRequestHandler):
70
71
  # If auth helper creation fails, proceed without authentication
71
72
  self._auth_helper = None
72
73
 
74
+ # if the model has a handle_liveness_probe method, call it to determine liveness
75
+ # otherwise rely on self.is_alive from the protocol
76
+ if hasattr(self.model, 'handle_liveness_probe'):
77
+ HealthProbeRequestHandler.handle_liveness_probe = self.model.handle_liveness_probe
78
+
79
+ # if the model has a handle_readiness_probe method, call it to determine readiness
80
+ # otherwise rely on self.is_ready from the protocol
81
+ if hasattr(self.model, 'handle_readiness_probe'):
82
+ HealthProbeRequestHandler.handle_readiness_probe = self.model.handle_readiness_probe
83
+
84
+ # if the model has a handle_startup_probe method, call it to determine startup
85
+ # otherwise rely on self.is_startup from the protocol
86
+ if hasattr(self.model, 'handle_startup_probe'):
87
+ HealthProbeRequestHandler.handle_startup_probe = self.model.handle_startup_probe
88
+
73
89
  # After model load successfully set the health probe to ready and startup
74
90
  HealthProbeRequestHandler.is_ready = True
75
91
  HealthProbeRequestHandler.is_startup = True
76
92
 
93
+ start_health_server_thread(port=health_check_port, address='')
94
+
77
95
  def get_runner_item_output_for_status(
78
96
  self, status: status_pb2.Status
79
97
  ) -> service_pb2.RunnerItemOutput:
@@ -301,27 +319,6 @@ class ModelRunner(BaseRunner, HealthProbeRequestHandler):
301
319
  """Set the model for this runner."""
302
320
  self.model = model
303
321
 
304
- def handle_liveness_probe(self):
305
- # if the model has a handle_liveness_probe method, call it to determine liveness
306
- # otherwise rely on HealthProbeRequestHandler.is_alive from the protocol
307
- if hasattr(self.model, 'handle_liveness_probe'):
308
- HealthProbeRequestHandler.is_alive = self.model.handle_liveness_probe()
309
- return super().handle_liveness_probe()
310
-
311
- def handle_readiness_probe(self):
312
- # if the model has a handle_readiness_probe method, call it to determine readiness
313
- # otherwise rely on HealthProbeRequestHandler.is_ready from the protocol
314
- if hasattr(self.model, 'handle_readiness_probe'):
315
- HealthProbeRequestHandler.is_ready = self.model.handle_readiness_probe()
316
- return super().handle_readiness_probe()
317
-
318
- def handle_startup_probe(self):
319
- # if the model has a handle_startup_probe method, call it to determine startup
320
- # otherwise rely on HealthProbeRequestHandler.is_startup from the protocol
321
- if hasattr(self.model, 'handle_startup_probe'):
322
- HealthProbeRequestHandler.is_startup = self.model.handle_startup_probe()
323
- return super().handle_startup_probe()
324
-
325
322
 
326
323
  def pmo_iterator(runner_item_iterator, auth_helper=None):
327
324
  for runner_item in runner_item_iterator:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clarifai
3
- Version: 11.8.0
3
+ Version: 11.8.1
4
4
  Home-page: https://github.com/Clarifai/clarifai-python
5
5
  Author: Clarifai
6
6
  Author-email: support@clarifai.com
@@ -1 +0,0 @@
1
- __version__ = "11.8.0"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes