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.

@@ -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 to_media_model(self, validationSetId: str) -> tuple[AddValidationRapidModel, list[StrictStr | tuple[StrictStr, StrictBytes] | StrictBytes]]:
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 to_text_model(self, validationSetId: str) -> AddValidationTextRapidModel:
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, data_type=data_type, rapids=rapids, print_confirmation=print_confirmation)
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, data_type=data_type, rapids=rapids, print_confirmation=print_confirmation)
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, data_type=RapidataDataTypes.MEDIA, rapids=rapids, print_confirmation=print_confirmation)
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, data_type=RapidataDataTypes.MEDIA, rapids=rapids, print_confirmation=print_confirmation)
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, data_type=RapidataDataTypes.MEDIA, rapids=rapids, print_confirmation=print_confirmation)
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, data_type=RapidataDataTypes.MEDIA, rapids=rapids, print_confirmation=print_confirmation)
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, data_type, rapids, print_confirmation)
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, data_type: str, rapids: list[Rapid], print_confirmation: bool) -> RapidataValidationSet:
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
- for rapid in rapids:
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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: rapidata
3
- Version: 2.4.1
3
+ Version: 2.5.0
4
4
  Summary: Rapidata package containing the Rapidata Python Client to interact with the Rapidata Web API in an easy way.
5
5
  License: Apache-2.0
6
6
  Author: Rapidata AG
@@ -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=c4ywPef1yGwx0D9wTzj7465p-VQa1V6WnHJUU5ReK7Q,646
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=sZEzKj4FdVChm_rUwcmG_v7X-yO5Eh4q1g54T4c4puc,3507
413
- rapidata/rapidata_client/validation/rapids/rapids_manager.py,sha256=rDmxYkv067O-S95TNc789FktfCPBCudyzBRLSArmfus,14236
414
- rapidata/rapidata_client/validation/validation_set_manager.py,sha256=I2ICynEOjgmp5KDUceXCKGyKGSt21N_GTn1Mi4-6DTc,23295
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.4.1.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
431
- rapidata-2.4.1.dist-info/METADATA,sha256=nOQUJTI2cPvoUj7WS7N1Y2d5L_ZW1Tx81tb8SawafqQ,1107
432
- rapidata-2.4.1.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
433
- rapidata-2.4.1.dist-info/RECORD,,
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,,