rapidata 2.4.1__py3-none-any.whl → 2.5.0__py3-none-any.whl
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 rapidata might be problematic. Click here for more details.
- rapidata/rapidata_client/validation/rapidata_validation_set.py +13 -1
- rapidata/rapidata_client/validation/rapids/rapids.py +18 -2
- rapidata/rapidata_client/validation/rapids/rapids_manager.py +1 -1
- rapidata/rapidata_client/validation/validation_set_manager.py +16 -22
- {rapidata-2.4.1.dist-info → rapidata-2.5.0.dist-info}/METADATA +1 -1
- {rapidata-2.4.1.dist-info → rapidata-2.5.0.dist-info}/RECORD +8 -8
- {rapidata-2.4.1.dist-info → rapidata-2.5.0.dist-info}/LICENSE +0 -0
- {rapidata-2.4.1.dist-info → rapidata-2.5.0.dist-info}/WHEEL +0 -0
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
from rapidata.rapidata_client.validation.rapids.rapids import Rapid
|
|
2
|
+
from rapidata.service.openapi_service import OpenAPIService
|
|
3
|
+
|
|
1
4
|
class RapidataValidationSet:
|
|
2
5
|
"""A class for interacting with a Rapidata validation set.
|
|
3
6
|
|
|
@@ -10,9 +13,18 @@ class RapidataValidationSet:
|
|
|
10
13
|
name (str): The name of the validation set.
|
|
11
14
|
"""
|
|
12
15
|
|
|
13
|
-
def __init__(self, validation_set_id, name: str):
|
|
16
|
+
def __init__(self, validation_set_id, name: str, openapi_service: OpenAPIService):
|
|
14
17
|
self.id = validation_set_id
|
|
15
18
|
self.name = name
|
|
19
|
+
self.__openapi_service = openapi_service
|
|
20
|
+
|
|
21
|
+
def add_rapid(self, rapid: Rapid):
|
|
22
|
+
"""Add a Rapid to the validation set.
|
|
23
|
+
|
|
24
|
+
Args:
|
|
25
|
+
rapid (Rapid): The Rapid to add to the validation set.
|
|
26
|
+
"""
|
|
27
|
+
rapid._add_to_validation_set(self.id, self.__openapi_service)
|
|
16
28
|
|
|
17
29
|
def __str__(self):
|
|
18
30
|
return f"name: '{self.name}' id: {self.id}"
|
|
@@ -20,6 +20,7 @@ from rapidata.api_client.models.datapoint_metadata_model_metadata_inner import (
|
|
|
20
20
|
DatapointMetadataModelMetadataInner,
|
|
21
21
|
)
|
|
22
22
|
|
|
23
|
+
from rapidata.service.openapi_service import OpenAPIService
|
|
23
24
|
|
|
24
25
|
class Rapid():
|
|
25
26
|
def __init__(self, asset: MediaAsset | TextAsset | MultiAsset, metadata: Sequence[Metadata], payload: Any, truth: Any, randomCorrectProbability: float, explanation: str | None):
|
|
@@ -30,7 +31,22 @@ class Rapid():
|
|
|
30
31
|
self.randomCorrectProbability = randomCorrectProbability
|
|
31
32
|
self.explanation = explanation
|
|
32
33
|
|
|
33
|
-
def
|
|
34
|
+
def _add_to_validation_set(self, validationSetId: str, openapi_service: OpenAPIService):
|
|
35
|
+
if isinstance(self.asset, TextAsset) or (isinstance(self.asset, MultiAsset) and isinstance(self.asset.assets[0], TextAsset)):
|
|
36
|
+
openapi_service.validation_api.validation_add_validation_text_rapid_post(
|
|
37
|
+
add_validation_text_rapid_model=self.__to_text_model(validationSetId)
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
elif isinstance(self.asset, MediaAsset) or (isinstance(self.asset, MultiAsset) and isinstance(self.asset.assets[0], MediaAsset)):
|
|
41
|
+
model = self.__to_media_model(validationSetId)
|
|
42
|
+
openapi_service.validation_api.validation_add_validation_rapid_post(
|
|
43
|
+
model=model[0], files=model[1]
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
else:
|
|
47
|
+
raise TypeError("The asset must be a MediaAsset, TextAsset, or MultiAsset")
|
|
48
|
+
|
|
49
|
+
def __to_media_model(self, validationSetId: str) -> tuple[AddValidationRapidModel, list[StrictStr | tuple[StrictStr, StrictBytes] | StrictBytes]]:
|
|
34
50
|
assets: list[MediaAsset] = []
|
|
35
51
|
if isinstance(self.asset, MultiAsset):
|
|
36
52
|
for asset in self.asset.assets:
|
|
@@ -57,7 +73,7 @@ class Rapid():
|
|
|
57
73
|
explanation=self.explanation
|
|
58
74
|
), [asset.to_file() for asset in assets])
|
|
59
75
|
|
|
60
|
-
def
|
|
76
|
+
def __to_text_model(self, validationSetId: str) -> AddValidationTextRapidModel:
|
|
61
77
|
texts: list[str] = []
|
|
62
78
|
if isinstance(self.asset, MultiAsset):
|
|
63
79
|
for asset in self.asset.assets:
|
|
@@ -132,7 +132,7 @@ class RapidsManager:
|
|
|
132
132
|
asset = MediaAsset(datapoint)
|
|
133
133
|
transcription_words = [
|
|
134
134
|
TranscriptionWord(word=word, wordIndex=i)
|
|
135
|
-
for i, word in enumerate(sentence)
|
|
135
|
+
for i, word in enumerate(sentence.split(" "))
|
|
136
136
|
]
|
|
137
137
|
|
|
138
138
|
correct_transcription_words: list[TranscriptionWord] = []
|
|
@@ -85,7 +85,7 @@ class ValidationSetManager:
|
|
|
85
85
|
)
|
|
86
86
|
)
|
|
87
87
|
|
|
88
|
-
return self._submit(name=name,
|
|
88
|
+
return self._submit(name=name, rapids=rapids, print_confirmation=print_confirmation)
|
|
89
89
|
|
|
90
90
|
def create_compare_set(self,
|
|
91
91
|
name: str,
|
|
@@ -142,7 +142,7 @@ class ValidationSetManager:
|
|
|
142
142
|
)
|
|
143
143
|
)
|
|
144
144
|
|
|
145
|
-
return self._submit(name=name,
|
|
145
|
+
return self._submit(name=name, rapids=rapids, print_confirmation=print_confirmation)
|
|
146
146
|
|
|
147
147
|
def create_select_words_set(self,
|
|
148
148
|
name: str,
|
|
@@ -197,7 +197,7 @@ class ValidationSetManager:
|
|
|
197
197
|
)
|
|
198
198
|
)
|
|
199
199
|
|
|
200
|
-
return self._submit(name=name,
|
|
200
|
+
return self._submit(name=name, rapids=rapids, print_confirmation=print_confirmation)
|
|
201
201
|
|
|
202
202
|
def create_locate_set(self,
|
|
203
203
|
name: str,
|
|
@@ -249,7 +249,7 @@ class ValidationSetManager:
|
|
|
249
249
|
)
|
|
250
250
|
)
|
|
251
251
|
|
|
252
|
-
return self._submit(name=name,
|
|
252
|
+
return self._submit(name=name, rapids=rapids, print_confirmation=print_confirmation)
|
|
253
253
|
|
|
254
254
|
def create_draw_set(self,
|
|
255
255
|
name: str,
|
|
@@ -300,7 +300,7 @@ class ValidationSetManager:
|
|
|
300
300
|
)
|
|
301
301
|
)
|
|
302
302
|
|
|
303
|
-
return self._submit(name=name,
|
|
303
|
+
return self._submit(name=name, rapids=rapids, print_confirmation=print_confirmation)
|
|
304
304
|
|
|
305
305
|
def create_timestamp_set(self,
|
|
306
306
|
name: str,
|
|
@@ -352,11 +352,10 @@ class ValidationSetManager:
|
|
|
352
352
|
)
|
|
353
353
|
)
|
|
354
354
|
|
|
355
|
-
return self._submit(name=name,
|
|
355
|
+
return self._submit(name=name, rapids=rapids, print_confirmation=print_confirmation)
|
|
356
356
|
|
|
357
357
|
def create_mixed_set(self,
|
|
358
358
|
name: str,
|
|
359
|
-
data_type: str,
|
|
360
359
|
rapids: list[Rapid],
|
|
361
360
|
print_confirmation: bool = True
|
|
362
361
|
) -> RapidataValidationSet:
|
|
@@ -368,7 +367,7 @@ class ValidationSetManager:
|
|
|
368
367
|
print_confirmation (bool, optional): Whether to print a confirmation message that validation set has been created. Defaults to True.
|
|
369
368
|
"""
|
|
370
369
|
|
|
371
|
-
return self._submit(name,
|
|
370
|
+
return self._submit(name, rapids, print_confirmation)
|
|
372
371
|
|
|
373
372
|
def get_validation_set_by_id(self, validation_set_id: str) -> RapidataValidationSet:
|
|
374
373
|
"""Get a validation set by ID.
|
|
@@ -384,9 +383,9 @@ class ValidationSetManager:
|
|
|
384
383
|
except Exception:
|
|
385
384
|
raise ValueError(f"ValidationSet with ID {validation_set_id} not found.")
|
|
386
385
|
|
|
387
|
-
return RapidataValidationSet(validation_set_id, validation_set.name)
|
|
386
|
+
return RapidataValidationSet(validation_set_id, validation_set.name, self.__openapi_service)
|
|
388
387
|
|
|
389
|
-
def _submit(self, name: str,
|
|
388
|
+
def _submit(self, name: str, rapids: list[Rapid], print_confirmation: bool) -> RapidataValidationSet:
|
|
390
389
|
validation_set_id = (
|
|
391
390
|
self.__openapi_service.validation_api.validation_create_validation_set_post(
|
|
392
391
|
name=name
|
|
@@ -399,22 +398,17 @@ class ValidationSetManager:
|
|
|
399
398
|
if print_confirmation:
|
|
400
399
|
print(f"Validation set '{name}' created with ID {validation_set_id}")
|
|
401
400
|
|
|
402
|
-
|
|
403
|
-
if data_type == RapidataDataTypes.TEXT:
|
|
404
|
-
self.__openapi_service.validation_api.validation_add_validation_text_rapid_post(
|
|
405
|
-
add_validation_text_rapid_model=rapid.to_text_model(validation_set_id)
|
|
406
|
-
)
|
|
407
|
-
else:
|
|
408
|
-
model = rapid.to_media_model(validation_set_id)
|
|
409
|
-
self.__openapi_service.validation_api.validation_add_validation_rapid_post(
|
|
410
|
-
model=model[0], files=model[1]
|
|
411
|
-
)
|
|
412
|
-
|
|
413
|
-
return RapidataValidationSet(
|
|
401
|
+
validation_set = RapidataValidationSet(
|
|
414
402
|
name=name,
|
|
415
403
|
validation_set_id=validation_set_id,
|
|
404
|
+
openapi_service=self.__openapi_service
|
|
416
405
|
)
|
|
417
406
|
|
|
407
|
+
for rapid in rapids:
|
|
408
|
+
validation_set.add_rapid(rapid)
|
|
409
|
+
|
|
410
|
+
return validation_set
|
|
411
|
+
|
|
418
412
|
|
|
419
413
|
def find_validation_sets(self, name: str = "", amount: int = 1) -> list[RapidataValidationSet]:
|
|
420
414
|
"""Find validation sets by name.
|
|
@@ -406,12 +406,12 @@ rapidata/rapidata_client/settings/play_video_until_the_end.py,sha256=LLHx2_72k5Z
|
|
|
406
406
|
rapidata/rapidata_client/settings/rapidata_settings.py,sha256=Kjxm4GStrpfLKylx84BiKdEQOjvNfO74DiSChmH63fg,1165
|
|
407
407
|
rapidata/rapidata_client/settings/translation_behaviour.py,sha256=i9n_H0eKJyKW6m3MKH_Cm1XEKWVEWsAV_79xGmGIC-4,742
|
|
408
408
|
rapidata/rapidata_client/validation/__init__.py,sha256=s5wHVtcJkncXSFuL9I0zNwccNOKpWAqxqUjkeohzi2E,24
|
|
409
|
-
rapidata/rapidata_client/validation/rapidata_validation_set.py,sha256=
|
|
409
|
+
rapidata/rapidata_client/validation/rapidata_validation_set.py,sha256=IkHOdQX3ihBBHDvG2EE6wu1ZSG7evOWMYyOx9Lva0tw,1111
|
|
410
410
|
rapidata/rapidata_client/validation/rapids/__init__.py,sha256=WU5PPwtTJlte6U90MDakzx4I8Y0laj7siw9teeXj5R0,21
|
|
411
411
|
rapidata/rapidata_client/validation/rapids/box.py,sha256=t3_Kn6doKXdnJdtbwefXnYKPiTKHneJl9E2inkDSqL8,589
|
|
412
|
-
rapidata/rapidata_client/validation/rapids/rapids.py,sha256=
|
|
413
|
-
rapidata/rapidata_client/validation/rapids/rapids_manager.py,sha256=
|
|
414
|
-
rapidata/rapidata_client/validation/validation_set_manager.py,sha256=
|
|
412
|
+
rapidata/rapidata_client/validation/rapids/rapids.py,sha256=aWkcjWR6Pr2BFwz8a0MfqEkXnEJPkAbKMeQtGXnsags,4440
|
|
413
|
+
rapidata/rapidata_client/validation/rapids/rapids_manager.py,sha256=4HOX6c42sCOfpGR2aDoiMgrfjontM8z2KEJwQp4ir6A,14247
|
|
414
|
+
rapidata/rapidata_client/validation/validation_set_manager.py,sha256=RR3lP3VtOVCtmbKjEAFYVbQxZyUCXvOuWMqw8dGz-WA,22730
|
|
415
415
|
rapidata/rapidata_client/workflow/__init__.py,sha256=eFRx0fm280alXpds6hYcnxN_yERlabF9B5sTdPFsL1g,430
|
|
416
416
|
rapidata/rapidata_client/workflow/_base_workflow.py,sha256=XyIZFKS_RxAuwIHS848S3AyLEHqd07oTD_5jm2oUbsw,762
|
|
417
417
|
rapidata/rapidata_client/workflow/_classify_workflow.py,sha256=9bT54wxVJgxC-zLk6MVNbseFpzYrvFPjt7DHvxqYfnk,1736
|
|
@@ -427,7 +427,7 @@ rapidata/service/credential_manager.py,sha256=Of0BQs_V1T7rkrWX9groLX790nOknaARwn
|
|
|
427
427
|
rapidata/service/local_file_service.py,sha256=pgorvlWcx52Uh3cEG6VrdMK_t__7dacQ_5AnfY14BW8,877
|
|
428
428
|
rapidata/service/openapi_service.py,sha256=Z4NrAuilLlIWBdGOv6otz36tHS_vvU36w5jmvOUTmqo,3198
|
|
429
429
|
rapidata/service/token_manager.py,sha256=JZ5YbR5Di8dO3H4kK11d0kzWlrXxjgCmeNkHA4AapCM,6425
|
|
430
|
-
rapidata-2.
|
|
431
|
-
rapidata-2.
|
|
432
|
-
rapidata-2.
|
|
433
|
-
rapidata-2.
|
|
430
|
+
rapidata-2.5.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
431
|
+
rapidata-2.5.0.dist-info/METADATA,sha256=Bi3-kOaNpfnjqHS9QwC0ua5dnnlhluiMZdopp0fx08U,1107
|
|
432
|
+
rapidata-2.5.0.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
|
433
|
+
rapidata-2.5.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|