superb-ai-onprem 0.3.7__tar.gz → 0.4.0__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 (135) hide show
  1. {superb_ai_onprem-0.3.7/superb_ai_onprem.egg-info → superb_ai_onprem-0.4.0}/PKG-INFO +1 -1
  2. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/__init__.py +4 -0
  3. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/_version.py +2 -2
  4. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/contents/service.py +5 -4
  5. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/entities/__init__.py +2 -0
  6. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/entities/annotation.py +2 -0
  7. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/entities/data.py +2 -0
  8. superb_ai_onprem-0.4.0/spb_onprem/data/entities/data_slice.py +17 -0
  9. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/enums/__init__.py +2 -0
  10. superb_ai_onprem-0.4.0/spb_onprem/data/enums/data_slice_status.py +12 -0
  11. superb_ai_onprem-0.4.0/spb_onprem/data/params/__init__.py +87 -0
  12. superb_ai_onprem-0.4.0/spb_onprem/data/params/change_data_labeler.py +23 -0
  13. superb_ai_onprem-0.4.0/spb_onprem/data/params/change_data_reviewer.py +23 -0
  14. superb_ai_onprem-0.4.0/spb_onprem/data/params/change_data_status.py +23 -0
  15. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/params/data_list.py +12 -1
  16. superb_ai_onprem-0.4.0/spb_onprem/data/params/delete_slice_annotation_version.py +24 -0
  17. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/params/insert_annotation_version.py +13 -6
  18. superb_ai_onprem-0.4.0/spb_onprem/data/params/insert_slice_annotation_version.py +39 -0
  19. superb_ai_onprem-0.4.0/spb_onprem/data/params/update_data_slice.py +23 -0
  20. superb_ai_onprem-0.4.0/spb_onprem/data/params/update_slice_annotation.py +24 -0
  21. superb_ai_onprem-0.4.0/spb_onprem/data/params/update_slice_annotation_version.py +40 -0
  22. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/queries.py +234 -18
  23. superb_ai_onprem-0.4.0/spb_onprem/data/service.py +806 -0
  24. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/entities.py +4 -0
  25. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0/superb_ai_onprem.egg-info}/PKG-INFO +1 -1
  26. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/superb_ai_onprem.egg-info/SOURCES.txt +10 -0
  27. superb_ai_onprem-0.3.7/spb_onprem/data/params/__init__.py +0 -59
  28. superb_ai_onprem-0.3.7/spb_onprem/data/service.py +0 -541
  29. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/.github/workflows/publish.yml +0 -0
  30. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/.gitignore +0 -0
  31. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/LICENSE +0 -0
  32. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/Pipfile +0 -0
  33. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/Pipfile.lock +0 -0
  34. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/README.md +0 -0
  35. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/pyproject.toml +0 -0
  36. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/setup.cfg +0 -0
  37. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/setup.py +0 -0
  38. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/activities/__init__.py +0 -0
  39. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/activities/entities/__init__.py +0 -0
  40. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/activities/entities/activity.py +0 -0
  41. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/activities/entities/activity_history.py +0 -0
  42. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/activities/params/__init__.py +0 -0
  43. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/activities/params/activities.py +0 -0
  44. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/activities/params/activity.py +0 -0
  45. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/activities/params/create_activity.py +0 -0
  46. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/activities/params/delete_activity.py +0 -0
  47. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/activities/params/get_activity_history.py +0 -0
  48. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/activities/params/start_activity.py +0 -0
  49. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/activities/params/update_activity.py +0 -0
  50. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/activities/params/update_activity_history.py +0 -0
  51. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/activities/queries.py +0 -0
  52. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/activities/service.py +0 -0
  53. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/base_model.py +0 -0
  54. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/base_service.py +0 -0
  55. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/base_types.py +0 -0
  56. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/contents/__init__.py +0 -0
  57. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/contents/entities/__init__.py +0 -0
  58. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/contents/entities/base_content.py +0 -0
  59. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/contents/entities/content.py +0 -0
  60. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/contents/queries.py +0 -0
  61. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/__init__.py +0 -0
  62. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/entities/data_meta.py +0 -0
  63. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/entities/prediction.py +0 -0
  64. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/entities/scene.py +0 -0
  65. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/enums/data_meta_type.py +0 -0
  66. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/enums/data_type.py +0 -0
  67. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/enums/scene_type.py +0 -0
  68. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/params/create_data.py +0 -0
  69. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/params/data.py +0 -0
  70. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/params/delete_annotation_version.py +0 -0
  71. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/params/delete_data.py +0 -0
  72. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/params/delete_prediction.py +0 -0
  73. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/params/delete_scene.py +0 -0
  74. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/params/insert_data_to_slice.py +0 -0
  75. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/params/insert_prediction.py +0 -0
  76. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/params/insert_scene.py +0 -0
  77. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/params/remove_data_from_slice.py +0 -0
  78. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/params/remove_data_meta.py +0 -0
  79. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/params/update_annotation.py +0 -0
  80. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/params/update_data.py +0 -0
  81. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/params/update_scene.py +0 -0
  82. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/data/params/upsert_data_meta.py +0 -0
  83. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/datasets/__init__.py +0 -0
  84. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/datasets/entities/__init__.py +0 -0
  85. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/datasets/entities/dataset.py +0 -0
  86. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/datasets/params/__init__.py +0 -0
  87. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/datasets/params/create_dataset.py +0 -0
  88. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/datasets/params/dataset.py +0 -0
  89. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/datasets/params/datasets.py +0 -0
  90. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/datasets/params/update_dataset.py +0 -0
  91. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/datasets/queries.py +0 -0
  92. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/datasets/service.py +0 -0
  93. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/exceptions.py +0 -0
  94. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/exports/__init__.py +0 -0
  95. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/exports/entities/__init__.py +0 -0
  96. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/exports/entities/export.py +0 -0
  97. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/exports/params/__init__.py +0 -0
  98. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/exports/params/create_export.py +0 -0
  99. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/exports/params/delete_export.py +0 -0
  100. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/exports/params/export.py +0 -0
  101. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/exports/params/exports.py +0 -0
  102. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/exports/params/update_export.py +0 -0
  103. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/exports/queries/get_exports.py +0 -0
  104. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/exports/queries.py +0 -0
  105. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/exports/service.py +0 -0
  106. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/searches.py +0 -0
  107. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/slices/__init__.py +0 -0
  108. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/slices/entities/__init__.py +0 -0
  109. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/slices/entities/slice.py +0 -0
  110. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/slices/params/__init__.py +0 -0
  111. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/slices/params/create_slice.py +0 -0
  112. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/slices/params/delete_slice.py +0 -0
  113. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/slices/params/slice.py +0 -0
  114. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/slices/params/slices.py +0 -0
  115. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/slices/params/update_slice.py +0 -0
  116. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/slices/queries.py +0 -0
  117. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/slices/service.py +0 -0
  118. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/users/__init__.py +0 -0
  119. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/users/entities/__init__.py +0 -0
  120. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/spb_onprem/users/entities/auth.py +0 -0
  121. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/superb_ai_onprem.egg-info/dependency_links.txt +0 -0
  122. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/superb_ai_onprem.egg-info/requires.txt +0 -0
  123. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/superb_ai_onprem.egg-info/top_level.txt +0 -0
  124. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/tests/__init__.py +0 -0
  125. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/tests/activities/__init__.py +0 -0
  126. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/tests/activities/real_test.py +0 -0
  127. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/tests/activities/test_get_activity_history.py +0 -0
  128. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/tests/activities/test_params.py +0 -0
  129. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/tests/activities/test_service.py +0 -0
  130. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/tests/exports/__init__.py +0 -0
  131. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/tests/exports/real_test.py +0 -0
  132. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/tests/exports/test_entities.py +0 -0
  133. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/tests/exports/test_integration.py +0 -0
  134. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/tests/exports/test_params.py +0 -0
  135. {superb_ai_onprem-0.3.7 → superb_ai_onprem-0.4.0}/tests/exports/test_service.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: superb-ai-onprem
3
- Version: 0.3.7
3
+ Version: 0.4.0
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
@@ -22,6 +22,7 @@ from .entities import (
22
22
  DataMeta,
23
23
  Dataset,
24
24
  Slice,
25
+ DataSlice,
25
26
  Activity,
26
27
  ActivityHistory,
27
28
  Export,
@@ -32,6 +33,7 @@ from .entities import (
32
33
  SceneType,
33
34
  DataMetaTypes,
34
35
  DataMetaValue,
36
+ DataSliceStatus,
35
37
  ActivityStatus,
36
38
  ActivitySchema,
37
39
  SchemaType,
@@ -70,6 +72,7 @@ __all__ = (
70
72
  "DataMeta",
71
73
  "Dataset",
72
74
  "Slice",
75
+ "DataSlice",
73
76
  "Activity",
74
77
  "ActivityHistory",
75
78
  "Export",
@@ -80,6 +83,7 @@ __all__ = (
80
83
  "SceneType",
81
84
  "DataMetaTypes",
82
85
  "DataMetaValue",
86
+ "DataSliceStatus",
83
87
  "ActivityStatus",
84
88
  "ActivitySchema",
85
89
  "SchemaType",
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.3.7'
21
- __version_tuple__ = version_tuple = (0, 3, 7)
20
+ __version__ = version = '0.4.0'
21
+ __version_tuple__ = version_tuple = (0, 4, 0)
@@ -3,14 +3,14 @@ import requests
3
3
  import json
4
4
 
5
5
  from io import BytesIO
6
- from typing import Optional, Union
6
+ from typing import Optional, Tuple, Union
7
7
 
8
8
  from spb_onprem.base_service import BaseService
9
9
  from spb_onprem.base_types import (
10
10
  Undefined,
11
11
  UndefinedType,
12
12
  )
13
- from .entities import BaseContent
13
+ from .entities import BaseContent, Content
14
14
  from .queries import Queries
15
15
 
16
16
 
@@ -30,7 +30,7 @@ class ContentService(BaseService):
30
30
  str,
31
31
  UndefinedType
32
32
  ] = Undefined,
33
- ) -> str:
33
+ ) -> Tuple[Content, str]:
34
34
  '''
35
35
  Creates a new content.
36
36
  Args:
@@ -45,7 +45,8 @@ class ContentService(BaseService):
45
45
  query=Queries.CREATE,
46
46
  variables=Queries.CREATE["variables"](key, content_type)
47
47
  )
48
- return response['uploadURL']
48
+ content = Content.model_validate(response['content'])
49
+ return content, response['uploadURL']
49
50
 
50
51
  def upload_content(
51
52
  self,
@@ -3,6 +3,7 @@ from .data_meta import DataMeta
3
3
  from .data import Data
4
4
  from .prediction import Prediction
5
5
  from .scene import Scene
6
+ from .data_slice import DataSlice
6
7
 
7
8
 
8
9
  __all__ = (
@@ -12,4 +13,5 @@ __all__ = (
12
13
  "AnnotationVersion",
13
14
  "Prediction",
14
15
  "DataMeta",
16
+ "DataSlice",
15
17
  )
@@ -11,6 +11,8 @@ class AnnotationVersion(CustomBaseModel):
11
11
  This has the content of the data annotation.
12
12
  """
13
13
  id: Optional[str] = None
14
+ channel: Optional[str] = None
15
+ version: Optional[str] = None
14
16
  content: Optional[BaseContent] = None
15
17
  meta: Optional[dict] = None
16
18
 
@@ -5,6 +5,7 @@ from .scene import Scene
5
5
  from .annotation import Annotation
6
6
  from .prediction import Prediction
7
7
  from .data_meta import DataMeta
8
+ from .data_slice import DataSlice
8
9
  from spb_onprem.contents.entities import BaseContent
9
10
 
10
11
  class Data(CustomBaseModel):
@@ -26,3 +27,4 @@ class Data(CustomBaseModel):
26
27
  created_by: Optional[str] = Field(None, alias="createdBy")
27
28
  updated_at: Optional[str] = Field(None, alias="updatedAt")
28
29
  updated_by: Optional[str] = Field(None, alias="updatedBy")
30
+ slices: Optional[List[DataSlice]] = None
@@ -0,0 +1,17 @@
1
+ from typing import List, Optional, Any
2
+ from spb_onprem.base_model import CustomBaseModel, Field
3
+ from spb_onprem.data.enums.data_slice_status import DataSliceStatus
4
+ from .annotation import Annotation
5
+
6
+ class DataSlice(CustomBaseModel):
7
+ """
8
+ 데이터 슬라이스 정보를 담는 클래스
9
+ """
10
+ id: Optional[str] = None
11
+ status: Optional[DataSliceStatus] = DataSliceStatus.PENDING
12
+ labeler: Optional[str] = None
13
+ reviewer: Optional[str] = None
14
+ tags: Optional[List[str]] = None
15
+ status_changed_at: Optional[str] = Field(None, alias="statusChangedAt")
16
+ annotation: Optional[Annotation] = None
17
+ meta: Optional[Any] = None
@@ -1,10 +1,12 @@
1
1
  from .data_meta_type import DataMetaTypes, DataMetaValue
2
2
  from .data_type import DataType
3
3
  from .scene_type import SceneType
4
+ from .data_slice_status import DataSliceStatus
4
5
 
5
6
  __all__ = (
6
7
  "DataType",
7
8
  "SceneType",
8
9
  "DataMetaTypes",
9
10
  "DataMetaValue",
11
+ "DataSliceStatus",
10
12
  )
@@ -0,0 +1,12 @@
1
+ from enum import Enum
2
+
3
+ class DataSliceStatus(str, Enum):
4
+ """
5
+ 데이터 슬라이스의 상태를 나타내는 열거형
6
+ """
7
+ PENDING = "PENDING"
8
+ REQUEST_LABELING = "REQUEST_LABELING"
9
+ LABELING = "LABELING"
10
+ REVIEWING = "REVIEWING"
11
+ COMPLETED = "COMPLETED"
12
+ REJECTED = "REJECTED"
@@ -0,0 +1,87 @@
1
+ from .create import (
2
+ create_params
3
+ )
4
+ from .update import (
5
+ update_params
6
+ )
7
+ from .get import (
8
+ get_params
9
+ )
10
+ from .get_data_id_list import (
11
+ get_data_id_list_params
12
+ )
13
+ from .get_data_list import (
14
+ get_data_list_params
15
+ )
16
+ from .remove_data_from_slice import (
17
+ remove_data_from_slice_params
18
+ )
19
+ from .insert_data_to_slice import (
20
+ insert_data_to_slice_params
21
+ )
22
+ from .delete_data import (
23
+ delete_data_params
24
+ )
25
+ from .insert_prediction import (
26
+ insert_prediction_params
27
+ )
28
+ from .delete_prediction import (
29
+ delete_prediction_params
30
+ )
31
+ from .update_annotation import (
32
+ update_annotation_params
33
+ )
34
+ from .insert_annotation_version import (
35
+ insert_annotation_version_params,
36
+ )
37
+ from .delete_annotation_version import (
38
+ delete_annotation_version_params,
39
+ )
40
+ from .update_slice_annotation import (
41
+ update_slice_annotation_params,
42
+ )
43
+ from .insert_slice_annotation_version import (
44
+ insert_slice_annotation_version_params,
45
+ )
46
+ from .update_slice_annotation_version import (
47
+ update_slice_annotation_version_params,
48
+ )
49
+ from .delete_slice_annotation_version import (
50
+ delete_slice_annotation_version_params,
51
+ )
52
+ from .change_data_status import (
53
+ change_data_status_params,
54
+ )
55
+ from .change_data_labeler import (
56
+ change_data_labeler_params,
57
+ )
58
+ from .change_data_reviewer import (
59
+ change_data_reviewer_params,
60
+ )
61
+ from .update_data_slice import (
62
+ update_data_slice_params,
63
+ )
64
+
65
+ __all__ = [
66
+ "create_params",
67
+ "update_params",
68
+ "get_params",
69
+ "get_data_id_list_params",
70
+ "get_data_list_params",
71
+ "remove_data_from_slice_params",
72
+ "insert_data_to_slice_params",
73
+ "delete_data_params",
74
+ "insert_prediction_params",
75
+ "delete_prediction_params",
76
+ "update_annotation_params",
77
+ "insert_annotation_version_params",
78
+ "delete_annotation_version_params",
79
+ "update_slice_annotation_params",
80
+ "insert_slice_annotation_version_params",
81
+ "update_slice_annotation_version_params",
82
+ "delete_slice_annotation_version_params",
83
+ "change_data_status_params",
84
+ "change_data_labeler_params",
85
+ "change_data_reviewer_params",
86
+ "update_data_slice_params",
87
+ ]
@@ -0,0 +1,23 @@
1
+ from typing import Optional
2
+
3
+
4
+ def change_data_labeler_params(
5
+ dataset_id: str,
6
+ data_id: str,
7
+ slice_id: str,
8
+ labeler: Optional[str],
9
+ ):
10
+ """Make the variables for the changeDataLabeler query.
11
+
12
+ Args:
13
+ dataset_id (str): The dataset ID of the data.
14
+ data_id (str): The ID of the data.
15
+ slice_id (str): The slice ID.
16
+ labeler (Optional[str]): The labeler ID. None to unassign.
17
+ """
18
+ return {
19
+ "dataset_id": dataset_id,
20
+ "data_id": data_id,
21
+ "slice_id": slice_id,
22
+ "labeler": labeler,
23
+ }
@@ -0,0 +1,23 @@
1
+ from typing import Optional
2
+
3
+
4
+ def change_data_reviewer_params(
5
+ dataset_id: str,
6
+ data_id: str,
7
+ slice_id: str,
8
+ reviewer: Optional[str],
9
+ ):
10
+ """Make the variables for the changeDataReviewer query.
11
+
12
+ Args:
13
+ dataset_id (str): The dataset ID of the data.
14
+ data_id (str): The ID of the data.
15
+ slice_id (str): The slice ID.
16
+ reviewer (Optional[str]): The reviewer ID. None to unassign.
17
+ """
18
+ return {
19
+ "dataset_id": dataset_id,
20
+ "data_id": data_id,
21
+ "slice_id": slice_id,
22
+ "reviewer": reviewer,
23
+ }
@@ -0,0 +1,23 @@
1
+ from spb_onprem.data.enums.data_slice_status import DataSliceStatus
2
+
3
+
4
+ def change_data_status_params(
5
+ dataset_id: str,
6
+ data_id: str,
7
+ slice_id: str,
8
+ status: DataSliceStatus,
9
+ ):
10
+ """Make the variables for the changeDataStatus query.
11
+
12
+ Args:
13
+ dataset_id (str): The dataset ID of the data.
14
+ data_id (str): The ID of the data.
15
+ slice_id (str): The slice ID.
16
+ status (DataSliceStatus): The new status of the data slice.
17
+ """
18
+ return {
19
+ "dataset_id": dataset_id,
20
+ "data_id": data_id,
21
+ "slice_id": slice_id,
22
+ "status": status.value,
23
+ }
@@ -8,7 +8,16 @@ from spb_onprem.exceptions import BadParameterError
8
8
 
9
9
  class AnnotationFilter(CustomBaseModel):
10
10
  type: Optional[str] = None
11
- key: Optional[str] = None
11
+ name: Optional[str] = None
12
+
13
+
14
+ class AnnotationRangeFilter(CustomBaseModel):
15
+ annotation_type: Optional[str] = Field(None, alias="annotationType")
16
+ class_name: Optional[str] = Field(None, alias="className")
17
+ class_count_equals: Optional[int] = Field(None, alias="classCountEquals")
18
+ class_count_in: Optional[List[int]] = Field(None, alias="classCountIn")
19
+ class_count_max: Optional[int] = Field(None, alias="classCountMax")
20
+ class_count_min: Optional[int] = Field(None, alias="classCountMin")
12
21
 
13
22
 
14
23
  class DataFilterOptions(CustomBaseModel):
@@ -18,8 +27,10 @@ class DataFilterOptions(CustomBaseModel):
18
27
  key_contains: Optional[str] = Field(None, alias="keyContains")
19
28
  key_matches: Optional[str] = Field(None, alias="keyMatches")
20
29
  type_in: Optional[List[DataType]] = Field(None, alias="typeIn")
30
+ annotation_any: Optional[List[AnnotationFilter]] = Field(None, alias="annotationAny")
21
31
  annotation_in: Optional[List[AnnotationFilter]] = Field(None, alias="annotationIn")
22
32
  annotation_exists: Optional[bool] = Field(None, alias="annotationExists")
33
+ annotation_range: Optional[List[AnnotationRangeFilter]] = Field(None, alias="annotationRange")
23
34
  prediction_set_id_in: Optional[List[str]] = Field(None, alias="predictionSetIdIn")
24
35
  prediction_set_id_exists: Optional[bool] = Field(None, alias="predictionSetIdExists")
25
36
 
@@ -0,0 +1,24 @@
1
+ def delete_slice_annotation_version_params(
2
+ dataset_id: str,
3
+ data_id: str,
4
+ slice_id: str,
5
+ id: str,
6
+ ):
7
+ """Delete slice annotation version from selected data.
8
+
9
+ Args:
10
+ dataset_id (str): dataset id which the data belongs to
11
+ data_id (str): data id to be deleted from
12
+ slice_id (str): slice id of the data
13
+ id (str): annotation version id to be deleted
14
+
15
+ Returns:
16
+ dict: the params for graphql query
17
+ """
18
+
19
+ return {
20
+ "dataset_id": dataset_id,
21
+ "data_id": data_id,
22
+ "slice_id": slice_id,
23
+ "id": id,
24
+ }
@@ -16,14 +16,21 @@ def insert_annotation_version_params(
16
16
  Returns:
17
17
  dict: the params for graphql query
18
18
  """
19
+ version_data = {
20
+ "content": version.content.model_dump(
21
+ by_alias=True, exclude_unset=True
22
+ ),
23
+ "meta": version.meta
24
+ }
25
+
26
+ # channel과 version 필드가 있으면 추가
27
+ if version.channel is not None:
28
+ version_data["channel"] = version.channel
29
+ if version.version is not None:
30
+ version_data["version"] = version.version
19
31
 
20
32
  return {
21
33
  "dataset_id": dataset_id,
22
34
  "data_id": data_id,
23
- "version": {
24
- "content": version.content.model_dump(
25
- by_alias=True, exclude_unset=True
26
- ),
27
- "meta": version.meta
28
- },
35
+ "version": version_data,
29
36
  }
@@ -0,0 +1,39 @@
1
+ from spb_onprem.data.entities import AnnotationVersion
2
+
3
+
4
+ def insert_slice_annotation_version_params(
5
+ dataset_id: str,
6
+ data_id: str,
7
+ slice_id: str,
8
+ version: AnnotationVersion,
9
+ ):
10
+ """Insert slice annotation version to selected data.
11
+
12
+ Args:
13
+ dataset_id (str): dataset id which the data belongs to
14
+ data_id (str): data id to be inserted
15
+ slice_id (str): slice id of the data
16
+ version (AnnotationVersion): annotation version to be inserted
17
+
18
+ Returns:
19
+ dict: the params for graphql query
20
+ """
21
+ version_data = {
22
+ "content": version.content.model_dump(
23
+ by_alias=True, exclude_unset=True
24
+ ),
25
+ "meta": version.meta
26
+ }
27
+
28
+ # channel과 version 필드가 있으면 추가
29
+ if version.channel is not None:
30
+ version_data["channel"] = version.channel
31
+ if version.version is not None:
32
+ version_data["version"] = version.version
33
+
34
+ return {
35
+ "dataset_id": dataset_id,
36
+ "data_id": data_id,
37
+ "slice_id": slice_id,
38
+ "version": version_data,
39
+ }
@@ -0,0 +1,23 @@
1
+ from typing import Any
2
+
3
+
4
+ def update_data_slice_params(
5
+ dataset_id: str,
6
+ data_id: str,
7
+ slice_id: str,
8
+ meta: Any,
9
+ ):
10
+ """Make the variables for the updateDataSlice query.
11
+
12
+ Args:
13
+ dataset_id (str): The dataset ID of the data.
14
+ data_id (str): The ID of the data.
15
+ slice_id (str): The slice ID.
16
+ meta (Any): The meta of the data slice.
17
+ """
18
+ return {
19
+ "dataset_id": dataset_id,
20
+ "data_id": data_id,
21
+ "slice_id": slice_id,
22
+ "meta": meta,
23
+ }
@@ -0,0 +1,24 @@
1
+ from typing import Union, Any
2
+ from spb_onprem.base_types import UndefinedType, Undefined
3
+
4
+
5
+ def update_slice_annotation_params(
6
+ dataset_id: str,
7
+ data_id: str,
8
+ slice_id: str,
9
+ meta: Any,
10
+ ):
11
+ """Make the variables for the updateSliceAnnotation query.
12
+
13
+ Args:
14
+ dataset_id (str): The dataset ID of the data.
15
+ data_id (str): The ID of the data.
16
+ slice_id (str): The slice ID.
17
+ meta (Any): The meta of the slice annotation.
18
+ """
19
+ return {
20
+ "dataset_id": dataset_id,
21
+ "data_id": data_id,
22
+ "slice_id": slice_id,
23
+ "meta": meta,
24
+ }
@@ -0,0 +1,40 @@
1
+ from typing import Union, Optional, Any
2
+ from spb_onprem.base_types import UndefinedType, Undefined
3
+ from spb_onprem.exceptions import BadParameterError
4
+
5
+
6
+ def update_slice_annotation_version_params(
7
+ dataset_id: str,
8
+ data_id: str,
9
+ slice_id: str,
10
+ id: str,
11
+ channel: Union[str, UndefinedType, None] = Undefined,
12
+ version: Union[str, UndefinedType, None] = Undefined,
13
+ meta: Union[dict, UndefinedType, None] = Undefined,
14
+ ):
15
+ """Make the variables for the updateSliceAnnotationVersion query.
16
+
17
+ Args:
18
+ dataset_id (str): The dataset ID of the data.
19
+ data_id (str): The ID of the data.
20
+ slice_id (str): The slice ID.
21
+ id (str): The annotation version ID.
22
+ channel (str, optional): The channel of the annotation version.
23
+ version (str, optional): The version string of the annotation version.
24
+ meta (dict, optional): The meta of the annotation version.
25
+ """
26
+ variables = {
27
+ "dataset_id": dataset_id,
28
+ "data_id": data_id,
29
+ "slice_id": slice_id,
30
+ "id": id,
31
+ }
32
+
33
+ if channel is not Undefined:
34
+ variables["channel"] = channel
35
+ if version is not Undefined:
36
+ variables["version"] = version
37
+ if meta is not Undefined:
38
+ variables["meta"] = meta
39
+
40
+ return variables