Skip to content

Commit 27fa100

Browse files
authored
Merge pull request #609 from superannotateai/1962_default_key
Removed count and is_multiselect from classes
2 parents 1b39762 + 042ae28 commit 27fa100

File tree

8 files changed

+3
-39
lines changed

8 files changed

+3
-39
lines changed

pytest.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ minversion = 3.7
33
log_cli=true
44
python_files = test_*.py
55
;pytest_plugins = ['pytest_profiling']
6-
addopts = -n auto --dist=loadscope
6+
;addopts = -n auto --dist=loadscope
77

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ email-validator~=2.0
88
pandas~=1.3
99
ffmpeg-python~=0.2
1010
pillow~=9.5
11-
aiofiles==0.8.0
11+
aiofiles==23.1.0
1212
requests==2.30.0
1313
tqdm==4.64.0
1414
fire==0.4.0

src/superannotate/lib/core/entities/classes.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ class Attribute(TimedBaseModel):
6060
group_id: Optional[StrictInt]
6161
project_id: Optional[StrictInt]
6262
name: Optional[StrictStr]
63+
default: Any
6364

6465
class Config:
6566
extra = Extra.ignore

tests/integration/classes/test_create_annotation_class.py

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,7 @@ def test_create_annotation_class_with_attr_and_default_value(self):
4949
}
5050
],
5151
)
52-
assert "is_multiselect" not in _class["attribute_groups"][0]
5352
classes = sa.search_annotation_classes(self.PROJECT_NAME)
54-
assert "is_multiselect" not in classes[0]["attribute_groups"][0]
5553
assert classes[0]["attribute_groups"][0]["default_value"] == "Bus"
5654

5755
@pytest.mark.flaky(reruns=2)
@@ -139,7 +137,6 @@ def test_create_annotation_classes_with_empty_default_attribute(self):
139137
{
140138
"name": "Personal vehicle",
141139
"color": "#ecb65f",
142-
"count": 25,
143140
"createdAt": "2020-10-12T11:35:20.000Z",
144141
"updatedAt": "2020-10-12T11:48:19.000Z",
145142
"attribute_groups": [
@@ -158,7 +155,6 @@ def test_create_annotation_classes_with_empty_default_attribute(self):
158155
)
159156
classes = sa.search_annotation_classes(self.PROJECT_NAME)
160157
assert classes[0]["attribute_groups"][0]["default_value"] is None
161-
assert "is_multiselect" not in classes[0]["attribute_groups"][0]
162158

163159
def test_class_creation_type(self):
164160
with tempfile.TemporaryDirectory() as tmpdir_name:
@@ -172,7 +168,6 @@ def test_class_creation_type(self):
172168
"project_id":7617,
173169
"name":"Personal vehicle",
174170
"color":"#547497",
175-
"count":18,
176171
"createdAt":"2020-09-29T10:39:39.000Z",
177172
"updatedAt":"2020-09-29T10:48:18.000Z",
178173
"type": "tag",
@@ -181,7 +176,6 @@ def test_class_creation_type(self):
181176
"id":21448,
182177
"class_id":56820,
183178
"name":"Large",
184-
"is_multiselect":0,
185179
"createdAt":"2020-09-29T10:39:39.000Z",
186180
"updatedAt":"2020-09-29T10:39:39.000Z",
187181
"attributes":[
@@ -190,7 +184,6 @@ def test_class_creation_type(self):
190184
"group_id":21448,
191185
"project_id":7617,
192186
"name":"no",
193-
"count":0,
194187
"createdAt":"2020-09-29T10:39:39.000Z",
195188
"updatedAt":"2020-09-29T10:39:39.000Z"
196189
},
@@ -199,7 +192,6 @@ def test_class_creation_type(self):
199192
"group_id":21448,
200193
"project_id":7617,
201194
"name":"yes",
202-
"count":1,
203195
"createdAt":"2020-09-29T10:39:39.000Z",
204196
"updatedAt":"2020-09-29T10:48:18.000Z"
205197
}
@@ -212,15 +204,13 @@ def test_class_creation_type(self):
212204
"project_id":7617,
213205
"name":"Large vehicle",
214206
"color":"#2ba36d",
215-
"count":1,
216207
"createdAt":"2020-09-29T10:39:39.000Z",
217208
"updatedAt":"2020-09-29T10:48:18.000Z",
218209
"attribute_groups":[
219210
{
220211
"id":21449,
221212
"class_id":56821,
222213
"name":"small",
223-
"is_multiselect":0,
224214
"createdAt":"2020-09-29T10:39:39.000Z",
225215
"updatedAt":"2020-09-29T10:39:39.000Z",
226216
"attributes":[
@@ -229,7 +219,6 @@ def test_class_creation_type(self):
229219
"group_id":21449,
230220
"project_id":7617,
231221
"name":"yes",
232-
"count":0,
233222
"createdAt":"2020-09-29T10:39:39.000Z",
234223
"updatedAt":"2020-09-29T10:39:39.000Z"
235224
},
@@ -238,7 +227,6 @@ def test_class_creation_type(self):
238227
"group_id":21449,
239228
"project_id":7617,
240229
"name":"no",
241-
"count":1,
242230
"createdAt":"2020-09-29T10:39:39.000Z",
243231
"updatedAt":"2020-09-29T10:48:18.000Z"
244232
}
@@ -251,7 +239,6 @@ def test_class_creation_type(self):
251239
"project_id":7617,
252240
"name":"Pedestrian",
253241
"color":"#d4da03",
254-
"count":3,
255242
"createdAt":"2020-09-29T10:39:39.000Z",
256243
"updatedAt":"2020-09-29T10:48:18.000Z",
257244
"attribute_groups":[
@@ -263,7 +250,6 @@ def test_class_creation_type(self):
263250
"project_id":7617,
264251
"name":"Two wheeled vehicle",
265252
"color":"#f11aec",
266-
"count":1,
267253
"createdAt":"2020-09-29T10:39:39.000Z",
268254
"updatedAt":"2020-09-29T10:48:18.000Z",
269255
"attribute_groups":[
@@ -275,7 +261,6 @@ def test_class_creation_type(self):
275261
"project_id":7617,
276262
"name":"Traffic sign",
277263
"color":"#d8a7fd",
278-
"count":9,
279264
"createdAt":"2020-09-29T10:39:39.000Z",
280265
"updatedAt":"2020-09-29T10:48:18.000Z",
281266
"attribute_groups":[
@@ -311,7 +296,6 @@ def test_create_annotation_class(self):
311296
"project_id":7617,
312297
"name":"Personal vehicle",
313298
"color":"#547497",
314-
"count":18,
315299
"createdAt":"2020-09-29T10:39:39.000Z",
316300
"updatedAt":"2020-09-29T10:48:18.000Z",
317301
"type": "tag",
@@ -320,7 +304,6 @@ def test_create_annotation_class(self):
320304
"id":21448,
321305
"class_id":56820,
322306
"name":"Large",
323-
"is_multiselect":0,
324307
"createdAt":"2020-09-29T10:39:39.000Z",
325308
"updatedAt":"2020-09-29T10:39:39.000Z",
326309
"attributes":[]
@@ -354,7 +337,6 @@ def test_create_annotation_class_via_ocr_group_type(self):
354337
"class_id": 56820,
355338
"name": "Large",
356339
"group_type": "ocr",
357-
"is_multiselect": 0,
358340
"createdAt": "2020-09-29T10:39:39.000Z",
359341
"updatedAt": "2020-09-29T10:39:39.000Z",
360342
"attributes": [],

tests/integration/classes/test_create_annotation_classes_from_classes_json.py

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,6 @@ def test_invalid_json(self):
5656
except Exception as e:
5757
self.assertIn("Couldn't validate annotation classes", str(e))
5858

59-
def test_create_annotations_classes_is_multiselect(self):
60-
classes = sa.create_annotation_classes_from_classes_json(
61-
self.PROJECT_NAME, self.large_json_path
62-
)
63-
self.assertEqual(len(classes), 1500)
64-
assert "is_multiselect" not in str(classes)
65-
6659
def test_create_annotation_classes_from_s3(self):
6760
annotation_classes = sa.search_annotation_classes(self.PROJECT_NAME)
6861
self.assertEqual(len(annotation_classes), 0)
@@ -104,7 +97,6 @@ def test_create_annotation_class(self):
10497
"id":21448,
10598
"class_id":56820,
10699
"name":"Large",
107-
"is_multiselect":0,
108100
"createdAt":"2020-09-29T10:39:39.000Z",
109101
"updatedAt":"2020-09-29T10:39:39.000Z",
110102
"attributes":[]
@@ -149,7 +141,6 @@ def test_create_annotation_class_via_json_and_ocr_group_type(self):
149141
"class_id":56820,
150142
"name":"Large",
151143
"group_type": "ocr",
152-
"is_multiselect":0,
153144
"createdAt":"2020-09-29T10:39:39.000Z",
154145
"updatedAt":"2020-09-29T10:39:39.000Z",
155146
"attributes":[]
@@ -189,7 +180,6 @@ def test_create_annotation_classes_with_default_attribute(self):
189180
{
190181
"name": "Personal vehicle",
191182
"color": "#ecb65f",
192-
"count": 25,
193183
"createdAt": "2020-10-12T11:35:20.000Z",
194184
"updatedAt": "2020-10-12T11:48:19.000Z",
195185
"attribute_groups": [

tests/integration/projects/test_basic_project.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,10 @@ def test_workflow_get(self):
2424
[
2525
{
2626
"name": "tall",
27-
"is_multiselect": 0,
2827
"attributes": [{"name": "yes"}, {"name": "no"}],
2928
},
3029
{
3130
"name": "age",
32-
"is_multiselect": 0,
3331
"attributes": [{"name": "young"}, {"name": "old"}],
3432
},
3533
],
@@ -41,12 +39,10 @@ def test_workflow_get(self):
4139
[
4240
{
4341
"name": "tall",
44-
"is_multiselect": 0,
4542
"attributes": [{"name": "yes"}, {"name": "no"}],
4643
},
4744
{
4845
"name": "age",
49-
"is_multiselect": 0,
5046
"attributes": [{"name": "young"}, {"name": "old"}],
5147
},
5248
],

tests/integration/projects/test_clone_project.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,10 @@ class TestCloneProject(TestCase):
2020
ANNOTATION_CLASSES = [
2121
{
2222
"name": "tall",
23-
"is_multiselect": 0,
2423
"attributes": [{"name": "yes"}, {"name": "no"}],
2524
},
2625
{
2726
"name": "age",
28-
"is_multiselect": 0,
2927
"attributes": [{"name": "young"}, {"name": "old"}],
3028
},
3129
]
@@ -151,12 +149,10 @@ def test_create_like_project(self):
151149
[
152150
{
153151
"name": "tall",
154-
"is_multiselect": 0,
155152
"attributes": [{"name": "yes"}, {"name": "no"}],
156153
},
157154
{
158155
"name": "age",
159-
"is_multiselect": 0,
160156
"attributes": [{"name": "young"}, {"name": "old"}],
161157
},
162158
],

tests/integration/test_interface.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
from os.path import dirname
44

55
import pytest
6-
from src.superannotate import AppException
76
from src.superannotate import export_annotation
87
from src.superannotate import SAClient
98
from tests.integration.base import BaseTestCase

0 commit comments

Comments
 (0)