clarifai 11.2.1__tar.gz → 11.2.2__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 (121) hide show
  1. {clarifai-11.2.1/clarifai.egg-info → clarifai-11.2.2}/PKG-INFO +1 -1
  2. clarifai-11.2.2/clarifai/__init__.py +1 -0
  3. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/client/app.py +1 -1
  4. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/runners/models/model_builder.py +21 -8
  5. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/runners/models/model_run_locally.py +1 -1
  6. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/runners/utils/loader.py +36 -6
  7. {clarifai-11.2.1 → clarifai-11.2.2/clarifai.egg-info}/PKG-INFO +1 -1
  8. clarifai-11.2.1/clarifai/__init__.py +0 -1
  9. {clarifai-11.2.1 → clarifai-11.2.2}/LICENSE +0 -0
  10. {clarifai-11.2.1 → clarifai-11.2.2}/MANIFEST.in +0 -0
  11. {clarifai-11.2.1 → clarifai-11.2.2}/README.md +0 -0
  12. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/cli/README.md +0 -0
  13. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/cli/__init__.py +0 -0
  14. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/cli/__main__.py +0 -0
  15. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/cli/base.py +0 -0
  16. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/cli/compute_cluster.py +0 -0
  17. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/cli/deployment.py +0 -0
  18. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/cli/model.py +0 -0
  19. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/cli/nodepool.py +0 -0
  20. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/cli.py +0 -0
  21. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/client/__init__.py +0 -0
  22. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/client/auth/__init__.py +0 -0
  23. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/client/auth/helper.py +0 -0
  24. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/client/auth/register.py +0 -0
  25. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/client/auth/stub.py +0 -0
  26. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/client/base.py +0 -0
  27. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/client/compute_cluster.py +0 -0
  28. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/client/dataset.py +0 -0
  29. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/client/deployment.py +0 -0
  30. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/client/input.py +0 -0
  31. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/client/lister.py +0 -0
  32. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/client/model.py +0 -0
  33. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/client/module.py +0 -0
  34. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/client/nodepool.py +0 -0
  35. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/client/search.py +0 -0
  36. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/client/user.py +0 -0
  37. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/client/workflow.py +0 -0
  38. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/constants/base.py +0 -0
  39. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/constants/dataset.py +0 -0
  40. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/constants/input.py +0 -0
  41. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/constants/model.py +0 -0
  42. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/constants/rag.py +0 -0
  43. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/constants/search.py +0 -0
  44. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/constants/workflow.py +0 -0
  45. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/datasets/__init__.py +0 -0
  46. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/datasets/export/__init__.py +0 -0
  47. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/datasets/export/inputs_annotations.py +0 -0
  48. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/datasets/upload/__init__.py +0 -0
  49. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/datasets/upload/base.py +0 -0
  50. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/datasets/upload/features.py +0 -0
  51. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/datasets/upload/image.py +0 -0
  52. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/datasets/upload/loaders/README.md +0 -0
  53. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/datasets/upload/loaders/__init__.py +0 -0
  54. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/datasets/upload/loaders/coco_captions.py +0 -0
  55. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/datasets/upload/loaders/coco_detection.py +0 -0
  56. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/datasets/upload/loaders/imagenet_classification.py +0 -0
  57. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/datasets/upload/loaders/xview_detection.py +0 -0
  58. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/datasets/upload/multimodal.py +0 -0
  59. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/datasets/upload/text.py +0 -0
  60. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/datasets/upload/utils.py +0 -0
  61. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/errors.py +0 -0
  62. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/models/__init__.py +0 -0
  63. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/models/api.py +0 -0
  64. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/modules/README.md +0 -0
  65. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/modules/__init__.py +0 -0
  66. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/modules/css.py +0 -0
  67. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/modules/pages.py +0 -0
  68. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/modules/style.css +0 -0
  69. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/rag/__init__.py +0 -0
  70. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/rag/rag.py +0 -0
  71. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/rag/utils.py +0 -0
  72. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/runners/__init__.py +0 -0
  73. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/runners/dockerfile_template/Dockerfile.template +0 -0
  74. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/runners/models/__init__.py +0 -0
  75. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/runners/models/base_typed_model.py +0 -0
  76. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/runners/models/model_class.py +0 -0
  77. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/runners/models/model_runner.py +0 -0
  78. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/runners/models/model_servicer.py +0 -0
  79. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/runners/server.py +0 -0
  80. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/runners/utils/__init__.py +0 -0
  81. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/runners/utils/const.py +0 -0
  82. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/runners/utils/data_handler.py +0 -0
  83. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/runners/utils/data_utils.py +0 -0
  84. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/runners/utils/url_fetcher.py +0 -0
  85. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/schema/search.py +0 -0
  86. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/urls/helper.py +0 -0
  87. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/utils/__init__.py +0 -0
  88. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/utils/cli.py +0 -0
  89. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/utils/constants.py +0 -0
  90. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/utils/evaluation/__init__.py +0 -0
  91. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/utils/evaluation/helpers.py +0 -0
  92. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/utils/evaluation/main.py +0 -0
  93. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/utils/evaluation/testset_annotation_parser.py +0 -0
  94. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/utils/logging.py +0 -0
  95. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/utils/misc.py +0 -0
  96. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/utils/model_train.py +0 -0
  97. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/versions.py +0 -0
  98. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/workflows/__init__.py +0 -0
  99. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/workflows/export.py +0 -0
  100. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/workflows/utils.py +0 -0
  101. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai/workflows/validate.py +0 -0
  102. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai.egg-info/SOURCES.txt +0 -0
  103. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai.egg-info/dependency_links.txt +0 -0
  104. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai.egg-info/entry_points.txt +0 -0
  105. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai.egg-info/requires.txt +0 -0
  106. {clarifai-11.2.1 → clarifai-11.2.2}/clarifai.egg-info/top_level.txt +0 -0
  107. {clarifai-11.2.1 → clarifai-11.2.2}/pyproject.toml +0 -0
  108. {clarifai-11.2.1 → clarifai-11.2.2}/requirements.txt +0 -0
  109. {clarifai-11.2.1 → clarifai-11.2.2}/setup.cfg +0 -0
  110. {clarifai-11.2.1 → clarifai-11.2.2}/setup.py +0 -0
  111. {clarifai-11.2.1 → clarifai-11.2.2}/tests/test_app.py +0 -0
  112. {clarifai-11.2.1 → clarifai-11.2.2}/tests/test_auth.py +0 -0
  113. {clarifai-11.2.1 → clarifai-11.2.2}/tests/test_data_upload.py +0 -0
  114. {clarifai-11.2.1 → clarifai-11.2.2}/tests/test_eval.py +0 -0
  115. {clarifai-11.2.1 → clarifai-11.2.2}/tests/test_misc.py +0 -0
  116. {clarifai-11.2.1 → clarifai-11.2.2}/tests/test_model_predict.py +0 -0
  117. {clarifai-11.2.1 → clarifai-11.2.2}/tests/test_model_train.py +0 -0
  118. {clarifai-11.2.1 → clarifai-11.2.2}/tests/test_modules.py +0 -0
  119. {clarifai-11.2.1 → clarifai-11.2.2}/tests/test_rag.py +0 -0
  120. {clarifai-11.2.1 → clarifai-11.2.2}/tests/test_search.py +0 -0
  121. {clarifai-11.2.1 → clarifai-11.2.2}/tests/test_stub.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clarifai
3
- Version: 11.2.1
3
+ Version: 11.2.2
4
4
  Summary: Clarifai Python SDK
5
5
  Home-page: https://github.com/Clarifai/clarifai-python
6
6
  Author: Clarifai
@@ -0,0 +1 @@
1
+ __version__ = "11.2.2"
@@ -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_id (str): The model version ID for the model version to interact with.
632
+ model_version (Dict): 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.
@@ -171,7 +171,14 @@ class ModelBuilder:
171
171
 
172
172
  # get from config.yaml otherwise fall back to HF_TOKEN env var.
173
173
  hf_token = self.config.get("checkpoints").get("hf_token", os.environ.get("HF_TOKEN", None))
174
- return loader_type, repo_id, hf_token, when
174
+
175
+ allowed_file_patterns = self.config.get("checkpoints").get('allowed_file_patterns', None)
176
+ if isinstance(allowed_file_patterns, str):
177
+ allowed_file_patterns = [allowed_file_patterns]
178
+ ignore_file_patterns = self.config.get("checkpoints").get('ignore_file_patterns', None)
179
+ if isinstance(ignore_file_patterns, str):
180
+ ignore_file_patterns = [ignore_file_patterns]
181
+ return loader_type, repo_id, hf_token, when, allowed_file_patterns, ignore_file_patterns
175
182
 
176
183
  def _check_app_exists(self):
177
184
  resp = self.client.STUB.GetApp(service_pb2.GetAppRequest(user_app_id=self.client.user_app_id))
@@ -216,7 +223,7 @@ class ModelBuilder:
216
223
  assert model_type_id in CONCEPTS_REQUIRED_MODEL_TYPE, f"Model type {model_type_id} not supported for concepts"
217
224
 
218
225
  if self.config.get("checkpoints"):
219
- loader_type, _, hf_token, _ = self._validate_config_checkpoints()
226
+ loader_type, _, hf_token, _, _, _ = self._validate_config_checkpoints()
220
227
 
221
228
  if loader_type == "huggingface" and hf_token:
222
229
  is_valid_token = HuggingFaceLoader.validate_hftoken(hf_token)
@@ -480,8 +487,10 @@ class ModelBuilder:
480
487
  if not self.config.get("checkpoints"):
481
488
  logger.info("No checkpoints specified in the config file")
482
489
  return path
490
+ clarifai_model_type_id = self.config.get('model').get('model_type_id')
483
491
 
484
- loader_type, repo_id, hf_token, when = self._validate_config_checkpoints()
492
+ loader_type, repo_id, hf_token, when, allowed_file_patterns, ignore_file_patterns = self._validate_config_checkpoints(
493
+ )
485
494
  if stage not in ["build", "upload", "runtime"]:
486
495
  raise Exception("Invalid stage provided, must be one of ['build', 'upload', 'runtime']")
487
496
  if when != stage:
@@ -490,14 +499,18 @@ class ModelBuilder:
490
499
  )
491
500
  return path
492
501
 
493
- success = True
502
+ success = False
494
503
  if loader_type == "huggingface":
495
- loader = HuggingFaceLoader(repo_id=repo_id, token=hf_token)
504
+ loader = HuggingFaceLoader(
505
+ repo_id=repo_id, token=hf_token, model_type_id=clarifai_model_type_id)
496
506
  # for runtime default to /tmp path
497
507
  if stage == "runtime" and checkpoint_path_override is None:
498
508
  checkpoint_path_override = self.default_runtime_checkpoint_path()
499
509
  path = checkpoint_path_override if checkpoint_path_override else self.checkpoint_path
500
- success = loader.download_checkpoints(path)
510
+ success = loader.download_checkpoints(
511
+ path,
512
+ allowed_file_patterns=allowed_file_patterns,
513
+ ignore_file_patterns=ignore_file_patterns)
501
514
 
502
515
  if loader_type:
503
516
  if not success:
@@ -569,7 +582,7 @@ class ModelBuilder:
569
582
  logger.debug(f"Will tar it into file: {file_path}")
570
583
 
571
584
  model_type_id = self.config.get('model').get('model_type_id')
572
- loader_type, repo_id, hf_token, when = self._validate_config_checkpoints()
585
+ loader_type, repo_id, hf_token, when, _, _ = self._validate_config_checkpoints()
573
586
 
574
587
  if (model_type_id in CONCEPTS_REQUIRED_MODEL_TYPE) and 'concepts' not in self.config:
575
588
  logger.info(
@@ -617,7 +630,7 @@ class ModelBuilder:
617
630
  # First check for the env variable, then try querying huggingface. If all else fails, use the default.
618
631
  checkpoint_size = os.environ.get('CHECKPOINT_SIZE_BYTES', 0)
619
632
  if not checkpoint_size:
620
- _, repo_id, _, _ = self._validate_config_checkpoints()
633
+ _, repo_id, _, _, _, _ = self._validate_config_checkpoints()
621
634
  checkpoint_size = HuggingFaceLoader.get_huggingface_checkpoint_total_size(repo_id)
622
635
  if not checkpoint_size:
623
636
  checkpoint_size = self.DEFAULT_CHECKPOINT_SIZE
@@ -479,7 +479,7 @@ def main(model_path,
479
479
  manager = ModelRunLocally(model_path)
480
480
  # get whatever stage is in config.yaml to force download now
481
481
  # also always write to where upload/build wants to, not the /tmp folder that runtime stage uses
482
- _, _, _, when = manager.builder._validate_config_checkpoints()
482
+ _, _, _, when, _, _ = manager.builder._validate_config_checkpoints()
483
483
  manager.builder.download_checkpoints(
484
484
  stage=when, checkpoint_path_override=manager.builder.checkpoint_path)
485
485
  if inside_container:
@@ -6,6 +6,7 @@ import shutil
6
6
 
7
7
  import requests
8
8
 
9
+ from clarifai.runners.utils.const import CONCEPTS_REQUIRED_MODEL_TYPE
9
10
  from clarifai.utils.logging import logger
10
11
 
11
12
 
@@ -13,9 +14,10 @@ class HuggingFaceLoader:
13
14
 
14
15
  HF_DOWNLOAD_TEXT = "The 'huggingface_hub' package is not installed. Please install it using 'pip install huggingface_hub'."
15
16
 
16
- def __init__(self, repo_id=None, token=None):
17
+ def __init__(self, repo_id=None, token=None, model_type_id=None):
17
18
  self.repo_id = repo_id
18
19
  self.token = token
20
+ self.clarifai_model_type_id = model_type_id
19
21
  if token:
20
22
  if self.validate_hftoken(token):
21
23
  try:
@@ -43,13 +45,17 @@ class HuggingFaceLoader:
43
45
  f"Error setting up Hugging Face token, please make sure you have the correct token: {e}")
44
46
  return False
45
47
 
46
- def download_checkpoints(self, checkpoint_path: str):
48
+ def download_checkpoints(self,
49
+ checkpoint_path: str,
50
+ allowed_file_patterns=None,
51
+ ignore_file_patterns=None):
47
52
  # throw error if huggingface_hub wasn't installed
48
53
  try:
49
54
  from huggingface_hub import snapshot_download
50
55
  except ImportError:
51
56
  raise ImportError(self.HF_DOWNLOAD_TEXT)
52
- if os.path.exists(checkpoint_path) and self.validate_download(checkpoint_path):
57
+ if os.path.exists(checkpoint_path) and self.validate_download(
58
+ checkpoint_path, allowed_file_patterns, ignore_file_patterns):
53
59
  logger.info("Checkpoints already exist")
54
60
  return True
55
61
  else:
@@ -61,10 +67,16 @@ class HuggingFaceLoader:
61
67
  return False
62
68
 
63
69
  self.ignore_patterns = self._get_ignore_patterns()
70
+ if ignore_file_patterns:
71
+ if self.ignore_patterns:
72
+ self.ignore_patterns.extend(ignore_file_patterns)
73
+ else:
74
+ self.ignore_patterns = ignore_file_patterns
64
75
  snapshot_download(
65
76
  repo_id=self.repo_id,
66
77
  local_dir=checkpoint_path,
67
78
  local_dir_use_symlinks=False,
79
+ allow_patterns=allowed_file_patterns,
68
80
  ignore_patterns=self.ignore_patterns)
69
81
  # Remove the `.cache` folder if it exists
70
82
  cache_path = os.path.join(checkpoint_path, ".cache")
@@ -75,7 +87,8 @@ class HuggingFaceLoader:
75
87
  logger.error(f"Error downloading model checkpoints {e}")
76
88
  return False
77
89
  finally:
78
- is_downloaded = self.validate_download(checkpoint_path)
90
+ is_downloaded = self.validate_download(checkpoint_path, allowed_file_patterns,
91
+ ignore_file_patterns)
79
92
  if not is_downloaded:
80
93
  logger.error("Error validating downloaded model checkpoints")
81
94
  return False
@@ -109,9 +122,13 @@ class HuggingFaceLoader:
109
122
  from huggingface_hub import file_exists, repo_exists
110
123
  except ImportError:
111
124
  raise ImportError(self.HF_DOWNLOAD_TEXT)
112
- return repo_exists(self.repo_id) and file_exists(self.repo_id, 'config.json')
125
+ if self.clarifai_model_type_id in CONCEPTS_REQUIRED_MODEL_TYPE:
126
+ return repo_exists(self.repo_id) and file_exists(self.repo_id, 'config.json')
127
+ else:
128
+ return repo_exists(self.repo_id)
113
129
 
114
- def validate_download(self, checkpoint_path: str):
130
+ def validate_download(self, checkpoint_path: str, allowed_file_patterns: list,
131
+ ignore_file_patterns: list):
115
132
  # check if model exists on HF
116
133
  try:
117
134
  from huggingface_hub import list_repo_files
@@ -120,7 +137,20 @@ class HuggingFaceLoader:
120
137
  # Get the list of files on the repo
121
138
  repo_files = list_repo_files(self.repo_id, token=self.token)
122
139
 
140
+ # Get the list of files on the repo that are allowed
141
+ if allowed_file_patterns:
142
+
143
+ def should_allow(file_path):
144
+ return any(fnmatch.fnmatch(file_path, pattern) for pattern in allowed_file_patterns)
145
+
146
+ repo_files = [f for f in repo_files if should_allow(f)]
147
+
123
148
  self.ignore_patterns = self._get_ignore_patterns()
149
+ if ignore_file_patterns:
150
+ if self.ignore_patterns:
151
+ self.ignore_patterns.extend(ignore_file_patterns)
152
+ else:
153
+ self.ignore_patterns = ignore_file_patterns
124
154
  # Get the list of files on the repo that are not ignored
125
155
  if getattr(self, "ignore_patterns", None):
126
156
  patterns = self.ignore_patterns
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clarifai
3
- Version: 11.2.1
3
+ Version: 11.2.2
4
4
  Summary: Clarifai Python SDK
5
5
  Home-page: https://github.com/Clarifai/clarifai-python
6
6
  Author: Clarifai
@@ -1 +0,0 @@
1
- __version__ = "11.2.1"
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