superb-ai-onprem 0.5.9__tar.gz → 0.5.11__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.

Potentially problematic release.


This version of superb-ai-onprem might be problematic. Click here for more details.

Files changed (173) hide show
  1. superb_ai_onprem-0.5.11/.github/workflows/tests.yml +42 -0
  2. {superb_ai_onprem-0.5.9/superb_ai_onprem.egg-info → superb_ai_onprem-0.5.11}/PKG-INFO +1 -1
  3. superb_ai_onprem-0.5.11/requirements-test.txt +7 -0
  4. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/__init__.py +8 -0
  5. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/_version.py +3 -3
  6. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/activities/service.py +1 -2
  7. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/contents/params/__init__.py +2 -0
  8. superb_ai_onprem-0.5.11/spb_onprem/contents/params/delete_content.py +10 -0
  9. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/contents/queries.py +11 -0
  10. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/contents/service.py +19 -0
  11. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/entities/data.py +0 -1
  12. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/__init__.py +8 -0
  13. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/create_data.py +2 -10
  14. superb_ai_onprem-0.5.11/spb_onprem/data/params/get_data_detail.py +14 -0
  15. superb_ai_onprem-0.5.11/spb_onprem/data/params/get_evaluation_value_list.py +36 -0
  16. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/update_data.py +0 -16
  17. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/upsert_data_meta.py +0 -12
  18. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/queries.py +72 -6
  19. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/service.py +103 -108
  20. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/datasets/params/__init__.py +2 -0
  21. superb_ai_onprem-0.5.11/spb_onprem/datasets/params/delete_dataset.py +12 -0
  22. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/datasets/queries.py +11 -0
  23. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/datasets/service.py +18 -0
  24. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/entities.py +4 -0
  25. superb_ai_onprem-0.5.11/spb_onprem/inferences/__init__.py +5 -0
  26. superb_ai_onprem-0.5.11/spb_onprem/inferences/service.py +56 -0
  27. superb_ai_onprem-0.5.11/spb_onprem/models/__init__.py +7 -0
  28. superb_ai_onprem-0.5.11/spb_onprem/models/entities.py +9 -0
  29. superb_ai_onprem-0.5.11/spb_onprem/models/params/__init__.py +7 -0
  30. superb_ai_onprem-0.5.11/spb_onprem/models/params/delete_model.py +14 -0
  31. superb_ai_onprem-0.5.11/spb_onprem/models/params/get_models.py +29 -0
  32. superb_ai_onprem-0.5.11/spb_onprem/models/queries.py +33 -0
  33. superb_ai_onprem-0.5.11/spb_onprem/models/service.py +76 -0
  34. superb_ai_onprem-0.5.11/spb_onprem/predictions/__init__.py +7 -0
  35. superb_ai_onprem-0.5.11/spb_onprem/predictions/entities.py +11 -0
  36. superb_ai_onprem-0.5.11/spb_onprem/predictions/params/__init__.py +15 -0
  37. superb_ai_onprem-0.5.11/spb_onprem/predictions/params/create_prediction_set.py +44 -0
  38. superb_ai_onprem-0.5.11/spb_onprem/predictions/params/delete_prediction_from_data.py +20 -0
  39. superb_ai_onprem-0.5.11/spb_onprem/predictions/params/delete_prediction_set.py +14 -0
  40. superb_ai_onprem-0.5.11/spb_onprem/predictions/params/get_prediction_set.py +14 -0
  41. superb_ai_onprem-0.5.11/spb_onprem/predictions/params/get_prediction_sets.py +29 -0
  42. superb_ai_onprem-0.5.11/spb_onprem/predictions/params/update_prediction_set_data_info.py +28 -0
  43. superb_ai_onprem-0.5.11/spb_onprem/predictions/queries.py +110 -0
  44. superb_ai_onprem-0.5.11/spb_onprem/predictions/service.py +225 -0
  45. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11/superb_ai_onprem.egg-info}/PKG-INFO +1 -1
  46. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/superb_ai_onprem.egg-info/SOURCES.txt +36 -1
  47. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/tests/activities/test_params.py +2 -2
  48. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/tests/activities/test_service.py +28 -38
  49. superb_ai_onprem-0.5.11/tests/contents/test_content_service.py +99 -0
  50. superb_ai_onprem-0.5.11/tests/data/__init__.py +0 -0
  51. superb_ai_onprem-0.5.11/tests/data/test_data_service.py +412 -0
  52. superb_ai_onprem-0.5.11/tests/datasets/__init__.py +1 -0
  53. superb_ai_onprem-0.5.11/tests/datasets/test_dataset_service.py +135 -0
  54. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/tests/exports/test_service.py +1 -0
  55. superb_ai_onprem-0.5.11/tests/models/__init__.py +1 -0
  56. superb_ai_onprem-0.5.11/tests/models/test_model_service.py +249 -0
  57. superb_ai_onprem-0.5.11/tests/predictions/__init__.py +1 -0
  58. superb_ai_onprem-0.5.11/tests/predictions/test_prediction_service.py +359 -0
  59. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/.github/workflows/publish.yml +0 -0
  60. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/.gitignore +0 -0
  61. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/LICENSE +0 -0
  62. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/Pipfile +0 -0
  63. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/Pipfile.lock +0 -0
  64. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/README.md +0 -0
  65. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/pyproject.toml +0 -0
  66. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/setup.cfg +0 -0
  67. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/setup.py +0 -0
  68. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/activities/__init__.py +0 -0
  69. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/activities/entities/__init__.py +0 -0
  70. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/activities/entities/activity.py +0 -0
  71. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/activities/entities/activity_history.py +0 -0
  72. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/activities/params/__init__.py +0 -0
  73. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/activities/params/activities.py +0 -0
  74. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/activities/params/activity.py +0 -0
  75. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/activities/params/create_activity.py +0 -0
  76. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/activities/params/delete_activity.py +0 -0
  77. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/activities/params/get_activity_history.py +0 -0
  78. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/activities/params/start_activity.py +0 -0
  79. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/activities/params/update_activity.py +0 -0
  80. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/activities/params/update_activity_history.py +0 -0
  81. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/activities/queries.py +0 -0
  82. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/base_model.py +0 -0
  83. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/base_service.py +0 -0
  84. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/base_types.py +0 -0
  85. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/contents/__init__.py +0 -0
  86. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/contents/entities/__init__.py +0 -0
  87. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/contents/entities/base_content.py +0 -0
  88. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/contents/entities/content.py +0 -0
  89. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/contents/params/create.py +0 -0
  90. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/contents/params/get_download_url.py +0 -0
  91. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/__init__.py +0 -0
  92. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/entities/__init__.py +0 -0
  93. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/entities/annotation.py +0 -0
  94. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/entities/data_meta.py +0 -0
  95. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/entities/data_slice.py +0 -0
  96. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/entities/frame.py +0 -0
  97. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/entities/prediction.py +0 -0
  98. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/entities/scene.py +0 -0
  99. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/enums/__init__.py +0 -0
  100. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/enums/data_meta_type.py +0 -0
  101. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/enums/data_status.py +0 -0
  102. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/enums/data_type.py +0 -0
  103. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/enums/scene_type.py +0 -0
  104. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/change_data_labeler.py +0 -0
  105. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/change_data_reviewer.py +0 -0
  106. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/change_data_status.py +0 -0
  107. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/data.py +0 -0
  108. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/data_list.py +0 -0
  109. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/delete_annotation_version.py +0 -0
  110. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/delete_data.py +0 -0
  111. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/delete_prediction.py +0 -0
  112. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/delete_scene.py +0 -0
  113. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/delete_slice_annotation_version.py +0 -0
  114. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/insert_annotation_version.py +0 -0
  115. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/insert_data_to_slice.py +0 -0
  116. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/insert_prediction.py +0 -0
  117. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/insert_scene.py +0 -0
  118. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/insert_slice_annotation_version.py +0 -0
  119. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/remove_data_from_slice.py +0 -0
  120. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/remove_data_meta.py +0 -0
  121. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/update_annotation.py +0 -0
  122. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/update_data_slice.py +0 -0
  123. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/update_frames.py +0 -0
  124. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/update_scene.py +0 -0
  125. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/update_slice_annotation.py +0 -0
  126. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/data/params/update_slice_annotation_version.py +0 -0
  127. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/datasets/__init__.py +0 -0
  128. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/datasets/entities/__init__.py +0 -0
  129. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/datasets/entities/dataset.py +0 -0
  130. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/datasets/params/create_dataset.py +0 -0
  131. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/datasets/params/dataset.py +0 -0
  132. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/datasets/params/datasets.py +0 -0
  133. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/datasets/params/update_dataset.py +0 -0
  134. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/exceptions.py +0 -0
  135. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/exports/__init__.py +0 -0
  136. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/exports/entities/__init__.py +0 -0
  137. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/exports/entities/export.py +0 -0
  138. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/exports/params/__init__.py +0 -0
  139. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/exports/params/create_export.py +0 -0
  140. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/exports/params/delete_export.py +0 -0
  141. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/exports/params/export.py +0 -0
  142. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/exports/params/exports.py +0 -0
  143. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/exports/params/update_export.py +0 -0
  144. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/exports/queries/get_exports.py +0 -0
  145. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/exports/queries.py +0 -0
  146. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/exports/service.py +0 -0
  147. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/searches.py +0 -0
  148. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/slices/__init__.py +0 -0
  149. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/slices/entities/__init__.py +0 -0
  150. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/slices/entities/slice.py +0 -0
  151. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/slices/params/__init__.py +0 -0
  152. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/slices/params/create_slice.py +0 -0
  153. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/slices/params/delete_slice.py +0 -0
  154. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/slices/params/slice.py +0 -0
  155. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/slices/params/slices.py +0 -0
  156. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/slices/params/update_slice.py +0 -0
  157. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/slices/queries.py +0 -0
  158. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/slices/service.py +0 -0
  159. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/users/__init__.py +0 -0
  160. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/users/entities/__init__.py +0 -0
  161. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/spb_onprem/users/entities/auth.py +0 -0
  162. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/superb_ai_onprem.egg-info/dependency_links.txt +0 -0
  163. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/superb_ai_onprem.egg-info/requires.txt +0 -0
  164. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/superb_ai_onprem.egg-info/top_level.txt +0 -0
  165. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/tests/__init__.py +0 -0
  166. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/tests/activities/__init__.py +0 -0
  167. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/tests/activities/real_test.py +0 -0
  168. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/tests/activities/test_get_activity_history.py +0 -0
  169. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/tests/exports/__init__.py +0 -0
  170. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/tests/exports/real_test.py +0 -0
  171. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/tests/exports/test_entities.py +0 -0
  172. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/tests/exports/test_integration.py +0 -0
  173. {superb_ai_onprem-0.5.9 → superb_ai_onprem-0.5.11}/tests/exports/test_params.py +0 -0
@@ -0,0 +1,42 @@
1
+ name: CI - Tests
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ concurrency:
10
+ group: ${{ github.workflow }}-${{ github.ref }}
11
+ cancel-in-progress: true
12
+
13
+ jobs:
14
+ tests:
15
+ runs-on: ubuntu-latest
16
+
17
+ steps:
18
+ - name: Checkout
19
+ uses: actions/checkout@v4
20
+
21
+ - name: Set up Python 3.11
22
+ uses: actions/setup-python@v5
23
+ with:
24
+ python-version: '3.11'
25
+
26
+ - name: Cache pip dependencies
27
+ uses: actions/cache@v4
28
+ with:
29
+ path: ~/.cache/pip
30
+ key: pip-${{ runner.os }}-3.11-${{ hashFiles('setup.py', 'requirements-test.txt') }}
31
+ restore-keys: |
32
+ pip-${{ runner.os }}-3.11-
33
+
34
+ - name: Install dependencies
35
+ run: |
36
+ python -m pip install --upgrade pip
37
+ pip install -e .
38
+ pip install -r requirements-test.txt
39
+
40
+ - name: Run tests
41
+ run: |
42
+ pytest tests/ -v --ignore=tests/activities/real_test.py --ignore=tests/exports/real_test.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: superb-ai-onprem
3
- Version: 0.5.9
3
+ Version: 0.5.11
4
4
  Summary: Python SDK for Superb AI On-premise
5
5
  Home-page: https://github.com/Superb-AI-Suite/superb-ai-onprem-python
6
6
  Author: Superb AI
@@ -0,0 +1,7 @@
1
+ # Test dependencies for superb-ai-onprem-python SDK
2
+ pytest>=7.0.0
3
+ pytest-cov>=4.0.0
4
+ pytest-mock>=3.10.0
5
+
6
+ # Additional testing utilities
7
+ coverage>=7.0.0
@@ -10,6 +10,9 @@ from .slices.service import SliceService
10
10
  from .activities.service import ActivityService
11
11
  from .exports.service import ExportService
12
12
  from .contents.service import ContentService
13
+ from .predictions.service import PredictionService
14
+ from .models.service import ModelService
15
+ from .inferences.service import InferService
13
16
 
14
17
  # Core Entities and Enums
15
18
  from .entities import (
@@ -77,6 +80,9 @@ __all__ = (
77
80
  "ActivityService",
78
81
  "ExportService",
79
82
  "ContentService",
83
+ "PredictionService",
84
+ "ModelService",
85
+ "InferService",
80
86
 
81
87
  # Core Entities
82
88
  "Data",
@@ -93,6 +99,8 @@ __all__ = (
93
99
  "Export",
94
100
  "Content",
95
101
  "Frame",
102
+ "PredictionSet",
103
+ "Model",
96
104
 
97
105
  # Enums
98
106
  "DataType",
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.5.9'
32
- __version_tuple__ = version_tuple = (0, 5, 9)
31
+ __version__ = version = '0.5.11'
32
+ __version_tuple__ = version_tuple = (0, 5, 11)
33
33
 
34
- __commit_id__ = commit_id = 'gd78508cdd'
34
+ __commit_id__ = commit_id = 'gf23f2712d'
@@ -65,8 +65,7 @@ class ActivityService(BaseService):
65
65
  meta=meta,
66
66
  )
67
67
  )
68
- activity_dict = response
69
- return Activity.model_validate(activity_dict)
68
+ return Activity.model_validate(response)
70
69
 
71
70
  def get_activities(
72
71
  self,
@@ -1,8 +1,10 @@
1
1
 
2
2
  from .create import create_variables
3
3
  from .get_download_url import get_download_url_params
4
+ from .delete_content import delete_content_params
4
5
 
5
6
  __all__ = (
6
7
  "create_variables",
7
8
  "get_download_url_params",
9
+ "delete_content_params",
8
10
  )
@@ -0,0 +1,10 @@
1
+ def delete_content_params(content_id: str):
2
+ """Generate variables for delete content GraphQL mutation.
3
+
4
+ Args:
5
+ content_id (str): The ID of the content to delete.
6
+
7
+ Returns:
8
+ dict: Variables dictionary for the GraphQL query.
9
+ """
10
+ return {"id": content_id}
@@ -1,6 +1,7 @@
1
1
  from .params import (
2
2
  create_variables,
3
3
  get_download_url_params,
4
+ delete_content_params,
4
5
  )
5
6
 
6
7
  class Queries:
@@ -33,3 +34,13 @@ class Queries:
33
34
  ''',
34
35
  "variables": get_download_url_params
35
36
  }
37
+
38
+ DELETE = {
39
+ "name": "deleteContent",
40
+ "query": '''
41
+ mutation DeleteContent($id: ID!) {
42
+ deleteContent(id: $id)
43
+ }
44
+ ''',
45
+ "variables": delete_content_params
46
+ }
@@ -176,3 +176,22 @@ class ContentService(BaseService):
176
176
  variables=Queries.GET_DOWNLOAD_URL["variables"](content_id)
177
177
  )
178
178
  return response
179
+
180
+ def delete_content(
181
+ self,
182
+ content_id: str,
183
+ ) -> bool:
184
+ '''
185
+ Delete a content by ID.
186
+
187
+ Args:
188
+ content_id (str): The ID of the content to delete.
189
+
190
+ Returns:
191
+ bool: True if deletion was successful.
192
+ '''
193
+ response = self.request_gql(
194
+ query=Queries.DELETE,
195
+ variables=Queries.DELETE["variables"](content_id)
196
+ )
197
+ return response.get("deleteContent", False)
@@ -24,7 +24,6 @@ class Data(CustomBaseModel):
24
24
  annotation: Optional[Annotation] = None
25
25
  predictions: Optional[List[Prediction]] = None
26
26
  meta: Optional[List[DataMeta]] = None
27
- system_meta: Optional[List[DataMeta]] = Field(None, alias="systemMeta")
28
27
  created_at: Optional[str] = Field(None, alias="createdAt")
29
28
  created_by: Optional[str] = Field(None, alias="createdBy")
30
29
  updated_at: Optional[str] = Field(None, alias="updatedAt")
@@ -15,6 +15,12 @@ from .data_list import (
15
15
  DataFilterOptions,
16
16
  DataListFilter,
17
17
  )
18
+ from .get_data_detail import (
19
+ get_data_detail_params,
20
+ )
21
+ from .get_evaluation_value_list import (
22
+ get_evaluation_value_list_params,
23
+ )
18
24
  from .remove_data_from_slice import (
19
25
  remove_data_from_slice_params
20
26
  )
@@ -73,6 +79,8 @@ __all__ = [
73
79
  "get_params",
74
80
  "get_data_id_list_params",
75
81
  "get_data_list_params",
82
+ "get_data_detail_params",
83
+ "get_evaluation_value_list_params",
76
84
  "AnnotationFilter",
77
85
  "AnnotationRangeFilter",
78
86
  "DataFilterOptions",
@@ -36,7 +36,7 @@ def create_params(
36
36
  "meta": version.meta,
37
37
  }
38
38
  for version in data.annotation.versions
39
- ],
39
+ ] if data.annotation.versions is not None else [],
40
40
  "meta": data.annotation.meta
41
41
  } if data.annotation is not None else None,
42
42
  "predictions": [
@@ -56,13 +56,5 @@ def create_params(
56
56
  "value": meta.value,
57
57
  }
58
58
  for meta in data.meta
59
- ] if data.meta is not None else None,
60
- "systemMeta": [
61
- {
62
- "key": meta.key,
63
- "type": meta.type.value,
64
- "value": meta.value,
65
- }
66
- for meta in data.system_meta
67
- ] if data.system_meta is not None else None,
59
+ ] if data.meta is not None else [],
68
60
  }
@@ -0,0 +1,14 @@
1
+ def get_data_detail_params(dataset_id: str, data_id: str):
2
+ """Generate variables for get data detail GraphQL query.
3
+
4
+ Args:
5
+ dataset_id (str): The ID of the dataset.
6
+ data_id (str): The ID of the data.
7
+
8
+ Returns:
9
+ dict: Variables dictionary for the GraphQL query.
10
+ """
11
+ return {
12
+ "datasetId": dataset_id,
13
+ "id": data_id
14
+ }
@@ -0,0 +1,36 @@
1
+ from typing import Union
2
+ from spb_onprem.base_types import UndefinedType, Undefined
3
+
4
+
5
+ def get_evaluation_value_list_params(
6
+ dataset_id: str,
7
+ prediction_set_id: str,
8
+ filter: Union[UndefinedType, dict] = Undefined,
9
+ length: int = 50,
10
+ cursor: Union[UndefinedType, str] = Undefined
11
+ ):
12
+ """Generate variables for get evaluation value list GraphQL query.
13
+
14
+ Args:
15
+ dataset_id (str): The ID of the dataset.
16
+ prediction_set_id (str): The ID of the prediction set.
17
+ filter (Union[UndefinedType, dict], optional): Diagnosis filter for evaluation values.
18
+ length (int): Number of items to retrieve per page.
19
+ cursor (Union[UndefinedType, str], optional): Cursor for pagination.
20
+
21
+ Returns:
22
+ dict: Variables dictionary for the GraphQL query.
23
+ """
24
+ params = {
25
+ "datasetId": dataset_id,
26
+ "predictionSetId": prediction_set_id,
27
+ "length": length
28
+ }
29
+
30
+ if filter is not Undefined:
31
+ params["filter"] = filter
32
+
33
+ if cursor is not Undefined:
34
+ params["cursor"] = cursor
35
+
36
+ return params
@@ -23,10 +23,6 @@ def update_params(
23
23
  Optional[List[DataMeta]],
24
24
  UndefinedType
25
25
  ] = Undefined,
26
- system_meta: Union[
27
- Optional[List[DataMeta]],
28
- UndefinedType
29
- ] = Undefined,
30
26
  ):
31
27
  """Make the variables for the updateData query.
32
28
 
@@ -56,17 +52,5 @@ def update_params(
56
52
  }
57
53
  for meta in meta
58
54
  ] if meta is not None else None
59
-
60
- if system_meta is not Undefined:
61
- if system_meta is not None and not isinstance(system_meta, list):
62
- raise ValueError("meta must be a list of DataMeta or None.")
63
- variables["systemMeta"] = [
64
- {
65
- "key": meta.key,
66
- "type": meta.type.value,
67
- "value": meta.value,
68
- }
69
- for meta in system_meta
70
- ] if system_meta is not None else None
71
55
 
72
56
  return variables
@@ -11,10 +11,6 @@ def upsert_data_meta_params(
11
11
  Optional[List[DataMeta]],
12
12
  UndefinedType
13
13
  ] = Undefined,
14
- system_meta: Union[
15
- Optional[List[DataMeta]],
16
- UndefinedType
17
- ] = Undefined,
18
14
  ):
19
15
  """Make the variables for the upsertDataMeta query.
20
16
 
@@ -37,12 +33,4 @@ def upsert_data_meta_params(
37
33
  for item in meta
38
34
  ] if meta is not None else None
39
35
 
40
- if system_meta is not Undefined:
41
- if system_meta is not None and not isinstance(system_meta, list):
42
- raise ValueError("system_meta must be a list of DataMeta or None.")
43
- variables["system_meta"] = [
44
- item.model_dump(by_alias=True, exclude_unset=True)
45
- for item in system_meta
46
- ] if system_meta is not None else None
47
-
48
36
  return variables
@@ -4,6 +4,8 @@ from .params import (
4
4
  get_params,
5
5
  get_data_id_list_params,
6
6
  get_data_list_params,
7
+ get_data_detail_params,
8
+ get_evaluation_value_list_params,
7
9
  remove_data_from_slice_params,
8
10
  insert_data_to_slice_params,
9
11
  delete_data_params,
@@ -106,6 +108,34 @@ class Schemas:
106
108
  {DATA}
107
109
  }}
108
110
  '''
111
+
112
+ DATA_DETAIL = '''
113
+ id
114
+ datasetId
115
+ scene {
116
+ id
117
+ content {
118
+ id
119
+ }
120
+ }
121
+ annotation {
122
+ versions {
123
+ id
124
+ content {
125
+ id
126
+ }
127
+ }
128
+ }
129
+ predictions {
130
+ id
131
+ content {
132
+ id
133
+ }
134
+ }
135
+ thumbnail {
136
+ id
137
+ }
138
+ '''
109
139
 
110
140
 
111
141
  class Queries():
@@ -122,7 +152,6 @@ class Queries():
122
152
  $annotation: AnnotationInput,
123
153
  $predictions: [PredictionInput!],
124
154
  $meta: [DataMetaInput!]
125
- $systemMeta: [DataMetaInput!]
126
155
  ) {{
127
156
  createData(
128
157
  datasetId: $datasetId,
@@ -134,7 +163,6 @@ class Queries():
134
163
  annotation: $annotation,
135
164
  predictions: $predictions,
136
165
  meta: $meta,
137
- systemMeta: $systemMeta
138
166
  )
139
167
  {{
140
168
  {Schemas.DATA}
@@ -151,15 +179,13 @@ class Queries():
151
179
  $dataset_id: ID!,
152
180
  $data_id: ID!,
153
181
  $key: String,
154
- $meta: [DataMetaInput!],
155
- $systemMeta: [DataMetaInput!]
182
+ $meta: [DataMetaInput!]
156
183
  ) {{
157
184
  updateData(
158
185
  datasetId: $dataset_id,
159
186
  id: $data_id,
160
187
  key: $key,
161
- meta: $meta,
162
- systemMeta: $systemMeta
188
+ meta: $meta
163
189
  )
164
190
  {{
165
191
  {Schemas.DATA}
@@ -594,3 +620,43 @@ class Queries():
594
620
  ''',
595
621
  "variables": update_frames_params,
596
622
  }
623
+
624
+ GET_DETAIL = {
625
+ "name": "getDataDetail",
626
+ "query": f'''
627
+ query GetDataDetail($datasetId: String!, $id: String!) {{
628
+ data(datasetId: $datasetId, id: $id) {{
629
+ {Schemas.DATA_DETAIL}
630
+ }}
631
+ }}
632
+ ''',
633
+ "variables": get_data_detail_params
634
+ }
635
+
636
+ GET_EVALUATION_VALUE_LIST = {
637
+ "name": "getEvaluationValueList",
638
+ "query": '''
639
+ query GetEvaluationValueList(
640
+ $datasetId: String!,
641
+ $predictionSetId: String!,
642
+ $filter: DiagnosisFilter,
643
+ $length: Int,
644
+ $cursor: String
645
+ ) {
646
+ evaluationValueList(
647
+ datasetId: $datasetId,
648
+ predictionSetId: $predictionSetId,
649
+ filter: $filter,
650
+ length: $length,
651
+ cursor: $cursor
652
+ ) {
653
+ totalCount
654
+ next
655
+ data {
656
+ dataId
657
+ }
658
+ }
659
+ }
660
+ ''',
661
+ "variables": get_evaluation_value_list_params
662
+ }