datamint 2.0.0__py3-none-any.whl → 2.0.2__py3-none-any.whl

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.

Potentially problematic release.


This version of datamint might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  import os
2
2
  import requests
3
- from tqdm import tqdm
3
+ from tqdm.auto import tqdm
4
4
  from typing import Optional, Callable, Any, Literal
5
5
  import logging
6
6
  import shutil
@@ -225,26 +225,34 @@ class DatamintBaseDataset:
225
225
  else:
226
226
  self._check_version()
227
227
 
228
+ def _init_metainfo(self) -> None:
229
+ # get the server info
230
+ self.project_info = self.get_info()
231
+ self.metainfo = self._get_datasetinfo().asdict().copy()
232
+ self.metainfo['updated_at'] = None
233
+ self.metainfo['resources'] = []
234
+ self.metainfo['all_annotations'] = self.all_annotations
235
+ self.images_metainfo = self.metainfo['resources']
236
+
228
237
  def _load_metadata(self) -> bool:
229
238
  """Load and process dataset metadata."""
230
239
  if hasattr(self, 'metainfo'):
231
240
  _LOGGER.warning("Metadata already loaded.")
232
241
  metadata_path = os.path.join(self.dataset_dir, 'dataset.json')
233
242
  if not os.path.isfile(metadata_path):
234
- # get the server info
235
- self.project_info = self.get_info()
236
- self.metainfo = self._get_datasetinfo().asdict().copy()
237
- self.metainfo['updated_at'] = None
238
- self.metainfo['resources'] = []
239
- self.metainfo['all_annotations'] = self.all_annotations
240
- self.images_metainfo = self.metainfo['resources']
243
+ self._init_metainfo()
241
244
  return False
242
245
  else:
243
246
  with open(metadata_path, 'r') as file:
244
247
  self.metainfo = json.load(file)
245
248
  self.images_metainfo = self.metainfo['resources']
246
249
  # Convert annotations from dict to Annotation objects
247
- self._convert_metainfo_to_clsobj()
250
+ try:
251
+ self._convert_metainfo_to_clsobj()
252
+ except Exception as e:
253
+ _LOGGER.warning(f"Failed to convert annotations. Redownloading dataset. {type(e)}")
254
+ self._init_metainfo()
255
+ return False
248
256
  return True
249
257
 
250
258
  def _convert_metainfo_to_clsobj(self):
@@ -552,13 +560,12 @@ class DatamintBaseDataset:
552
560
  """Get project information from API."""
553
561
  if hasattr(self, 'project_info') and self.project_info is not None:
554
562
  return self.project_info
555
- project = self.api.projects.get_by_name(self.project_name).asdict()
556
- if 'error' in project:
557
- available_projects = project['all_projects']
563
+ project = self.api.projects.get_by_name(self.project_name)
564
+ if project is None:
558
565
  raise DatamintDatasetException(
559
- f"Project with name '{self.project_name}' not found. "
560
- f"Available projects: {available_projects}"
566
+ f"Project with name '{self.project_name}' not found."
561
567
  )
568
+ project = project.asdict()
562
569
  self.project_info = project
563
570
  self.dataset_id = project['dataset_id']
564
571
  return project
@@ -898,8 +905,10 @@ class DatamintBaseDataset:
898
905
  ################
899
906
 
900
907
  ### ANNOTATIONS ###
908
+ _LOGGER.info("Fetching new annotations...")
901
909
  all_annotations = self.api.annotations.get_list(worklist_id=self.project_info['worklist_id'],
902
- status='published' if self.all_annotations else None)
910
+ status=None if self.all_annotations else 'published',
911
+ load_ai_segmentations=self.all_annotations)
903
912
 
904
913
  # group annotations by resource ID
905
914
  annotations_by_resource: dict[str, list[Annotation]] = {}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: datamint
3
- Version: 2.0.0
3
+ Version: 2.0.2
4
4
  Summary: A library for interacting with the Datamint API, designed for efficient data management, processing and Deep Learning workflows.
5
5
  Requires-Python: >=3.10
6
6
  Classifier: Programming Language :: Python :: 3
@@ -16,6 +16,7 @@ Requires-Dist: aiohttp (>=3.0.0,<4.0.0)
16
16
  Requires-Dist: aioresponses (>=0.7.8,<0.8.0) ; extra == "dev"
17
17
  Requires-Dist: albumentations (>=2.0.0)
18
18
  Requires-Dist: datamintapi (==0.0.*)
19
+ Requires-Dist: httpx
19
20
  Requires-Dist: humanize (>=4.0.0,<5.0.0)
20
21
  Requires-Dist: lazy-loader (>=0.3.0)
21
22
  Requires-Dist: lightning
@@ -24,7 +24,7 @@ datamint/client_cmd_tools/datamint_upload.py,sha256=jPzvlNeBZfOOxuG6ryswJ8OG4jXu
24
24
  datamint/configs.py,sha256=Bdp6NydYwyCJ2dk19_gf_o3M2ZyQOmMHpLi8wEWNHUk,1426
25
25
  datamint/dataset/__init__.py,sha256=4PlUKSvVhdfQvvuq8jQXrkdqnot-iTTizM3aM1vgSwg,47
26
26
  datamint/dataset/annotation.py,sha256=qN1IMjdfLD2ceQ6va3l76jOXA8Vb_c-eBk1oWQu6hW0,7994
27
- datamint/dataset/base_dataset.py,sha256=ghVfy_WB3sZD29J5rWQhccEi1DD_qsif5B4gcPlhepU,49285
27
+ datamint/dataset/base_dataset.py,sha256=wj98E7T1SGpDeQxO7urfwvkej7EStivZ79VDAqpiJC8,49595
28
28
  datamint/dataset/dataset.py,sha256=It-HOTi83ls4ww2qCAvFYU0_OLLrFclj0QQapMYgDAE,27333
29
29
  datamint/entities/__init__.py,sha256=tbHE7rZb0R9Hm-Dc8VWEq3PlRl7BYOzffumrV0ZdsMs,444
30
30
  datamint/entities/annotation.py,sha256=ochAEh_JqxAe_FyYTNUfPT47KiIAG7CkBTim52bu7M8,6636
@@ -44,7 +44,7 @@ datamint/logging.yaml,sha256=tOMxtc2UmwlIMTK6ljtnBwTco1PNrPeq3mx2iMuSbiw,482
44
44
  datamint/utils/logging_utils.py,sha256=9pRoaPrWu2jOdDCiAoUsjEdP5ZwaealWL3hjUqFvx9g,4022
45
45
  datamint/utils/torchmetrics.py,sha256=lwU0nOtsSWfebyp7dvjlAggaqXtj5ohSEUXOg3L0hJE,2837
46
46
  datamint/utils/visualization.py,sha256=yaUVAOHar59VrGUjpAWv5eVvQSfztFG0eP9p5Vt3l-M,4470
47
- datamint-2.0.0.dist-info/METADATA,sha256=38a-ojBv46DcXTJx8IQiE_DgOyWjela2l1S-ikBHHgs,4182
48
- datamint-2.0.0.dist-info/WHEEL,sha256=M5asmiAlL6HEcOq52Yi5mmk9KmTVjY2RDPtO4p9DMrc,88
49
- datamint-2.0.0.dist-info/entry_points.txt,sha256=mn5H6jPjO-rY0W0CAZ6Z_KKWhMLvyVaSpoqk77jlTI4,145
50
- datamint-2.0.0.dist-info/RECORD,,
47
+ datamint-2.0.2.dist-info/METADATA,sha256=ZgeoG6zkWqtzGiUQtgFFAfkoQtdRhcMv1wnf6Jx1SdQ,4203
48
+ datamint-2.0.2.dist-info/WHEEL,sha256=M5asmiAlL6HEcOq52Yi5mmk9KmTVjY2RDPtO4p9DMrc,88
49
+ datamint-2.0.2.dist-info/entry_points.txt,sha256=mn5H6jPjO-rY0W0CAZ6Z_KKWhMLvyVaSpoqk77jlTI4,145
50
+ datamint-2.0.2.dist-info/RECORD,,