superb-ai-onprem 0.5.22__tar.gz → 0.6.1__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 (176) hide show
  1. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/PKG-INFO +1 -1
  2. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/__init__.py +40 -27
  3. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/_version.py +3 -3
  4. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/__init__.py +42 -4
  5. superb_ai_onprem-0.6.1/spb_onprem/data/params/data_list.py +215 -0
  6. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/queries.py +9 -1
  7. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/service.py +4 -1
  8. superb_ai_onprem-0.6.1/spb_onprem/searches.py +76 -0
  9. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/slices/service.py +2 -2
  10. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/superb_ai_onprem.egg-info/PKG-INFO +1 -1
  11. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/tests/data/test_data_service.py +1 -1
  12. superb_ai_onprem-0.5.22/spb_onprem/data/params/data_list.py +0 -226
  13. superb_ai_onprem-0.5.22/spb_onprem/searches.py +0 -64
  14. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/.claude/settings.local.json +0 -0
  15. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/.github/workflows/publish.yml +0 -0
  16. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/.github/workflows/tests.yml +0 -0
  17. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/.gitignore +0 -0
  18. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/LICENSE +0 -0
  19. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/Pipfile +0 -0
  20. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/Pipfile.lock +0 -0
  21. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/README.md +0 -0
  22. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/pyproject.toml +0 -0
  23. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/requirements-test.txt +0 -0
  24. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/setup.cfg +0 -0
  25. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/setup.py +0 -0
  26. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/activities/__init__.py +0 -0
  27. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/activities/entities/__init__.py +0 -0
  28. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/activities/entities/activity.py +0 -0
  29. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/activities/entities/activity_history.py +0 -0
  30. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/activities/params/__init__.py +0 -0
  31. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/activities/params/activities.py +0 -0
  32. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/activities/params/activity.py +0 -0
  33. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/activities/params/create_activity.py +0 -0
  34. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/activities/params/delete_activity.py +0 -0
  35. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/activities/params/get_activity_history.py +0 -0
  36. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/activities/params/start_activity.py +0 -0
  37. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/activities/params/update_activity.py +0 -0
  38. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/activities/params/update_activity_history.py +0 -0
  39. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/activities/queries.py +0 -0
  40. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/activities/service.py +0 -0
  41. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/base_model.py +0 -0
  42. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/base_service.py +0 -0
  43. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/base_types.py +0 -0
  44. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/contents/__init__.py +0 -0
  45. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/contents/entities/__init__.py +0 -0
  46. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/contents/entities/base_content.py +0 -0
  47. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/contents/entities/content.py +0 -0
  48. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/contents/params/__init__.py +0 -0
  49. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/contents/params/create.py +0 -0
  50. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/contents/params/delete_content.py +0 -0
  51. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/contents/params/get_download_url.py +0 -0
  52. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/contents/queries.py +0 -0
  53. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/contents/service.py +0 -0
  54. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/__init__.py +0 -0
  55. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/entities/__init__.py +0 -0
  56. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/entities/annotation.py +0 -0
  57. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/entities/data.py +0 -0
  58. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/entities/data_meta.py +0 -0
  59. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/entities/data_slice.py +0 -0
  60. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/entities/frame.py +0 -0
  61. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/entities/prediction.py +0 -0
  62. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/entities/scene.py +0 -0
  63. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/enums/__init__.py +0 -0
  64. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/enums/data_meta_type.py +0 -0
  65. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/enums/data_status.py +0 -0
  66. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/enums/data_type.py +0 -0
  67. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/enums/scene_type.py +0 -0
  68. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/change_data_labeler.py +0 -0
  69. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/change_data_reviewer.py +0 -0
  70. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/change_data_status.py +0 -0
  71. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/create_data.py +0 -0
  72. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/data.py +0 -0
  73. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/delete_annotation_version.py +0 -0
  74. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/delete_data.py +0 -0
  75. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/delete_prediction.py +0 -0
  76. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/delete_scene.py +0 -0
  77. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/delete_slice_annotation_version.py +0 -0
  78. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/get_data_detail.py +0 -0
  79. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/get_evaluation_value_list.py +0 -0
  80. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/insert_annotation_version.py +0 -0
  81. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/insert_data_to_slice.py +0 -0
  82. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/insert_prediction.py +0 -0
  83. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/insert_scene.py +0 -0
  84. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/insert_slice_annotation_version.py +0 -0
  85. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/remove_data_from_slice.py +0 -0
  86. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/remove_data_meta.py +0 -0
  87. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/update_annotation.py +0 -0
  88. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/update_data.py +0 -0
  89. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/update_data_slice.py +0 -0
  90. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/update_frames.py +0 -0
  91. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/update_scene.py +0 -0
  92. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/update_slice_annotation.py +0 -0
  93. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/update_slice_annotation_version.py +0 -0
  94. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/data/params/upsert_data_meta.py +0 -0
  95. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/datasets/__init__.py +0 -0
  96. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/datasets/entities/__init__.py +0 -0
  97. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/datasets/entities/dataset.py +0 -0
  98. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/datasets/params/__init__.py +0 -0
  99. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/datasets/params/create_dataset.py +0 -0
  100. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/datasets/params/dataset.py +0 -0
  101. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/datasets/params/datasets.py +0 -0
  102. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/datasets/params/delete_dataset.py +0 -0
  103. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/datasets/params/update_dataset.py +0 -0
  104. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/datasets/queries.py +0 -0
  105. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/datasets/service.py +0 -0
  106. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/entities.py +0 -0
  107. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/exceptions.py +0 -0
  108. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/exports/__init__.py +0 -0
  109. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/exports/entities/__init__.py +0 -0
  110. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/exports/entities/export.py +0 -0
  111. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/exports/params/__init__.py +0 -0
  112. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/exports/params/create_export.py +0 -0
  113. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/exports/params/delete_export.py +0 -0
  114. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/exports/params/export.py +0 -0
  115. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/exports/params/exports.py +0 -0
  116. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/exports/params/update_export.py +0 -0
  117. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/exports/queries/get_exports.py +0 -0
  118. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/exports/queries.py +0 -0
  119. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/exports/service.py +0 -0
  120. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/inferences/__init__.py +0 -0
  121. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/inferences/service.py +0 -0
  122. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/models/__init__.py +0 -0
  123. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/models/entities.py +0 -0
  124. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/models/params/__init__.py +0 -0
  125. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/models/params/delete_model.py +0 -0
  126. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/models/params/get_models.py +0 -0
  127. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/models/queries.py +0 -0
  128. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/models/service.py +0 -0
  129. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/predictions/__init__.py +0 -0
  130. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/predictions/entities.py +0 -0
  131. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/predictions/params/__init__.py +0 -0
  132. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/predictions/params/create_prediction_set.py +0 -0
  133. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/predictions/params/delete_prediction_from_data.py +0 -0
  134. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/predictions/params/delete_prediction_set.py +0 -0
  135. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/predictions/params/get_prediction_set.py +0 -0
  136. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/predictions/params/get_prediction_sets.py +0 -0
  137. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/predictions/params/update_prediction_set_data_info.py +0 -0
  138. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/predictions/queries.py +0 -0
  139. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/predictions/service.py +0 -0
  140. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/slices/__init__.py +0 -0
  141. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/slices/entities/__init__.py +0 -0
  142. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/slices/entities/slice.py +0 -0
  143. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/slices/params/__init__.py +0 -0
  144. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/slices/params/create_slice.py +0 -0
  145. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/slices/params/delete_slice.py +0 -0
  146. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/slices/params/slice.py +0 -0
  147. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/slices/params/slices.py +0 -0
  148. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/slices/params/update_slice.py +0 -0
  149. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/slices/queries.py +0 -0
  150. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/users/__init__.py +0 -0
  151. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/users/entities/__init__.py +0 -0
  152. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/spb_onprem/users/entities/auth.py +0 -0
  153. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/superb_ai_onprem.egg-info/SOURCES.txt +0 -0
  154. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/superb_ai_onprem.egg-info/dependency_links.txt +0 -0
  155. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/superb_ai_onprem.egg-info/requires.txt +0 -0
  156. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/superb_ai_onprem.egg-info/top_level.txt +0 -0
  157. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/tests/__init__.py +0 -0
  158. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/tests/activities/__init__.py +0 -0
  159. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/tests/activities/real_test.py +0 -0
  160. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/tests/activities/test_get_activity_history.py +0 -0
  161. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/tests/activities/test_params.py +0 -0
  162. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/tests/activities/test_service.py +0 -0
  163. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/tests/contents/test_content_service.py +0 -0
  164. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/tests/data/__init__.py +0 -0
  165. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/tests/datasets/__init__.py +0 -0
  166. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/tests/datasets/test_dataset_service.py +0 -0
  167. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/tests/exports/__init__.py +0 -0
  168. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/tests/exports/real_test.py +0 -0
  169. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/tests/exports/test_entities.py +0 -0
  170. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/tests/exports/test_integration.py +0 -0
  171. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/tests/exports/test_params.py +0 -0
  172. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/tests/exports/test_service.py +0 -0
  173. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/tests/models/__init__.py +0 -0
  174. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/tests/models/test_model_service.py +0 -0
  175. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/tests/predictions/__init__.py +0 -0
  176. {superb_ai_onprem-0.5.22 → superb_ai_onprem-0.6.1}/tests/predictions/test_prediction_service.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: superb-ai-onprem
3
- Version: 0.5.22
3
+ Version: 0.6.1
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
@@ -46,23 +46,29 @@ from .entities import (
46
46
 
47
47
  # Filters
48
48
  from .searches import (
49
- AnnotationFilter,
50
- DataListFilter,
51
- DataFilterOptions,
52
- AnnotationRangeFilter,
53
- DateTimeRangeFilter,
54
- UserFilter,
55
- StringMetaFilter,
49
+ DateTimeRangeFilterOption,
50
+ UserFilterOption,
51
+ NumericRangeFilter,
52
+ GeoLocationFilter,
56
53
  NumberMetaFilter,
57
- DateTimeMetaFilter,
58
- MetaFilterOptions,
59
- DataSliceStatusFilter,
60
- DataSliceUserFilter,
61
- DataSliceTagsFilter,
62
- DataSliceCommentFilter,
54
+ KeywordMetaFilter,
55
+ DateMetaFilter,
56
+ MiscMetaFilter,
57
+ MetaFilter,
58
+ CountFilter,
59
+ DistanceCountFilter,
60
+ FrameCountsFilter,
61
+ FrameFilterOptions,
62
+ DataFilterOptions,
63
+ DataSliceStatusFilterOption,
64
+ DataSliceUserFilterOption,
65
+ DataSliceTagsFilterOption,
66
+ DataSliceCommentFilterOption,
63
67
  DataSlicePropertiesFilter,
64
68
  DataSliceFilter,
65
- CommentStatus,
69
+ FrameFilter,
70
+ DataFilter,
71
+ DataListFilter,
66
72
  DatasetsFilter,
67
73
  DatasetsFilterOptions,
68
74
  SlicesFilter,
@@ -115,22 +121,29 @@ __all__ = (
115
121
  "CommentStatus",
116
122
 
117
123
  # Filters
118
- "AnnotationFilter",
119
- "DataListFilter",
120
- "DataFilterOptions",
121
- "AnnotationRangeFilter",
122
- "DateTimeRangeFilter",
123
- "UserFilter",
124
- "StringMetaFilter",
124
+ "DateTimeRangeFilterOption",
125
+ "UserFilterOption",
126
+ "NumericRangeFilter",
127
+ "GeoLocationFilter",
125
128
  "NumberMetaFilter",
126
- "DateTimeMetaFilter",
127
- "MetaFilterOptions",
128
- "DataSliceStatusFilter",
129
- "DataSliceUserFilter",
130
- "DataSliceTagsFilter",
131
- "DataSliceCommentFilter",
129
+ "KeywordMetaFilter",
130
+ "DateMetaFilter",
131
+ "MiscMetaFilter",
132
+ "MetaFilter",
133
+ "CountFilter",
134
+ "DistanceCountFilter",
135
+ "FrameCountsFilter",
136
+ "FrameFilterOptions",
137
+ "DataFilterOptions",
138
+ "DataSliceStatusFilterOption",
139
+ "DataSliceUserFilterOption",
140
+ "DataSliceTagsFilterOption",
141
+ "DataSliceCommentFilterOption",
132
142
  "DataSlicePropertiesFilter",
133
143
  "DataSliceFilter",
144
+ "FrameFilter",
145
+ "DataFilter",
146
+ "DataListFilter",
134
147
  "DatasetsFilter",
135
148
  "DatasetsFilterOptions",
136
149
  "SlicesFilter",
@@ -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.22'
32
- __version_tuple__ = version_tuple = (0, 5, 22)
31
+ __version__ = version = '0.6.1'
32
+ __version_tuple__ = version_tuple = (0, 6, 1)
33
33
 
34
- __commit_id__ = commit_id = 'g752414d7f'
34
+ __commit_id__ = commit_id = 'g0879205eb'
@@ -10,9 +10,28 @@ from .data import (
10
10
  from .data_list import (
11
11
  get_data_id_list_params,
12
12
  get_data_list_params,
13
- AnnotationFilter,
14
- AnnotationRangeFilter,
13
+ DateTimeRangeFilterOption,
14
+ UserFilterOption,
15
+ NumericRangeFilter,
16
+ GeoLocationFilter,
17
+ NumberMetaFilter,
18
+ KeywordMetaFilter,
19
+ DateMetaFilter,
20
+ MiscMetaFilter,
21
+ MetaFilter,
22
+ CountFilter,
23
+ DistanceCountFilter,
24
+ FrameCountsFilter,
25
+ FrameFilterOptions,
15
26
  DataFilterOptions,
27
+ DataSliceStatusFilterOption,
28
+ DataSliceUserFilterOption,
29
+ DataSliceTagsFilterOption,
30
+ DataSliceCommentFilterOption,
31
+ DataSlicePropertiesFilter,
32
+ DataSliceFilter,
33
+ FrameFilter,
34
+ DataFilter,
16
35
  DataListFilter,
17
36
  )
18
37
  from .get_data_detail import (
@@ -81,9 +100,28 @@ __all__ = [
81
100
  "get_data_list_params",
82
101
  "get_data_detail_params",
83
102
  "get_evaluation_value_list_params",
84
- "AnnotationFilter",
85
- "AnnotationRangeFilter",
103
+ "DateTimeRangeFilterOption",
104
+ "UserFilterOption",
105
+ "NumericRangeFilter",
106
+ "GeoLocationFilter",
107
+ "NumberMetaFilter",
108
+ "KeywordMetaFilter",
109
+ "DateMetaFilter",
110
+ "MiscMetaFilter",
111
+ "MetaFilter",
112
+ "CountFilter",
113
+ "DistanceCountFilter",
114
+ "FrameCountsFilter",
115
+ "FrameFilterOptions",
86
116
  "DataFilterOptions",
117
+ "DataSliceStatusFilterOption",
118
+ "DataSliceUserFilterOption",
119
+ "DataSliceTagsFilterOption",
120
+ "DataSliceCommentFilterOption",
121
+ "DataSlicePropertiesFilter",
122
+ "DataSliceFilter",
123
+ "FrameFilter",
124
+ "DataFilter",
87
125
  "DataListFilter",
88
126
  "remove_data_from_slice_params",
89
127
  "insert_data_to_slice_params",
@@ -0,0 +1,215 @@
1
+ from typing import Optional, List, Union, Literal
2
+ from spb_onprem.base_model import CustomBaseModel, Field
3
+ from spb_onprem.data.enums import DataType, DataStatus
4
+ from spb_onprem.exceptions import BadParameterError
5
+
6
+ # === 기본 필터 ===
7
+ class DateTimeRangeFilterOption(CustomBaseModel):
8
+ datetime_from: Optional[str] = Field(None, alias="from")
9
+ to: Optional[str] = None
10
+ equals: Optional[str] = None
11
+
12
+ class UserFilterOption(CustomBaseModel):
13
+ equals: Optional[str] = None
14
+ contains: Optional[str] = None
15
+ user_in: Optional[List[str]] = Field(None, alias="in")
16
+ exists: Optional[bool] = None
17
+
18
+ class NumericRangeFilter(CustomBaseModel):
19
+ gt: Optional[float] = None
20
+ gte: Optional[float] = None
21
+ lt: Optional[float] = None
22
+ lte: Optional[float] = None
23
+ equals: Optional[float] = None
24
+
25
+ class GeoLocationFilter(CustomBaseModel):
26
+ latitude: float
27
+ longitude: float
28
+ radius_in_meters: float = Field(..., alias="radiusInMeters")
29
+
30
+ # === Meta 필터 ===
31
+ class NumberMetaFilter(CustomBaseModel):
32
+ key: str
33
+ range: Optional[NumericRangeFilter] = None
34
+
35
+ class KeywordMetaFilter(CustomBaseModel):
36
+ key: str
37
+ equals: Optional[str] = None
38
+ contains: Optional[str] = None
39
+ keyword_in: Optional[List[str]] = Field(None, alias="in")
40
+
41
+ class DateMetaFilter(CustomBaseModel):
42
+ key: str
43
+ range: Optional[DateTimeRangeFilterOption] = None
44
+
45
+ class MiscMetaFilter(CustomBaseModel):
46
+ key: str
47
+ equals: str
48
+
49
+ class MetaFilter(CustomBaseModel):
50
+ num: Optional[List[NumberMetaFilter]] = None
51
+ keyword: Optional[List[KeywordMetaFilter]] = None
52
+ date: Optional[List[DateMetaFilter]] = None
53
+ misc: Optional[List[MiscMetaFilter]] = None
54
+
55
+ # === Count 필터 ===
56
+ class CountFilter(CustomBaseModel):
57
+ key: str
58
+ range: Optional[NumericRangeFilter] = None
59
+
60
+ class DistanceCountFilter(CustomBaseModel):
61
+ key: str
62
+ distance_range: NumericRangeFilter = Field(..., alias="distanceRange")
63
+ count_range: NumericRangeFilter = Field(..., alias="countRange")
64
+
65
+ class FrameCountsFilter(CustomBaseModel):
66
+ annotation_class: Optional[List[CountFilter]] = Field(None, alias="class")
67
+ group: Optional[List[CountFilter]] = None
68
+ sub_class: Optional[List[CountFilter]] = Field(None, alias="subClass")
69
+ distance: Optional[List[DistanceCountFilter]] = None
70
+
71
+ # === Frame 필터 ===
72
+ class FrameFilterOptions(CustomBaseModel):
73
+ index: Optional[NumericRangeFilter] = None
74
+ version_contains: Optional[str] = Field(None, alias="versionContains")
75
+ channels_in: Optional[List[str]] = Field(None, alias="channelsIn")
76
+ timestamp: Optional[DateTimeRangeFilterOption] = None
77
+ location: Optional[GeoLocationFilter] = None
78
+ meta: Optional[MetaFilter] = None
79
+ counts: Optional[FrameCountsFilter] = None
80
+
81
+ # === Data 필터 ===
82
+ class DataFilterOptions(CustomBaseModel):
83
+ id_in: Optional[List[str]] = Field(None, alias="idIn")
84
+ slice_id_in: Optional[List[str]] = Field(None, alias="sliceIdIn")
85
+ key_contains: Optional[str] = Field(None, alias="keyContains")
86
+ key_matches: Optional[str] = Field(None, alias="keyMatches")
87
+ sub_type_contains: Optional[str] = Field(None, alias="subTypeContains")
88
+ sub_type_matches: Optional[str] = Field(None, alias="subTypeMatches")
89
+ type_in: Optional[List[str]] = Field(None, alias="typeIn")
90
+ created_at: Optional[DateTimeRangeFilterOption] = Field(None, alias="createdAt")
91
+ updated_at: Optional[DateTimeRangeFilterOption] = Field(None, alias="updatedAt")
92
+ created_by: Optional[UserFilterOption] = Field(None, alias="createdBy")
93
+ updated_by: Optional[UserFilterOption] = Field(None, alias="updatedBy")
94
+ meta: Optional[MetaFilter] = None
95
+ assigned_to_user: Optional[str] = Field(None, alias="assignedToUser")
96
+
97
+ class DataSliceStatusFilterOption(CustomBaseModel):
98
+ status_in: Optional[List[str]] = Field(None, alias="in")
99
+ equals: Optional[str] = None
100
+ status_not_in: Optional[List[str]] = Field(None, alias="notIn")
101
+
102
+ class DataSliceUserFilterOption(CustomBaseModel):
103
+ equals: Optional[str] = None
104
+ user_in: Optional[List[str]] = Field(None, alias="in")
105
+ exists: Optional[bool] = None
106
+
107
+ class DataSliceTagsFilterOption(CustomBaseModel):
108
+ contains: Optional[str] = None
109
+ has_any: Optional[List[str]] = Field(None, alias="hasAny")
110
+ has_all: Optional[List[str]] = Field(None, alias="hasAll")
111
+ exists: Optional[bool] = None
112
+
113
+ class DataSliceCommentFilterOption(CustomBaseModel):
114
+ comment_contains: Optional[str] = Field(None, alias="commentContains")
115
+ category: Optional[str] = None
116
+ status: Optional[str] = None
117
+ created_by: Optional[UserFilterOption] = Field(None, alias="createdBy")
118
+ created_at: Optional[DateTimeRangeFilterOption] = Field(None, alias="createdAt")
119
+ exists: Optional[bool] = None
120
+
121
+ class DataSlicePropertiesFilter(CustomBaseModel):
122
+ status: Optional[DataSliceStatusFilterOption] = None
123
+ labeler: Optional[DataSliceUserFilterOption] = None
124
+ reviewer: Optional[DataSliceUserFilterOption] = None
125
+ tags: Optional[DataSliceTagsFilterOption] = None
126
+ status_changed_at: Optional[DateTimeRangeFilterOption] = Field(None, alias="statusChangedAt")
127
+ comments: Optional[DataSliceCommentFilterOption] = None
128
+ meta: Optional[MetaFilter] = None
129
+ assigned_to_user: Optional[str] = Field(None, alias="assignedToUser")
130
+
131
+ class DataSliceFilter(CustomBaseModel):
132
+ id: str
133
+ must_filter: Optional[DataSlicePropertiesFilter] = Field(None, alias="must")
134
+ not_filter: Optional[DataSlicePropertiesFilter] = Field(None, alias="not")
135
+
136
+
137
+ class FrameFilter(CustomBaseModel):
138
+ conditions: Optional[FrameFilterOptions] = None
139
+ mode: Optional[Union[str, Literal["INDIVIDUAL_FRAMES", "DATA_SUMMARY"]]] = "INDIVIDUAL_FRAMES"
140
+ matching_frame_count: Optional[NumericRangeFilter] = Field(None, alias="matchingFrameCount")
141
+
142
+
143
+ class DataFilter(CustomBaseModel):
144
+ must_filter: Optional[DataFilterOptions] = Field(None, alias="must")
145
+ not_filter: Optional[DataFilterOptions] = Field(None, alias="not")
146
+ frames: Optional[List[FrameFilter]] = None
147
+ slice: Optional[DataSliceFilter] = None
148
+
149
+
150
+ class DataListFilter(CustomBaseModel):
151
+ must_filter: Optional[DataFilterOptions] = Field(None, alias="must")
152
+ not_filter: Optional[DataFilterOptions] = Field(None, alias="not")
153
+ slice: Optional[DataSliceFilter] = Field(None, alias="slice")
154
+ frames: Optional[List[FrameFilter]] = Field(None, alias="frames")
155
+
156
+
157
+ def get_data_id_list_params(
158
+ dataset_id: str,
159
+ data_filter: Optional[DataListFilter] = None,
160
+ cursor: Optional[str] = None,
161
+ length: Optional[int] = 50,
162
+ ):
163
+ """Make the variables for the dataIdList query.
164
+
165
+ Args:
166
+ dataset_id (str): The dataset id.
167
+ data_filter (Optional[DataListFilter], optional): The filter for the data list. Defaults to None.
168
+ cursor (Optional[str], optional): The cursor for the data list. Defaults to None.
169
+ length (Optional[int], optional): The length of the data list. Defaults to 50.
170
+
171
+ Raises:
172
+ BadParameterError: The maximum length is 200.
173
+
174
+ Returns:
175
+ dict: The variables for the dataIdList query.
176
+ """
177
+ if length > 200:
178
+ raise BadParameterError("The maximum length is 200.")
179
+ return {
180
+ "dataset_id": dataset_id,
181
+ "filter": data_filter.model_dump(by_alias=True, exclude_unset=True) if data_filter else None,
182
+ "cursor": cursor,
183
+ "length": length
184
+ }
185
+
186
+
187
+ def get_data_list_params(
188
+ dataset_id: str,
189
+ data_filter: Optional[DataListFilter] = None,
190
+ cursor: Optional[str] = None,
191
+ length: Optional[int] = 10,
192
+ ):
193
+ """Make the variables for the dataList query.
194
+
195
+ Args:
196
+ dataset_id (str): The dataset id.
197
+ data_filter (Optional[DataListFilter], optional): The filter for the data list. Defaults to None.
198
+ cursor (Optional[str], optional): The cursor for the data list. Defaults to None.
199
+ length (Optional[int], optional): The length of the data list. Defaults to 10.
200
+
201
+ Raises:
202
+ BadParameterError: The maximum length is 50.
203
+
204
+ Returns:
205
+ dict: The variables for the dataList query.
206
+ """
207
+
208
+ if length > 50:
209
+ raise BadParameterError("The maximum length is 50.")
210
+ return {
211
+ "dataset_id": dataset_id,
212
+ "filter": data_filter.model_dump(by_alias=True, exclude_unset=True) if data_filter else None,
213
+ "cursor": cursor,
214
+ "length": length
215
+ }
@@ -31,6 +31,10 @@ class Schemas:
31
31
  data {
32
32
  id
33
33
  }
34
+ selectedFrames {
35
+ id
36
+ selectedFrameIndex
37
+ }
34
38
  next
35
39
  totalCount
36
40
  '''
@@ -254,6 +258,10 @@ class Queries():
254
258
  length: $length
255
259
  ) {{
256
260
  {Schemas.DATA_PAGE}
261
+ selectedFrames {{
262
+ dataId
263
+ selectedFrameIndex
264
+ }}
257
265
  next
258
266
  totalCount
259
267
  }}
@@ -623,7 +631,7 @@ class Queries():
623
631
  GET_DETAIL = {
624
632
  "name": "data",
625
633
  "query": f'''
626
- query GetDataDetail($datasetId: String!, $id: ID) {{
634
+ query GetDataDetail($datasetId: ID!, $id: ID!) {{
627
635
  data(datasetId: $datasetId, id: $id) {{
628
636
  {Schemas.DATA_DETAIL}
629
637
  }}
@@ -121,10 +121,13 @@ class DataService(BaseService):
121
121
  )
122
122
  data_list = response.get("data", [])
123
123
  data = [Data.model_validate(data_dict) for data_dict in data_list]
124
+
125
+ selected_frames = response.get("selectedFrames", [])
126
+
124
127
  return (
125
128
  data,
126
129
  response.get("next", None),
127
- response.get("totalCount", 0)
130
+ response.get("totalCount", 0),
128
131
  )
129
132
 
130
133
  def get_data_id_list(
@@ -0,0 +1,76 @@
1
+ # Filters
2
+ from .data.params.data_list import (
3
+ DateTimeRangeFilterOption,
4
+ UserFilterOption,
5
+ NumericRangeFilter,
6
+ GeoLocationFilter,
7
+ NumberMetaFilter,
8
+ KeywordMetaFilter,
9
+ DateMetaFilter,
10
+ MiscMetaFilter,
11
+ MetaFilter,
12
+ CountFilter,
13
+ DistanceCountFilter,
14
+ FrameCountsFilter,
15
+ FrameFilterOptions,
16
+ DataFilterOptions,
17
+ DataSliceStatusFilterOption,
18
+ DataSliceUserFilterOption,
19
+ DataSliceTagsFilterOption,
20
+ DataSliceCommentFilterOption,
21
+ DataSlicePropertiesFilter,
22
+ DataSliceFilter,
23
+ FrameFilter,
24
+ DataFilter,
25
+ DataListFilter,
26
+ )
27
+ from .datasets.params.datasets import (
28
+ DatasetsFilter,
29
+ DatasetsFilterOptions,
30
+ )
31
+ from .slices.params.slices import (
32
+ SlicesFilterOptions,
33
+ SlicesFilter,
34
+ )
35
+ from .activities.params.activities import (
36
+ ActivitiesFilter,
37
+ ActivitiesFilterOptions,
38
+ )
39
+ from .exports.params.exports import (
40
+ ExportFilter,
41
+ ExportFilterOptions,
42
+ )
43
+
44
+ __all__ = [
45
+ "DateTimeRangeFilterOption",
46
+ "UserFilterOption",
47
+ "NumericRangeFilter",
48
+ "GeoLocationFilter",
49
+ "NumberMetaFilter",
50
+ "KeywordMetaFilter",
51
+ "DateMetaFilter",
52
+ "MiscMetaFilter",
53
+ "MetaFilter",
54
+ "CountFilter",
55
+ "DistanceCountFilter",
56
+ "FrameCountsFilter",
57
+ "FrameFilterOptions",
58
+ "DataFilterOptions",
59
+ "DataSliceStatusFilterOption",
60
+ "DataSliceUserFilterOption",
61
+ "DataSliceTagsFilterOption",
62
+ "DataSliceCommentFilterOption",
63
+ "DataSlicePropertiesFilter",
64
+ "DataSliceFilter",
65
+ "FrameFilter",
66
+ "DataFilter",
67
+ "DataListFilter",
68
+ "DatasetsFilter",
69
+ "DatasetsFilterOptions",
70
+ "SlicesFilter",
71
+ "SlicesFilterOptions",
72
+ "ActivitiesFilter",
73
+ "ActivitiesFilterOptions",
74
+ "ExportFilter",
75
+ "ExportFilterOptions",
76
+ ]
@@ -124,8 +124,8 @@ class SliceService(BaseService):
124
124
  slice_id=slice_id
125
125
  )
126
126
  )
127
- slice_dict = response.get("slice", {})
128
- return Slice.model_validate(slice_dict)
127
+ # slice_dict = response.get("slice", {})
128
+ return Slice.model_validate(response)
129
129
 
130
130
  def get_slice_by_name(
131
131
  self,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: superb-ai-onprem
3
- Version: 0.5.22
3
+ Version: 0.6.1
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
@@ -125,7 +125,7 @@ class TestDataService:
125
125
  query_structure = Queries.GET_DETAIL
126
126
 
127
127
  # Assert
128
- assert query_structure["name"] == "getDataDetail"
128
+ assert query_structure["name"] == "data"
129
129
  assert "query GetDataDetail($datasetId: ID!, $id: ID!)" in query_structure["query"]
130
130
  assert "data(datasetId: $datasetId, id: $id)" in query_structure["query"]
131
131
  assert callable(query_structure["variables"])