datamint 2.18.2__tar.gz → 2.18.3__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 (155) hide show
  1. {datamint-2.18.2 → datamint-2.18.3}/PKG-INFO +1 -1
  2. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/resources/nifti_resource.py +1 -1
  3. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/flavors/datamint_flavor.py +30 -19
  4. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/flavors/model.py +1 -1
  5. {datamint-2.18.2 → datamint-2.18.3}/pyproject.toml +1 -1
  6. {datamint-2.18.2 → datamint-2.18.3}/README.md +0 -0
  7. {datamint-2.18.2 → datamint-2.18.3}/datamint/__init__.py +0 -0
  8. {datamint-2.18.2 → datamint-2.18.3}/datamint/__main__.py +0 -0
  9. {datamint-2.18.2 → datamint-2.18.3}/datamint/api/__init__.py +0 -0
  10. {datamint-2.18.2 → datamint-2.18.3}/datamint/api/base_api.py +0 -0
  11. {datamint-2.18.2 → datamint-2.18.3}/datamint/api/client.py +0 -0
  12. {datamint-2.18.2 → datamint-2.18.3}/datamint/api/dto/__init__.py +0 -0
  13. {datamint-2.18.2 → datamint-2.18.3}/datamint/api/dto/annotation_dto.py +0 -0
  14. {datamint-2.18.2 → datamint-2.18.3}/datamint/api/endpoints/__init__.py +0 -0
  15. {datamint-2.18.2 → datamint-2.18.3}/datamint/api/endpoints/annotations_api.py +0 -0
  16. {datamint-2.18.2 → datamint-2.18.3}/datamint/api/endpoints/annotationsets_api.py +0 -0
  17. {datamint-2.18.2 → datamint-2.18.3}/datamint/api/endpoints/channels_api.py +0 -0
  18. {datamint-2.18.2 → datamint-2.18.3}/datamint/api/endpoints/datasetsinfo_api.py +0 -0
  19. {datamint-2.18.2 → datamint-2.18.3}/datamint/api/endpoints/deploy_model_api.py +0 -0
  20. {datamint-2.18.2 → datamint-2.18.3}/datamint/api/endpoints/inference_api.py +0 -0
  21. {datamint-2.18.2 → datamint-2.18.3}/datamint/api/endpoints/models_api.py +0 -0
  22. {datamint-2.18.2 → datamint-2.18.3}/datamint/api/endpoints/projects_api.py +0 -0
  23. {datamint-2.18.2 → datamint-2.18.3}/datamint/api/endpoints/resources_api.py +0 -0
  24. {datamint-2.18.2 → datamint-2.18.3}/datamint/api/endpoints/users_api.py +0 -0
  25. {datamint-2.18.2 → datamint-2.18.3}/datamint/api/entity_base_api.py +0 -0
  26. {datamint-2.18.2 → datamint-2.18.3}/datamint/client_cmd_tools/__init__.py +0 -0
  27. {datamint-2.18.2 → datamint-2.18.3}/datamint/client_cmd_tools/datamint_config.py +0 -0
  28. {datamint-2.18.2 → datamint-2.18.3}/datamint/client_cmd_tools/datamint_example.py +0 -0
  29. {datamint-2.18.2 → datamint-2.18.3}/datamint/client_cmd_tools/datamint_inference.py +0 -0
  30. {datamint-2.18.2 → datamint-2.18.3}/datamint/client_cmd_tools/datamint_init.py +0 -0
  31. {datamint-2.18.2 → datamint-2.18.3}/datamint/client_cmd_tools/datamint_train.py +0 -0
  32. {datamint-2.18.2 → datamint-2.18.3}/datamint/client_cmd_tools/datamint_upload.py +0 -0
  33. {datamint-2.18.2 → datamint-2.18.3}/datamint/configs.py +0 -0
  34. {datamint-2.18.2 → datamint-2.18.3}/datamint/dataset/__init__.py +0 -0
  35. {datamint-2.18.2 → datamint-2.18.3}/datamint/dataset/annotation.py +0 -0
  36. {datamint-2.18.2 → datamint-2.18.3}/datamint/dataset/annotation_processor.py +0 -0
  37. {datamint-2.18.2 → datamint-2.18.3}/datamint/dataset/base.py +0 -0
  38. {datamint-2.18.2 → datamint-2.18.3}/datamint/dataset/base_dataset.py +0 -0
  39. {datamint-2.18.2 → datamint-2.18.3}/datamint/dataset/dataset.py +0 -0
  40. {datamint-2.18.2 → datamint-2.18.3}/datamint/dataset/factory.py +0 -0
  41. {datamint-2.18.2 → datamint-2.18.3}/datamint/dataset/image_dataset.py +0 -0
  42. {datamint-2.18.2 → datamint-2.18.3}/datamint/dataset/multiframe_dataset.py +0 -0
  43. {datamint-2.18.2 → datamint-2.18.3}/datamint/dataset/sliced_dataset.py +0 -0
  44. {datamint-2.18.2 → datamint-2.18.3}/datamint/dataset/sliced_video_dataset.py +0 -0
  45. {datamint-2.18.2 → datamint-2.18.3}/datamint/dataset/split_result.py +0 -0
  46. {datamint-2.18.2 → datamint-2.18.3}/datamint/dataset/video_dataset.py +0 -0
  47. {datamint-2.18.2 → datamint-2.18.3}/datamint/dataset/volume_dataset.py +0 -0
  48. {datamint-2.18.2 → datamint-2.18.3}/datamint/default_project.py +0 -0
  49. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/__init__.py +0 -0
  50. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/annotation_worklist.py +0 -0
  51. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/annotations/__init__.py +0 -0
  52. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/annotations/annotation.py +0 -0
  53. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/annotations/annotation_spec.py +0 -0
  54. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/annotations/base_geometry.py +0 -0
  55. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/annotations/base_segmentation.py +0 -0
  56. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/annotations/box_annotation.py +0 -0
  57. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/annotations/geometry.py +0 -0
  58. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/annotations/image_classification.py +0 -0
  59. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/annotations/image_segmentation.py +0 -0
  60. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/annotations/line_annotation.py +0 -0
  61. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/annotations/types.py +0 -0
  62. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/annotations/volume_segmentation.py +0 -0
  63. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/base_entity.py +0 -0
  64. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/cache_manager.py +0 -0
  65. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/channel.py +0 -0
  66. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/datasetinfo.py +0 -0
  67. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/deployjob.py +0 -0
  68. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/inferencejob.py +0 -0
  69. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/project.py +0 -0
  70. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/project_resource_split.py +0 -0
  71. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/resource.py +0 -0
  72. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/resources/__init__.py +0 -0
  73. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/resources/dicom_resource.py +0 -0
  74. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/resources/image_resource.py +0 -0
  75. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/resources/video_resource.py +0 -0
  76. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/resources/volume_resource.py +0 -0
  77. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/sliced_resource.py +0 -0
  78. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/sliced_resource_base.py +0 -0
  79. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/sliced_video_resource.py +0 -0
  80. {datamint-2.18.2 → datamint-2.18.3}/datamint/entities/user.py +0 -0
  81. {datamint-2.18.2 → datamint-2.18.3}/datamint/examples/__init__.py +0 -0
  82. {datamint-2.18.2 → datamint-2.18.3}/datamint/examples/_common.py +0 -0
  83. {datamint-2.18.2 → datamint-2.18.3}/datamint/examples/_download.py +0 -0
  84. {datamint-2.18.2 → datamint-2.18.3}/datamint/examples/bccd_dataset.py +0 -0
  85. {datamint-2.18.2 → datamint-2.18.3}/datamint/examples/busi_dataset.py +0 -0
  86. {datamint-2.18.2 → datamint-2.18.3}/datamint/examples/example_projects.py +0 -0
  87. {datamint-2.18.2 → datamint-2.18.3}/datamint/examples/fracatlas_dataset.py +0 -0
  88. {datamint-2.18.2 → datamint-2.18.3}/datamint/examples/synapse_dataset.py +0 -0
  89. {datamint-2.18.2 → datamint-2.18.3}/datamint/exceptions.py +0 -0
  90. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/__init__.py +0 -0
  91. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/datamodule.py +0 -0
  92. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/__init__.py +0 -0
  93. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/base_trainer.py +0 -0
  94. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/classification_trainer.py +0 -0
  95. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/detection_trainer.py +0 -0
  96. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/lightning_modules/__init__.py +0 -0
  97. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/lightning_modules/base.py +0 -0
  98. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/lightning_modules/classification_module.py +0 -0
  99. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/lightning_modules/detection_modules/__init__.py +0 -0
  100. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/lightning_modules/detection_modules/yolox_module.py +0 -0
  101. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/lightning_modules/segmentation_module.py +0 -0
  102. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/lightning_modules/segmentation_modules/__init__.py +0 -0
  103. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/lightning_modules/segmentation_modules/deeplabv3plus.py +0 -0
  104. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/lightning_modules/segmentation_modules/smp_module.py +0 -0
  105. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/lightning_modules/segmentation_modules/transunet.py +0 -0
  106. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/lightning_modules/segmentation_modules/unetpp.py +0 -0
  107. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/lightning_modules/segmentation_modules/unetrpp.py +0 -0
  108. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/seg2d_trainer.py +0 -0
  109. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/seg3d_trainer.py +0 -0
  110. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/segmentation_trainer.py +0 -0
  111. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/specialized/__init__.py +0 -0
  112. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/specialized/deeplabv3plus.py +0 -0
  113. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/specialized/efficientnetv2.py +0 -0
  114. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/specialized/nnunet/__init__.py +0 -0
  115. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/specialized/nnunet/_nnunet_trainer_bridge.py +0 -0
  116. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/specialized/nnunet/data_export.py +0 -0
  117. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/specialized/nnunet/data_import.py +0 -0
  118. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/specialized/nnunet/inference_model.py +0 -0
  119. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/specialized/nnunet/trainer.py +0 -0
  120. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/specialized/transunet.py +0 -0
  121. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/specialized/unetpp.py +0 -0
  122. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/specialized/unetrpp.py +0 -0
  123. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/specialized/yolox.py +0 -0
  124. {datamint-2.18.2 → datamint-2.18.3}/datamint/lightning/trainers/vol_seg_trainer.py +0 -0
  125. {datamint-2.18.2 → datamint-2.18.3}/datamint/logging.yaml +0 -0
  126. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/__init__.py +0 -0
  127. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/artifact/__init__.py +0 -0
  128. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/artifact/datamint_artifacts_repo.py +0 -0
  129. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/data/__init__.py +0 -0
  130. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/data/datamint_dataset.py +0 -0
  131. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/env_utils.py +0 -0
  132. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/env_vars.py +0 -0
  133. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/flavors/__init__.py +0 -0
  134. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/flavors/model_loader.py +0 -0
  135. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/flavors/model_parser.py +0 -0
  136. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/flavors/prediction_modes.py +0 -0
  137. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/flavors/prediction_router.py +0 -0
  138. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/flavors/task_type.py +0 -0
  139. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/flavors/validation.py +0 -0
  140. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/lightning/callbacks/__init__.py +0 -0
  141. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/lightning/callbacks/modelcheckpoint.py +0 -0
  142. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/models/__init__.py +0 -0
  143. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/models/datamint_model_store.py +0 -0
  144. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/store_utils.py +0 -0
  145. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/tracking/datamint_store.py +0 -0
  146. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/tracking/default_experiment.py +0 -0
  147. {datamint-2.18.2 → datamint-2.18.3}/datamint/mlflow/tracking/fluent.py +0 -0
  148. {datamint-2.18.2 → datamint-2.18.3}/datamint/types.py +0 -0
  149. {datamint-2.18.2 → datamint-2.18.3}/datamint/utils/annotation_agreement.py +0 -0
  150. {datamint-2.18.2 → datamint-2.18.3}/datamint/utils/collection_utils.py +0 -0
  151. {datamint-2.18.2 → datamint-2.18.3}/datamint/utils/env.py +0 -0
  152. {datamint-2.18.2 → datamint-2.18.3}/datamint/utils/logging_utils.py +0 -0
  153. {datamint-2.18.2 → datamint-2.18.3}/datamint/utils/nifti_utils.py +0 -0
  154. {datamint-2.18.2 → datamint-2.18.3}/datamint/utils/torchmetrics.py +0 -0
  155. {datamint-2.18.2 → datamint-2.18.3}/datamint/utils/visualization.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: datamint
3
- Version: 2.18.2
3
+ Version: 2.18.3
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
@@ -11,7 +11,7 @@ class NiftiResource(VolumeResource):
11
11
  resource_kind: ClassVar[str] = 'nifti'
12
12
  resource_priority: ClassVar[int] = 50
13
13
  storage_aliases: ClassVar[tuple[str, ...]] = ('NiftiResource', 'NiftiResourceHandler')
14
- mimetypes: ClassVar[tuple[str, ...]] = ('application/nifti',)
14
+ mimetypes: ClassVar[tuple[str, ...]] = ('application/nifti','application/x-nifti')
15
15
  filename_suffixes: ClassVar[tuple[str, ...]] = ('.nii', '.nii.gz')
16
16
 
17
17
  @property
@@ -27,12 +27,15 @@ def _process_signature(signature: ModelSignature | None,
27
27
  from mlflow.types import ParamSchema, ParamSpec
28
28
  from mlflow.models.signature import _infer_signature_from_type_hints
29
29
 
30
- # Define inference parameters
31
- params_schema = ParamSchema(
32
- [
33
- ParamSpec("mode", "string", "default"), # Default mode
34
- ]
35
- )
30
+ # Define inference parameters schema for BaseDatamintModel.predict()
31
+ # - mode (str): prediction mode to dispatch to (e.g. 'default', 'image', 'slice', etc.)
32
+ # - log_predictions (bool): whether to upload predictions as annotations to Datamint
33
+ # - model_name (str | None): name of the model used for tagging uploaded predictions
34
+ params_schema = ParamSchema([
35
+ ParamSpec("mode", "string", "default"),
36
+ ParamSpec("log_predictions", "boolean", False),
37
+ ParamSpec("model_name", "string", None),
38
+ ])
36
39
 
37
40
  if signature is None:
38
41
  signature = _infer_signature_from_type_hints(
@@ -53,16 +56,27 @@ def _process_signature(signature: ModelSignature | None,
53
56
 
54
57
 
55
58
  def _process_input_example(input_example: ModelInputExample | None) -> tuple[ModelInputExample | None, dict[str, Any]]:
56
-
57
- logger.info('Processing input example is disabled for now')
58
- raise NotImplementedError('Processing input example is disabled for now')
59
-
60
59
  datamint_params = {
61
- "mode": "default",
60
+ 'mode': 'default',
61
+ 'model_name': 'undefined_model_name',
62
+ 'log_predictions': False
62
63
  }
63
64
  if input_example is None:
64
- from datamint.entities.resource import LocalResource
65
- input_resource = LocalResource(raw_data=bytes()).model_dump(mode='json')
65
+ import datetime
66
+ import json
67
+
68
+ input_resource = json.dumps(dict(
69
+ id='model_id',
70
+ storage='DicomResource',
71
+ filename='file.dcm',
72
+ location='private/location',
73
+ mimetype='application/dicom',
74
+ size=14724562,
75
+ status='inbox',
76
+ created_at=datetime.datetime.now().isoformat(),
77
+ created_by='user@mail.com',
78
+ modality='CT')
79
+ )
66
80
  return [input_resource], datamint_params
67
81
  if not isinstance(input_example, tuple):
68
82
  return (input_example, datamint_params)
@@ -248,15 +262,12 @@ def save_model(datamint_model: BaseDatamintModel,
248
262
  if hasattr(datamint_model, '_clear_linked_models_cache'):
249
263
  datamint_model._clear_linked_models_cache()
250
264
 
251
- if signature is not None:
252
- signature = _process_signature(signature, datamint_model)
265
+ # signature = _process_signature(signature, datamint_model)
253
266
  try:
254
267
  input_example = _process_input_example(input_example)
255
- except NotImplementedError:
256
- input_example = None
257
268
  except Exception as e:
258
- logger.warning(f"Failed to process input example. Proceeding without input example. Error: {e}")
259
- input_example = None
269
+ logger.error(f"Failed to process input example. {e}")
270
+ raise
260
271
 
261
272
  linked_models = datamint_model._get_linked_models_uri() if hasattr(datamint_model, '_get_linked_models_uri') else {}
262
273
  resolved_task_type = task_type or getattr(datamint_model, 'task_type', None)
@@ -211,7 +211,7 @@ class BaseDatamintModel(PythonModel, ABC):
211
211
  ) -> PredictionResult:
212
212
  """Main prediction entry point.
213
213
 
214
- Routes to the appropriate handler based on ``params['mode']``.
214
+ Routes to the appropriate handlesr based on ``params['mode']``.
215
215
  **Do not override** — implement :meth:`predict_default` (or other
216
216
  ``predict_*`` hooks) instead.
217
217
 
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "datamint"
3
3
  description = "A library for interacting with the Datamint API, designed for efficient data management, processing and Deep Learning workflows."
4
- version = "2.18.2"
4
+ version = "2.18.3"
5
5
  dynamic = ["dependencies"]
6
6
  requires-python = ">=3.10"
7
7
  readme = "README.md"
File without changes
File without changes
File without changes