clarifai 11.4.5__tar.gz → 11.4.6__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 (134) hide show
  1. {clarifai-11.4.5/clarifai.egg-info → clarifai-11.4.6}/PKG-INFO +1 -1
  2. clarifai-11.4.6/clarifai/__init__.py +1 -0
  3. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/models/dummy_openai_model.py +2 -2
  4. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/models/model_class.py +8 -0
  5. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/models/openai_class.py +15 -13
  6. {clarifai-11.4.5 → clarifai-11.4.6/clarifai.egg-info}/PKG-INFO +1 -1
  7. clarifai-11.4.5/clarifai/__init__.py +0 -1
  8. {clarifai-11.4.5 → clarifai-11.4.6}/LICENSE +0 -0
  9. {clarifai-11.4.5 → clarifai-11.4.6}/MANIFEST.in +0 -0
  10. {clarifai-11.4.5 → clarifai-11.4.6}/README.md +0 -0
  11. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/cli/README.md +0 -0
  12. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/cli/__init__.py +0 -0
  13. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/cli/__main__.py +0 -0
  14. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/cli/base.py +0 -0
  15. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/cli/compute_cluster.py +0 -0
  16. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/cli/deployment.py +0 -0
  17. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/cli/model.py +0 -0
  18. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/cli/nodepool.py +0 -0
  19. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/cli.py +0 -0
  20. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/client/__init__.py +0 -0
  21. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/client/app.py +0 -0
  22. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/client/auth/__init__.py +0 -0
  23. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/client/auth/helper.py +0 -0
  24. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/client/auth/register.py +0 -0
  25. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/client/auth/stub.py +0 -0
  26. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/client/base.py +0 -0
  27. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/client/compute_cluster.py +0 -0
  28. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/client/dataset.py +0 -0
  29. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/client/deployment.py +0 -0
  30. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/client/input.py +0 -0
  31. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/client/lister.py +0 -0
  32. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/client/model.py +0 -0
  33. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/client/model_client.py +0 -0
  34. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/client/module.py +0 -0
  35. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/client/nodepool.py +0 -0
  36. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/client/runner.py +0 -0
  37. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/client/search.py +0 -0
  38. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/client/user.py +0 -0
  39. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/client/workflow.py +0 -0
  40. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/constants/base.py +0 -0
  41. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/constants/dataset.py +0 -0
  42. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/constants/input.py +0 -0
  43. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/constants/model.py +0 -0
  44. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/constants/rag.py +0 -0
  45. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/constants/search.py +0 -0
  46. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/constants/workflow.py +0 -0
  47. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/datasets/__init__.py +0 -0
  48. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/datasets/export/__init__.py +0 -0
  49. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/datasets/export/inputs_annotations.py +0 -0
  50. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/datasets/upload/__init__.py +0 -0
  51. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/datasets/upload/base.py +0 -0
  52. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/datasets/upload/features.py +0 -0
  53. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/datasets/upload/image.py +0 -0
  54. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/datasets/upload/loaders/README.md +0 -0
  55. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/datasets/upload/loaders/__init__.py +0 -0
  56. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/datasets/upload/loaders/coco_captions.py +0 -0
  57. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/datasets/upload/loaders/coco_detection.py +0 -0
  58. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/datasets/upload/loaders/imagenet_classification.py +0 -0
  59. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/datasets/upload/loaders/xview_detection.py +0 -0
  60. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/datasets/upload/multimodal.py +0 -0
  61. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/datasets/upload/text.py +0 -0
  62. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/datasets/upload/utils.py +0 -0
  63. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/errors.py +0 -0
  64. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/models/__init__.py +0 -0
  65. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/models/api.py +0 -0
  66. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/modules/README.md +0 -0
  67. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/modules/__init__.py +0 -0
  68. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/modules/css.py +0 -0
  69. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/modules/pages.py +0 -0
  70. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/modules/style.css +0 -0
  71. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/rag/__init__.py +0 -0
  72. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/rag/rag.py +0 -0
  73. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/rag/utils.py +0 -0
  74. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/__init__.py +0 -0
  75. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/dockerfile_template/Dockerfile.template +0 -0
  76. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/models/__init__.py +0 -0
  77. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/models/mcp_class.py +0 -0
  78. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/models/model_builder.py +0 -0
  79. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/models/model_run_locally.py +0 -0
  80. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/models/model_runner.py +0 -0
  81. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/models/model_servicer.py +0 -0
  82. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/models/visual_classifier_class.py +0 -0
  83. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/models/visual_detector_class.py +0 -0
  84. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/server.py +0 -0
  85. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/utils/__init__.py +0 -0
  86. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/utils/code_script.py +0 -0
  87. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/utils/const.py +0 -0
  88. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/utils/data_types/__init__.py +0 -0
  89. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/utils/data_types/data_types.py +0 -0
  90. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/utils/data_utils.py +0 -0
  91. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/utils/loader.py +0 -0
  92. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/utils/method_signatures.py +0 -0
  93. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/utils/openai_convertor.py +0 -0
  94. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/utils/serializers.py +0 -0
  95. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/runners/utils/url_fetcher.py +0 -0
  96. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/schema/search.py +0 -0
  97. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/urls/helper.py +0 -0
  98. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/utils/__init__.py +0 -0
  99. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/utils/cli.py +0 -0
  100. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/utils/config.py +0 -0
  101. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/utils/constants.py +0 -0
  102. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/utils/evaluation/__init__.py +0 -0
  103. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/utils/evaluation/helpers.py +0 -0
  104. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/utils/evaluation/main.py +0 -0
  105. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/utils/evaluation/testset_annotation_parser.py +0 -0
  106. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/utils/logging.py +0 -0
  107. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/utils/misc.py +0 -0
  108. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/utils/model_train.py +0 -0
  109. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/utils/protobuf.py +0 -0
  110. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/versions.py +0 -0
  111. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/workflows/__init__.py +0 -0
  112. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/workflows/export.py +0 -0
  113. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/workflows/utils.py +0 -0
  114. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai/workflows/validate.py +0 -0
  115. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai.egg-info/SOURCES.txt +0 -0
  116. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai.egg-info/dependency_links.txt +0 -0
  117. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai.egg-info/entry_points.txt +0 -0
  118. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai.egg-info/requires.txt +0 -0
  119. {clarifai-11.4.5 → clarifai-11.4.6}/clarifai.egg-info/top_level.txt +0 -0
  120. {clarifai-11.4.5 → clarifai-11.4.6}/pyproject.toml +0 -0
  121. {clarifai-11.4.5 → clarifai-11.4.6}/requirements.txt +0 -0
  122. {clarifai-11.4.5 → clarifai-11.4.6}/setup.cfg +0 -0
  123. {clarifai-11.4.5 → clarifai-11.4.6}/setup.py +0 -0
  124. {clarifai-11.4.5 → clarifai-11.4.6}/tests/test_app.py +0 -0
  125. {clarifai-11.4.5 → clarifai-11.4.6}/tests/test_auth.py +0 -0
  126. {clarifai-11.4.5 → clarifai-11.4.6}/tests/test_data_upload.py +0 -0
  127. {clarifai-11.4.5 → clarifai-11.4.6}/tests/test_eval.py +0 -0
  128. {clarifai-11.4.5 → clarifai-11.4.6}/tests/test_misc.py +0 -0
  129. {clarifai-11.4.5 → clarifai-11.4.6}/tests/test_model_predict.py +0 -0
  130. {clarifai-11.4.5 → clarifai-11.4.6}/tests/test_model_train.py +0 -0
  131. {clarifai-11.4.5 → clarifai-11.4.6}/tests/test_modules.py +0 -0
  132. {clarifai-11.4.5 → clarifai-11.4.6}/tests/test_rag.py +0 -0
  133. {clarifai-11.4.5 → clarifai-11.4.6}/tests/test_search.py +0 -0
  134. {clarifai-11.4.5 → clarifai-11.4.6}/tests/test_stub.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clarifai
3
- Version: 11.4.5
3
+ Version: 11.4.6
4
4
  Home-page: https://github.com/Clarifai/clarifai-python
5
5
  Author: Clarifai
6
6
  Author-email: support@clarifai.com
@@ -0,0 +1 @@
1
+ __version__ = "11.4.6"
@@ -144,8 +144,8 @@ class MockCompletionStream:
144
144
  class DummyOpenAIModel(OpenAIModelClass):
145
145
  """Dummy OpenAI model implementation for testing."""
146
146
 
147
- openai_client = MockOpenAIClient()
148
- model_name = "dummy-model"
147
+ client = MockOpenAIClient()
148
+ model = "dummy-model"
149
149
 
150
150
  def _process_request(self, **kwargs) -> Dict[str, Any]:
151
151
  """Process a request for non-streaming responses."""
@@ -6,6 +6,7 @@ import traceback
6
6
  from abc import ABC
7
7
  from collections import abc
8
8
  from typing import Any, Dict, Iterator, List
9
+ from unittest.mock import MagicMock
9
10
 
10
11
  from clarifai_grpc.grpc.api import resources_pb2, service_pb2
11
12
  from clarifai_grpc.grpc.api.status import status_code_pb2, status_pb2
@@ -346,6 +347,13 @@ class ModelClass(ABC):
346
347
  methods = {}
347
348
  for base in reversed(cls.__mro__):
348
349
  for name, method in base.__dict__.items():
350
+ # Skip class attributes, mocked objects, and non-methods
351
+ if not callable(method) or isinstance(method, (classmethod, staticmethod)):
352
+ continue
353
+ # Skip any mocked objects or attributes
354
+ if isinstance(method, MagicMock) or hasattr(method, '_mock_return_value'):
355
+ continue
356
+ # Only include methods that have been decorated with @ModelClass.method
349
357
  method_info = getattr(method, _METHOD_INFO_ATTR, None)
350
358
  if not method_info: # regular function, not a model method
351
359
  continue
@@ -11,27 +11,29 @@ class OpenAIModelClass(ModelClass):
11
11
  This handles all the transport between the API and the OpenAI-compatible server.
12
12
 
13
13
  To use this class, create a subclass and set the following class attributes:
14
- - openai_client: The OpenAI-compatible client instance
15
- - model_name: The name of the model to use with the client
14
+ - client: The OpenAI-compatible client instance
15
+ - model: The name of the model to use with the client
16
16
 
17
17
  Example:
18
18
  class MyOpenAIModel(OpenAIModelClass):
19
- openai_client = OpenAI(api_key="your-key")
20
- model_name = "gpt-4"
19
+ client = OpenAI(api_key="your-key")
20
+ model = "gpt-4"
21
21
  """
22
22
 
23
23
  # These should be overridden in subclasses
24
- openai_client = None
25
- model_name = None
24
+ client = None
25
+ model = None
26
26
 
27
27
  def __init__(self) -> None:
28
- if self.openai_client is None:
29
- raise NotImplementedError("Subclasses must set the 'openai_client' class attribute")
30
- if self.model_name is None:
31
- self.model_name = self.openai_client.models.list().data[0].id
32
-
33
- self.client = self.openai_client
34
- self.model = self.model_name
28
+ if self.client is None:
29
+ raise NotImplementedError("Subclasses must set the 'client' class attribute")
30
+ if self.model is None:
31
+ try:
32
+ self.model = self.client.models.list().data[0].id
33
+ except Exception as e:
34
+ raise NotImplementedError(
35
+ "Subclasses must set the 'model' class attribute or ensure the client can list models"
36
+ ) from e
35
37
 
36
38
  def _extract_request_params(self, request_data: Dict[str, Any]) -> Dict[str, Any]:
37
39
  """Extract and validate common openai arguments parameters from the request data.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clarifai
3
- Version: 11.4.5
3
+ Version: 11.4.6
4
4
  Home-page: https://github.com/Clarifai/clarifai-python
5
5
  Author: Clarifai
6
6
  Author-email: support@clarifai.com
@@ -1 +0,0 @@
1
- __version__ = "11.4.5"
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