rapidata 2.30.0__py3-none-any.whl → 2.31.1__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,9 +1,7 @@
1
- from typing import Sequence, Optional
2
- from urllib3._collections import HTTPHeaderDict # type: ignore[import]
1
+ from typing import Sequence, Optional, Literal
3
2
  from itertools import zip_longest
4
3
 
5
4
  from rapidata.service.openapi_service import OpenAPIService
6
- from rapidata.rapidata_client.assets.data_type_enum import RapidataDataTypes
7
5
  from rapidata.rapidata_client.order.rapidata_order import RapidataOrder
8
6
  from rapidata.rapidata_client.order._rapidata_order_builder import RapidataOrderBuilder
9
7
  from rapidata.rapidata_client.metadata import PromptMetadata, SelectWordsMetadata, PrivateTextMetadata, MediaAssetMetadata, Metadata
@@ -21,8 +19,6 @@ from rapidata.rapidata_client.workflow import (
21
19
  TimestampWorkflow,
22
20
  RankingWorkflow
23
21
  )
24
- from rapidata.rapidata_client.selection.validation_selection import ValidationSelection
25
- from rapidata.rapidata_client.selection.labeling_selection import LabelingSelection
26
22
  from rapidata.rapidata_client.assets import MediaAsset, TextAsset, MultiAsset
27
23
  from rapidata.rapidata_client.filter import RapidataFilter
28
24
  from rapidata.rapidata_client.filter.rapidata_filters import RapidataFilters
@@ -140,7 +136,7 @@ class RapidataOrderManager:
140
136
  instruction: str,
141
137
  answer_options: list[str],
142
138
  datapoints: list[str],
143
- data_type: str = RapidataDataTypes.MEDIA,
139
+ data_type: Literal["media", "text"] = "media",
144
140
  responses_per_datapoint: int = 10,
145
141
  contexts: list[str] | None = None,
146
142
  media_contexts: list[str] | None = None,
@@ -161,8 +157,8 @@ class RapidataOrderManager:
161
157
  instruction (str): The instruction for how the data should be classified.
162
158
  answer_options (list[str]): The list of options for the classification.
163
159
  datapoints (list[str]): The list of datapoints for the classification - each datapoint will be labeled.
164
- data_type (str, optional): The data type of the datapoints. Defaults to RapidataDataTypes.MEDIA. \n
165
- Other option: RapidataDataTypes.TEXT ("text").
160
+ data_type (str, optional): The data type of the datapoints. Defaults to "media" (any form of image, video or audio). \n
161
+ Other option: "text".
166
162
  responses_per_datapoint (int, optional): The number of responses that will be collected per datapoint. Defaults to 10.
167
163
  contexts (list[str], optional): The list of contexts for the classification. Defaults to None.\n
168
164
  If provided has to be the same length as datapoints and will be shown in addition to the instruction and options. (Therefore will be different for each datapoint)
@@ -181,12 +177,12 @@ class RapidataOrderManager:
181
177
  This will NOT be shown to the labelers but will be included in the result purely for your own reference.
182
178
  """
183
179
 
184
- if data_type == RapidataDataTypes.MEDIA:
180
+ if data_type == "media":
185
181
  assets = [MediaAsset(path=path) for path in datapoints]
186
- elif data_type == RapidataDataTypes.TEXT:
182
+ elif data_type == "text":
187
183
  assets = [TextAsset(text=text) for text in datapoints]
188
184
  else:
189
- raise ValueError(f"Unsupported data type: {data_type}, must be one of {RapidataDataTypes._possible_values()}")
185
+ raise ValueError(f"Unsupported data type: {data_type}, must be one of 'media' or 'text'")
190
186
 
191
187
  return self._create_general_order(
192
188
  name=name,
@@ -210,7 +206,7 @@ class RapidataOrderManager:
210
206
  name: str,
211
207
  instruction: str,
212
208
  datapoints: list[list[str]],
213
- data_type: str = RapidataDataTypes.MEDIA,
209
+ data_type: Literal["media", "text"] = "media",
214
210
  responses_per_datapoint: int = 10,
215
211
  contexts: list[str] | None = None,
216
212
  media_contexts: list[str] | None = None,
@@ -229,8 +225,8 @@ class RapidataOrderManager:
229
225
  name (str): The name of the order. (Will not be shown to the labeler)
230
226
  instruction (str): The instruction for the comparison. Will be shown along side each datapoint.
231
227
  datapoints (list[list[str]]): Outher list is the datapoints, inner list is the options for the comparison - each datapoint will be labeled.
232
- data_type (str, optional): The data type of the datapoints. Defaults to RapidataDataTypes.MEDIA. \n
233
- Other option: RapidataDataTypes.TEXT ("text").
228
+ data_type (str, optional): The data type of the datapoints. Defaults to "media" (any form of image, video or audio). \n
229
+ Other option: "text".
234
230
  responses_per_datapoint (int, optional): The number of responses that will be collected per datapoint. Defaults to 10.
235
231
  contexts (list[str], optional): The list of contexts for the comparison. Defaults to None.\n
236
232
  If provided has to be the same length as datapoints and will be shown in addition to the instruction. (Therefore will be different for each datapoint)
@@ -256,12 +252,12 @@ class RapidataOrderManager:
256
252
  if any(len(datapoint) != 2 for datapoint in datapoints):
257
253
  raise ValueError("Each datapoint must contain exactly two options")
258
254
 
259
- if data_type == RapidataDataTypes.MEDIA:
255
+ if data_type == "media":
260
256
  assets = [MultiAsset([MediaAsset(path=path) for path in datapoint]) for datapoint in datapoints]
261
- elif data_type == RapidataDataTypes.TEXT:
257
+ elif data_type == "text":
262
258
  assets = [MultiAsset([TextAsset(text=text) for text in datapoint]) for datapoint in datapoints]
263
259
  else:
264
- raise ValueError(f"Unsupported data type: {data_type}, must be one of {RapidataDataTypes._possible_values()}")
260
+ raise ValueError(f"Unsupported data type: {data_type}, must be one of 'media' or 'text'")
265
261
 
266
262
  return self._create_general_order(
267
263
  name=name,
@@ -286,7 +282,7 @@ class RapidataOrderManager:
286
282
  datapoints: list[str],
287
283
  total_comparison_budget: int,
288
284
  responses_per_comparison: int = 1,
289
- data_type: str = RapidataDataTypes.MEDIA,
285
+ data_type: Literal["media", "text"] = "media",
290
286
  random_comparisons_ratio: float = 0.5,
291
287
  context: Optional[str] = None,
292
288
  validation_set_id: Optional[str] = None,
@@ -306,8 +302,8 @@ class RapidataOrderManager:
306
302
  datapoints (list[str]): A list of datapoints that will participate in the ranking.
307
303
  total_comparison_budget (int): The total number of (pairwise-)comparisons that can be made.
308
304
  responses_per_comparison (int, optional): The number of responses collected per comparison. Defaults to 1.
309
- data_type (str, optional): The data type of the datapoints. Defaults to RapidataDataTypes.MEDIA. \n
310
- Other option: RapidataDataTypes.TEXT ("text").
305
+ data_type (str, optional): The data type of the datapoints. Defaults to "media" (any form of image, video or audio). \n
306
+ Other option: "text".
311
307
  random_comparisons_ratio (float, optional): The fraction of random comparisons in the ranking process.
312
308
  The rest will focus on pairing similarly ranked datapoints. Defaults to 0.5 and can be left untouched.
313
309
  context (str, optional): The context for all the comparison. Defaults to None.\n
@@ -319,12 +315,12 @@ class RapidataOrderManager:
319
315
  selections (Sequence[RapidataSelection], optional): The list of selections for the order. Defaults to []. Decides in what order the tasks should be shown.
320
316
  """
321
317
 
322
- if data_type == RapidataDataTypes.MEDIA:
318
+ if data_type == "media":
323
319
  assets = [MediaAsset(path=path) for path in datapoints]
324
- elif data_type == RapidataDataTypes.TEXT:
320
+ elif data_type == "text":
325
321
  assets = [TextAsset(text=text) for text in datapoints]
326
322
  else:
327
- raise ValueError(f"Unsupported data type: {data_type}, must be one of {RapidataDataTypes._possible_values()}")
323
+ raise ValueError(f"Unsupported data type: {data_type}, must be one of 'media' or 'text'")
328
324
 
329
325
  return self._create_general_order(
330
326
  name=name,
@@ -346,7 +342,7 @@ class RapidataOrderManager:
346
342
  name: str,
347
343
  instruction: str,
348
344
  datapoints: list[str],
349
- data_type: str = RapidataDataTypes.MEDIA,
345
+ data_type: Literal["media", "text"] = "media",
350
346
  responses_per_datapoint: int = 10,
351
347
  filters: Sequence[RapidataFilter] = [],
352
348
  settings: Sequence[RapidataSetting] = [],
@@ -362,8 +358,8 @@ class RapidataOrderManager:
362
358
  name (str): The name of the order.
363
359
  instruction (str): The instruction to answer with free text. Will be shown along side each datapoint.
364
360
  datapoints (list[str]): The list of datapoints for the free text - each datapoint will be labeled.
365
- data_type (str, optional): The data type of the datapoints. Defaults to RapidataDataTypes.MEDIA. \n
366
- Other option: RapidataDataTypes.TEXT ("text").
361
+ data_type (str, optional): The data type of the datapoints. Defaults to "media" (any form of image, video or audio). \n
362
+ Other option: "text".
367
363
  responses_per_datapoint (int, optional): The number of responses that will be collected per datapoint. Defaults to 10.
368
364
  filters (Sequence[RapidataFilter], optional): The list of filters for the free text. Defaults to []. Decides who the tasks should be shown to.
369
365
  settings (Sequence[RapidataSetting], optional): The list of settings for the free text. Defaults to []. Decides how the tasks should be shown.
@@ -373,12 +369,12 @@ class RapidataOrderManager:
373
369
  This will NOT be shown to the labelers but will be included in the result purely for your own reference.
374
370
  """
375
371
 
376
- if data_type == RapidataDataTypes.MEDIA:
372
+ if data_type == "media":
377
373
  assets = [MediaAsset(path=path) for path in datapoints]
378
- elif data_type == RapidataDataTypes.TEXT:
374
+ elif data_type == "text":
379
375
  assets = [TextAsset(text=text) for text in datapoints]
380
376
  else:
381
- raise ValueError(f"Unsupported data type: {data_type}, must be one of {RapidataDataTypes._possible_values()}")
377
+ raise ValueError(f"Unsupported data type: {data_type}, must be one of 'media' or 'text'")
382
378
 
383
379
  return self._create_general_order(
384
380
  name=name,
@@ -1,14 +1,9 @@
1
- from pydantic import StrictBytes, StrictStr
2
1
  from rapidata.rapidata_client.assets import MediaAsset, TextAsset, MultiAsset
3
2
  from rapidata.rapidata_client.metadata import Metadata
4
- from typing import Sequence
5
- from typing import Any
3
+ from typing import Sequence, Any, cast
6
4
  from rapidata.api_client.models.add_validation_rapid_model import (
7
5
  AddValidationRapidModel,
8
6
  )
9
- from rapidata.api_client.models.add_validation_text_rapid_model import (
10
- AddValidationTextRapidModel,
11
- )
12
7
  from rapidata.api_client.models.add_validation_rapid_model_payload import (
13
8
  AddValidationRapidModelPayload,
14
9
  )
@@ -32,38 +27,52 @@ class Rapid():
32
27
  logger.debug(f"Created Rapid with asset: {self.asset}, metadata: {self.metadata}, payload: {self.payload}, truth: {self.truth}, randomCorrectProbability: {self.randomCorrectProbability}, explanation: {self.explanation}")
33
28
 
34
29
  def _add_to_validation_set(self, validationSetId: str, openapi_service: OpenAPIService) -> None:
35
- if isinstance(self.asset, TextAsset) or (isinstance(self.asset, MultiAsset) and isinstance(self.asset.assets[0], TextAsset)):
36
- openapi_service.validation_api.validation_set_validation_set_id_rapid_texts_post(
30
+ model = self.__to_model()
31
+ assets = self.__convert_to_assets()
32
+ if isinstance(assets[0], TextAsset):
33
+ assert all(isinstance(asset, TextAsset) for asset in assets)
34
+ texts = cast(list[TextAsset], assets)
35
+ openapi_service.validation_api.validation_set_validation_set_id_rapid_post(
37
36
  validation_set_id=validationSetId,
38
- add_validation_text_rapid_model=self.__to_text_model()
37
+ model=model,
38
+ texts=[asset.text for asset in texts]
39
39
  )
40
40
 
41
- elif isinstance(self.asset, MediaAsset) or (isinstance(self.asset, MultiAsset) and isinstance(self.asset.assets[0], MediaAsset)):
42
- model = self.__to_media_model()
43
- openapi_service.validation_api.validation_set_validation_set_id_rapid_files_post(
41
+ elif isinstance(assets[0], MediaAsset):
42
+ assert all(isinstance(asset, MediaAsset) for asset in assets)
43
+ files = cast(list[MediaAsset], assets)
44
+ openapi_service.validation_api.validation_set_validation_set_id_rapid_post(
44
45
  validation_set_id=validationSetId,
45
- model=model[0], files=model[1]
46
+ model=model,
47
+ files=[asset.to_file() for asset in files],
48
+ urls=[asset.path for asset in files if not asset.is_local()]
46
49
  )
47
50
 
48
51
  else:
49
52
  raise TypeError("The asset must be a MediaAsset, TextAsset, or MultiAsset")
50
-
51
- def __to_media_model(self) -> tuple[AddValidationRapidModel, list[StrictStr | tuple[StrictStr, StrictBytes] | StrictBytes]]:
52
- assets: list[MediaAsset] = []
53
+
54
+
55
+ def __convert_to_assets(self) -> list[MediaAsset | TextAsset]:
56
+ assets: list[MediaAsset | TextAsset] = []
53
57
  if isinstance(self.asset, MultiAsset):
54
58
  for asset in self.asset.assets:
55
59
  if isinstance(asset, MediaAsset):
56
60
  assets.append(asset)
61
+ elif isinstance(asset, TextAsset):
62
+ assets.append(asset)
57
63
  else:
58
- raise TypeError("The asset is a multiasset, but not all assets are MediaAssets")
64
+ raise TypeError("The asset is a multiasset, but not all assets are MediaAssets or TextAssets")
59
65
 
60
66
  if isinstance(self.asset, TextAsset):
61
- raise TypeError("The asset must contain Media")
67
+ assets = [self.asset]
62
68
 
63
69
  if isinstance(self.asset, MediaAsset):
64
70
  assets = [self.asset]
65
71
 
66
- return (AddValidationRapidModel(
72
+ return assets
73
+
74
+ def __to_model(self) -> AddValidationRapidModel:
75
+ return AddValidationRapidModel(
67
76
  payload=AddValidationRapidModelPayload(self.payload),
68
77
  truth=AddValidationRapidModelTruth(self.truth),
69
78
  metadata=[
@@ -72,31 +81,4 @@ class Rapid():
72
81
  ],
73
82
  randomCorrectProbability=self.randomCorrectProbability,
74
83
  explanation=self.explanation
75
- ), [asset.to_file() for asset in assets])
76
-
77
- def __to_text_model(self) -> AddValidationTextRapidModel:
78
- texts: list[str] = []
79
- if isinstance(self.asset, MultiAsset):
80
- for asset in self.asset.assets:
81
- if isinstance(asset, TextAsset):
82
- texts.append(asset.text)
83
- else:
84
- raise TypeError("The asset is a multiasset, but not all assets are TextAssets")
85
-
86
- if isinstance(self.asset, MediaAsset):
87
- raise TypeError("The asset must contain Text")
88
-
89
- if isinstance(self.asset, TextAsset):
90
- texts = [self.asset.text]
91
-
92
- return AddValidationTextRapidModel(
93
- payload=AddValidationRapidModelPayload(self.payload),
94
- truth=AddValidationRapidModelTruth(self.truth),
95
- metadata=[
96
- DatasetDatasetIdDatapointsPostRequestMetadataInner(meta.to_model())
97
- for meta in self.metadata
98
- ],
99
- randomCorrectProbability=self.randomCorrectProbability,
100
- texts=texts,
101
- explanation=self.explanation
102
- )
84
+ )
@@ -1,11 +1,10 @@
1
1
  import os
2
2
  from rapidata.api_client import AttachCategoryTruth, BoundingBoxTruth, BoxShape, ClassifyPayload, ComparePayload, CompareTruth, LinePayload, LocateBoxTruth, LocatePayload, ScrubPayload, ScrubRange, ScrubTruth, TranscriptionPayload, TranscriptionTruth, TranscriptionWord
3
- from rapidata.rapidata_client.assets.data_type_enum import RapidataDataTypes
4
3
  from rapidata.rapidata_client.assets import MediaAsset, TextAsset, MultiAsset
5
4
  from rapidata.rapidata_client.metadata import Metadata
6
5
  from rapidata.rapidata_client.validation.rapids.box import Box
7
6
 
8
- from typing import Sequence
7
+ from typing import Sequence, Literal
9
8
 
10
9
  from rapidata.rapidata_client.validation.rapids.rapids import Rapid
11
10
 
@@ -21,7 +20,7 @@ class RapidsManager:
21
20
  answer_options: list[str],
22
21
  datapoint: str,
23
22
  truths: list[str],
24
- data_type: str = RapidataDataTypes.MEDIA,
23
+ data_type: Literal["media", "text"] = "media",
25
24
  metadata: Sequence[Metadata] = [],
26
25
  explanation: str | None = None,
27
26
  ) -> Rapid:
@@ -32,16 +31,16 @@ class RapidsManager:
32
31
  answer_options (list[str]): The options that the labeler can choose from to answer the question.
33
32
  datapoint (str): The datapoint that the labeler will be labeling.
34
33
  truths (list[str]): The correct answers to the question.
35
- data_type (str, optional): The type of the datapoint. Defaults to RapidataDataTypes.MEDIA.
34
+ data_type (str, optional): The type of the datapoint. Defaults to "media" (any form of image, video or audio).
36
35
  metadata (Sequence[Metadata], optional): The metadata that is attached to the rapid. Defaults to [].
37
36
  """
38
37
 
39
- if data_type == RapidataDataTypes.MEDIA:
38
+ if data_type == "media":
40
39
  asset = MediaAsset(datapoint)
41
- elif data_type == RapidataDataTypes.TEXT:
40
+ elif data_type == "text":
42
41
  asset = TextAsset(datapoint)
43
42
  else:
44
- raise ValueError(f"Unsupported data type: {data_type}")
43
+ raise ValueError(f"Unsupported data type: {data_type}, must be one of 'media' or 'text'")
45
44
 
46
45
  if not isinstance(truths, list):
47
46
  raise ValueError("Truths must be a list of strings")
@@ -69,7 +68,7 @@ class RapidsManager:
69
68
  instruction: str,
70
69
  truth: str,
71
70
  datapoint: list[str],
72
- data_type: str = RapidataDataTypes.MEDIA,
71
+ data_type: Literal["media", "text"] = "media",
73
72
  metadata: Sequence[Metadata] = [],
74
73
  explanation: str | None = None,
75
74
  ) -> Rapid:
@@ -79,13 +78,13 @@ class RapidsManager:
79
78
  instruction (str): The instruction that the labeler will be comparing the assets on.
80
79
  truth (str): The correct answer to the comparison. (has to be one of the assets)
81
80
  datapoint (list[str]): The two assets that the labeler will be comparing.
82
- data_type (str, optional): The type of the datapoint. Defaults to RapidataDataTypes.MEDIA.
81
+ data_type (str, optional): The type of the datapoint. Defaults to "media" (any form of image, video or audio).
83
82
  metadata (Sequence[Metadata], optional): The metadata that is attached to the rapid. Defaults to [].
84
83
  """
85
84
 
86
- if data_type == RapidataDataTypes.MEDIA:
85
+ if data_type == "media":
87
86
  assets = [MediaAsset(image) for image in datapoint]
88
- elif data_type == RapidataDataTypes.TEXT:
87
+ elif data_type == "text":
89
88
  assets = [TextAsset(text) for text in datapoint]
90
89
  else:
91
90
  raise ValueError(f"Unsupported data type: {data_type}")
@@ -1,8 +1,8 @@
1
+ from typing import Literal
1
2
  from rapidata.api_client import QueryModel
2
3
  from rapidata.rapidata_client.validation.rapidata_validation_set import RapidataValidationSet
3
4
  from rapidata.api_client.models.create_validation_set_model import CreateValidationSetModel
4
5
  from rapidata.service.openapi_service import OpenAPIService
5
- from rapidata.rapidata_client.assets.data_type_enum import RapidataDataTypes
6
6
  from rapidata.rapidata_client.validation.rapids.rapids_manager import RapidsManager
7
7
  from rapidata.rapidata_client.validation.rapids.rapids import Rapid
8
8
  from rapidata.rapidata_client.metadata import PromptMetadata, MediaAssetMetadata
@@ -11,7 +11,6 @@ from rapidata.api_client.models.page_info import PageInfo
11
11
  from rapidata.api_client.models.root_filter import RootFilter
12
12
  from rapidata.api_client.models.filter import Filter
13
13
  from rapidata.api_client.models.sort_criterion import SortCriterion
14
- from urllib3._collections import HTTPHeaderDict # type: ignore[import]
15
14
 
16
15
  from rapidata.rapidata_client.validation.rapids.box import Box
17
16
 
@@ -37,7 +36,7 @@ class ValidationSetManager:
37
36
  answer_options: list[str],
38
37
  datapoints: list[str],
39
38
  truths: list[list[str]],
40
- data_type: str = RapidataDataTypes.MEDIA,
39
+ data_type: Literal["media", "text"] = "media",
41
40
  contexts: list[str] | None = None,
42
41
  media_contexts: list[str] | None = None,
43
42
  explanations: list[str | None] | None = None,
@@ -55,7 +54,7 @@ class ValidationSetManager:
55
54
  options: ["yes", "no", "maybe"]
56
55
  datapoints: ["datapoint1", "datapoint2"]
57
56
  truths: [["yes"], ["no", "maybe"]] -> first datapoint correct answer is "yes", second datapoint is "no" or "maybe"
58
- data_type (str, optional): The type of data. Defaults to RapidataDataTypes.MEDIA. Other option: RapidataDataTypes.TEXT ("text").
57
+ data_type (str, optional): The type of data. Defaults to "media" (any form of image, video or audio). Other option: "text".
59
58
  contexts (list[str], optional): The contexts for each datapoint. Defaults to None.\n
60
59
  If provided has to be the same length as datapoints and will be shown in addition to the instruction and answer options. (Therefore will be different for each datapoint)
61
60
  Will be match up with the datapoints using the list index.
@@ -120,7 +119,7 @@ class ValidationSetManager:
120
119
  instruction: str,
121
120
  datapoints: list[list[str]],
122
121
  truths: list[str],
123
- data_type: str = RapidataDataTypes.MEDIA,
122
+ data_type: Literal["media", "text"] = "media",
124
123
  contexts: list[str] | None = None,
125
124
  media_contexts: list[str] | None = None,
126
125
  explanation: list[str | None] | None = None,
@@ -138,7 +137,7 @@ class ValidationSetManager:
138
137
  truths: ["image1.jpg", "image4.jpg"] -> first comparison image1.jpg has a cat, second comparison image4.jpg has a cat
139
138
  datapoints (list[list[str]]): The compare datapoints to create the validation set with.
140
139
  Outer list is for each comparison, inner list the two images/texts that will be compared.
141
- data_type (str, optional): The type of data. Defaults to RapidataDataTypes.MEDIA. Other option: RapidataDataTypes.TEXT ("text").
140
+ data_type (str, optional): The type of data. Defaults to "media" (any form of image, video or audio). Other option: "text".
142
141
  contexts (list[str], optional): The contexts for each datapoint. Defaults to None.\n
143
142
  If provided has to be the same length as datapoints and will be shown in addition to the instruction and truth. (Therefore will be different for each datapoint)
144
143
  Will be match up with the datapoints using the list index.
@@ -527,9 +526,17 @@ class ValidationSetManager:
527
526
  )
528
527
 
529
528
  logger.debug("Adding rapids to validation set")
529
+ failed_rapids = []
530
530
  for rapid in tqdm(rapids, desc="Uploading validation tasks", disable=RapidataOutputManager.silent_mode):
531
- validation_set.add_rapid(rapid)
532
-
531
+ try:
532
+ validation_set.add_rapid(rapid)
533
+ except Exception:
534
+ failed_rapids.append(rapid.asset)
535
+
536
+ if failed_rapids:
537
+ logger.error(f"Failed to add {len(failed_rapids)} datapoints to validation set: {failed_rapids}")
538
+ raise RuntimeError(f"Failed to add {len(failed_rapids)} datapoints to validation set: {failed_rapids}")
539
+
533
540
  managed_print()
534
541
  managed_print(f"Validation set '{name}' created with ID {validation_set_id}\n",
535
542
  f"Now viewable under: https://app.{self.__openapi_service.environment}/validation-set/detail/{validation_set_id}",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: rapidata
3
- Version: 2.30.0
3
+ Version: 2.31.1
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
@@ -1,14 +1,14 @@
1
- rapidata/__init__.py,sha256=lZGJTZWN6zdNSbKfUglVkPO3Hr0Buj1qlU9GBGUYxq4,865
1
+ rapidata/__init__.py,sha256=PvHyRe5DWc2oDvYjib2Ti7MYv6CVBwmdIiznT5Ff2jI,865
2
2
  rapidata/api_client/__init__.py,sha256=BgSOExnifSldFqbuk1ZWdHbrLKlntelU0IjKYUFf3MM,33738
3
3
  rapidata/api_client/api/__init__.py,sha256=V_nI5gljvhY0TmFLOdzpys9e1l9J6PokA8IxeYmynyg,1422
4
- rapidata/api_client/api/benchmark_api.py,sha256=cHyMXlPRmOq0a4ltq4neuCOnIALQ4gEgTIJloIKCejI,129276
4
+ rapidata/api_client/api/benchmark_api.py,sha256=1TzLL4lratyFaFbNiCtfW8l_yIRRil4u6xpvM0250UE,140976
5
5
  rapidata/api_client/api/campaign_api.py,sha256=406gNDALFb0sJhfx727ZM5_0GDX4iB0w5ym2dExLm4g,49894
6
6
  rapidata/api_client/api/client_api.py,sha256=KKgUrEKfqmEAqUCRqcYKRb6G3GLwD6R-JSUsShmo7r8,54313
7
7
  rapidata/api_client/api/coco_api.py,sha256=d1ypa-JfIoPFEJwn3l-INZM5bS2wB1ifuJuvYXLSRC4,24165
8
8
  rapidata/api_client/api/compare_workflow_api.py,sha256=BG_cNnR1UO48Jfy2_ZLEcR2mknD0wXbDYKHLNVt4Szw,12833
9
9
  rapidata/api_client/api/customer_rapid_api.py,sha256=wrAPClQmSgghcEQI9fvXZQmdMlTh6_K007elRKEf1rw,80124
10
10
  rapidata/api_client/api/datapoint_api.py,sha256=bLNOJWtk3TBMU5tvFBSIbDk34YwkyEHarJgrISN4J3w,21308
11
- rapidata/api_client/api/dataset_api.py,sha256=96CitdOEPmMxNJyLQoX1yj4M68gCIsTAk-9XBdkgVUo,140720
11
+ rapidata/api_client/api/dataset_api.py,sha256=DUCEfP7jlMAAMdvEa-47xq0mq3MGcyk4DA56f9OXZ2w,139572
12
12
  rapidata/api_client/api/evaluation_workflow_api.py,sha256=E0Phmx54jzXx7LZYGquTqzZSrX2aE5PS9rAs5HdDjvs,15151
13
13
  rapidata/api_client/api/feedback_api.py,sha256=-ZI2-1HtQ7wAzBKClgXMmMHtYdgoZtWrpQql3p51qp0,11589
14
14
  rapidata/api_client/api/identity_api.py,sha256=LmK6cTXssNjCa1BteOMc8P4FsyRiHQ_Kr30vmWIAYko,55093
@@ -21,7 +21,7 @@ rapidata/api_client/api/rapidata_identity_api_api.py,sha256=-kgoDuLdh-R4MQ7JPi3k
21
21
  rapidata/api_client/api/simple_workflow_api.py,sha256=yauSlkSwoZOl4P-1Wu0yU92GcEArpEd3xjFqImU2K1g,12763
22
22
  rapidata/api_client/api/user_info_api.py,sha256=FuuA95Beeky-rnqIoSUe2-WQ7oVTfq0RElX0jfKXT0w,10042
23
23
  rapidata/api_client/api/user_rapid_api.py,sha256=RXHAzSSGFohQqLUAZOKSaHt9EcT-7_n2vMto1SkSy4o,54323
24
- rapidata/api_client/api/validation_set_api.py,sha256=oy9crdaYLAfKmpg87keMkQ-UEc64gs2eKvhrEIq4Q5k,134762
24
+ rapidata/api_client/api/validation_set_api.py,sha256=9MRvn33Zk47tMO8e_MFkGLY8p406eUnmrvHO_0QZ5JQ,149536
25
25
  rapidata/api_client/api/workflow_api.py,sha256=a5gMW-E7Mie-OK74J5SRoV6Wl1D4-AFCCfpxQ8ewCkQ,66871
26
26
  rapidata/api_client/api_client.py,sha256=EDhxAOUc5JFWvFsF1zc726Q7GoEFkuB8uor5SlGx9K4,27503
27
27
  rapidata/api_client/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
@@ -249,7 +249,7 @@ rapidata/api_client/models/get_simple_workflow_result_overview_result.py,sha256=
249
249
  rapidata/api_client/models/get_simple_workflow_results_model.py,sha256=r4DZspzPrwaI4DrC4OH-mwUvibcS0TzK9O8CFnsURSc,4289
250
250
  rapidata/api_client/models/get_simple_workflow_results_result.py,sha256=WNBHFW-D6tlMzNp9P7nGfoDoarjjwb2YwjlCCV1tA00,4411
251
251
  rapidata/api_client/models/get_simple_workflow_results_result_paged_result.py,sha256=DWimv7FmvJmixjQvDFeTE_Q5jHLpLdQmPlXF_9iWSiY,3616
252
- rapidata/api_client/models/get_standing_by_id_result.py,sha256=QtRtkRH_W1eWutu4kGFcP-mU8gD1nuSNxb-fzee8Aog,3716
252
+ rapidata/api_client/models/get_standing_by_id_result.py,sha256=X7KGEjB7vkkkENqqOnOXXKR4KP3N_4JT6UAq8Xd7Vcg,3847
253
253
  rapidata/api_client/models/get_validation_rapids_query.py,sha256=teC4ryyIXJkRwafaSorysBIsKJuO5C1L8f6juJMwrNs,4894
254
254
  rapidata/api_client/models/get_validation_rapids_query_paged_result.py,sha256=ifyJ7Iy7VzTWxtwb2q5q5id927Iil00V3Nk9QqclsDo,3567
255
255
  rapidata/api_client/models/get_validation_rapids_result.py,sha256=dTQb5Ju4FAHNQldxY-7Vou62YdmcH3LDQJMdtvITB_c,6815
@@ -350,11 +350,11 @@ rapidata/api_client/models/order_state.py,sha256=Vnt5CdDKom-CVsoG0sDaAXYgNkUTnkT
350
350
  rapidata/api_client/models/original_filename_metadata.py,sha256=_VViiu2YOW6P4KaMZsbfYneXEcEnm4AroVEVVzOpHlM,3215
351
351
  rapidata/api_client/models/original_filename_metadata_model.py,sha256=LsbJg_t1FdhwdfF4URn6rxB2huUim6e15PrdxLTcaQo,3111
352
352
  rapidata/api_client/models/page_info.py,sha256=8vmnkRGqq38mIQCOMInYrPLFDBALxkWZUM-Z_M1-XK4,2766
353
- rapidata/api_client/models/participant_by_benchmark.py,sha256=pJ5HCTpFffhwu8bL4dq5GrCTURQZnddlW7bX82beQ0M,3167
353
+ rapidata/api_client/models/participant_by_benchmark.py,sha256=grmCDPkZ38ThAaUO7DNewS4lQHPPc_I9j9bLAphFwn8,3191
354
354
  rapidata/api_client/models/participant_by_benchmark_paged_result.py,sha256=VEnfUsy8-s47_3SogL0EKMH4IErrYL3ecIe0yZBseYM,3550
355
355
  rapidata/api_client/models/participant_by_leaderboard.py,sha256=155CAfOxIYdXMLT481GY2IEkPG3IJWmpasFQwnmhfU0,3790
356
356
  rapidata/api_client/models/participant_by_leaderboard_paged_result.py,sha256=r92XzY-nGOdV2_TYHZe9kG5ksPDzyBQ8Nwkqs_c5yoE,3566
357
- rapidata/api_client/models/participant_status.py,sha256=QzDThyfxmMFRcbZt0qYMOqN-gcp_qiMq0I0zLWvvDog,778
357
+ rapidata/api_client/models/participant_status.py,sha256=gpQfr8iW5I9fS9DGQe1X_tpPtU5hpWs0db_fbmMQrJE,804
358
358
  rapidata/api_client/models/pipeline_id_workflow_artifact_id_put_request.py,sha256=4HeDc5IvTpjPHH6xy5OAlpPL8dWwxrR9Vwsej3dK6LA,5979
359
359
  rapidata/api_client/models/pipeline_id_workflow_config_put_request.py,sha256=gWKIfBeI0-sURGA6haMP8vehYYBPrvetQo6oL0oFIRY,5951
360
360
  rapidata/api_client/models/pipeline_id_workflow_put_request.py,sha256=yblj0m6_Dql5JCbnQD93JEvkL-H5ZvgG__DMGj5uMAg,5909
@@ -446,7 +446,7 @@ rapidata/api_client/models/sort_criterion.py,sha256=klwKhELiScAGHRL8yF_TtL0X_4Z4
446
446
  rapidata/api_client/models/sort_direction.py,sha256=yNLZqvgL5fHbD98kMWFAsfgqn3gKM_GFIyRVfheZydI,748
447
447
  rapidata/api_client/models/source_url_metadata.py,sha256=TL2Joe1EDgnwDJ3_rQy36laM6dvaLBTez3psyQUKaN0,3072
448
448
  rapidata/api_client/models/source_url_metadata_model.py,sha256=UWd1nG-awsV5Q2fsrqdPDgc7bI_pGag0ubIlwEEKMZk,2988
449
- rapidata/api_client/models/standing_by_leaderboard.py,sha256=C-JTr05882R8btI3MybNPuUn_D0S_r-uqtjpz_oKeTg,3726
449
+ rapidata/api_client/models/standing_by_leaderboard.py,sha256=NmSu-ES9WBj8eZR0jRQC9wr93OghOonxJ2OjWuGBP9Y,3857
450
450
  rapidata/api_client/models/standing_by_leaderboard_paged_result.py,sha256=zOlbN2Pxc0y5M9MaDTB5znl0V-6CZIzGZWBlcZGdeVg,3542
451
451
  rapidata/api_client/models/standing_status.py,sha256=1uIPH2EDit3fsq9LAnspG1xRzZrgFyKAju6Dq7Vka4M,781
452
452
  rapidata/api_client/models/static_rapid_selection_config.py,sha256=RnjyRhAOaxmJ2PW-X2m4G0QZlm-8vw2d9ZO5uneNOtg,3073
@@ -524,7 +524,7 @@ rapidata/api_client/models/workflow_split_model_filter_configs_inner.py,sha256=1
524
524
  rapidata/api_client/models/workflow_state.py,sha256=5LAK1se76RCoozeVB6oxMPb8p_5bhLZJqn7q5fFQWis,850
525
525
  rapidata/api_client/models/zip_entry_file_wrapper.py,sha256=06CoNJD3x511K3rnSmkrwwhc9GbQxwxF-c0ldOyJbAs,4240
526
526
  rapidata/api_client/rest.py,sha256=rtIMcgINZOUaDFaJIinJkXRSddNJmXvMRMfgO2Ezk2o,10835
527
- rapidata/api_client_README.md,sha256=-CgEFsbrZGqmyS0tOlIgbgij-ApyqQtdUJcye0kmdXs,58480
527
+ rapidata/api_client_README.md,sha256=xdgbo29fmH1jD1-o5U7eT9noDoh8yBQWextKrM4L1_k,59284
528
528
  rapidata/rapidata_client/__init__.py,sha256=MLl41ZPDYezE9ookAjHS75wFqfCTOKq-U01GJbHFjrA,1133
529
529
  rapidata/rapidata_client/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
530
530
  rapidata/rapidata_client/api/rapidata_exception.py,sha256=BIdmHRrJUGW-Mqhp1H_suemZaR6w9TgjWq-ZW5iUPdQ,3878
@@ -534,7 +534,7 @@ rapidata/rapidata_client/assets/_media_asset.py,sha256=LEQtIPHNPVwuIA5ua_3x82aTt
534
534
  rapidata/rapidata_client/assets/_multi_asset.py,sha256=OzU5VxRh3Igku4HC60tEc0XECHh5C2k-k35AbqW7eG8,1842
535
535
  rapidata/rapidata_client/assets/_sessions.py,sha256=Dgcb61Q4gLwU5hurnv6sN2Jvw-ZV7vjhVWXog5Wq4aw,1094
536
536
  rapidata/rapidata_client/assets/_text_asset.py,sha256=bZHBrvbHSzF0qePoJ5LqYq__2ZDspzCeYi1nDbiIako,796
537
- rapidata/rapidata_client/assets/data_type_enum.py,sha256=ELC-ymeKnQlfNAzfqsI7MmUuRiGYamCHVcTc0qR6Fm4,185
537
+ rapidata/rapidata_client/assets/data_type_enum.py,sha256=v6gR2Wqenb9H_Bs6dKmUrkbjYRDD3tZmeoL5f8LlAcM,239
538
538
  rapidata/rapidata_client/benchmark/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
539
539
  rapidata/rapidata_client/benchmark/leaderboard/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
540
540
  rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py,sha256=BDI0xJkTumbZy4dYqkzXy074jC9eaVWoJJDZ84uvatE,3906
@@ -544,9 +544,10 @@ rapidata/rapidata_client/country_codes/__init__.py,sha256=FB9Dcks44J6C6YBSYmTmNZ
544
544
  rapidata/rapidata_client/country_codes/country_codes.py,sha256=ePHqeb7y9DWQZAnddBzPx1puYBcrgUjdR2sbFijuFD8,283
545
545
  rapidata/rapidata_client/demographic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
546
546
  rapidata/rapidata_client/demographic/demographic_manager.py,sha256=RE4r6NNAXinNAlRMgAcG4te4pF4whv81xbyAW2V9XMM,1192
547
- rapidata/rapidata_client/filter/__init__.py,sha256=SqxlEotA_O1Lgw3Um6VPBE2P5Hw7OUVZRSBbsv1GJbI,514
548
- rapidata/rapidata_client/filter/_base_filter.py,sha256=EytjAqeDX_x3D5WoFwwtr8L2ok5-Ga-JEvkRnkuBQbw,1433
547
+ rapidata/rapidata_client/filter/__init__.py,sha256=j_Kfz_asNVxwp56SAN2saB7ZAHg3smL5_W2sSitmuJY,548
548
+ rapidata/rapidata_client/filter/_base_filter.py,sha256=cPLl0ddWB8QU6Luspnub_KXiTEfEFOVBEdnxhJOjoWs,2269
549
549
  rapidata/rapidata_client/filter/age_filter.py,sha256=oRjGY65gE_X8oa0D0XRyvKAb4_Z6XOOaGTWykRSfLFA,739
550
+ rapidata/rapidata_client/filter/and_filter.py,sha256=AlQ-M81_SgVjH7EAghRa5J7u2I6l41ADx9gP2PT0stY,1343
550
551
  rapidata/rapidata_client/filter/campaign_filter.py,sha256=6ZT11-gub8349QcRwuHt8AcBY18F7BdLRZ2Ch_vjLyU,735
551
552
  rapidata/rapidata_client/filter/country_filter.py,sha256=JqCzxePRizXQbN4YzwLmrx9ozKgw0ra6N_enEq36imI,948
552
553
  rapidata/rapidata_client/filter/custom_filter.py,sha256=XZgqJhKCy7m2P0Dx8fk7vVszbdKc7gT2U07dWi3hXgU,885
@@ -558,7 +559,7 @@ rapidata/rapidata_client/filter/models/gender.py,sha256=aXg6Kql2BIy8d5d1lCVi1axM
558
559
  rapidata/rapidata_client/filter/new_user_filter.py,sha256=qU7d6cSslGEO_N1tYPS4Ru3cGbQYH2_I5dJPNPHvtCM,369
559
560
  rapidata/rapidata_client/filter/not_filter.py,sha256=05uZMNPfguNPONP2uYYtuxx-5UAYdmc8gwSAEHMiK3k,1183
560
561
  rapidata/rapidata_client/filter/or_filter.py,sha256=EomsXyYec4beAA63LYfIsh8dO4So1duI7VlLW8VPfzY,1339
561
- rapidata/rapidata_client/filter/rapidata_filters.py,sha256=aHl8bjvL0wJLhzm6BCHy7mPGYYYKTLZhY0WZVeHx0ZA,2014
562
+ rapidata/rapidata_client/filter/rapidata_filters.py,sha256=4UqpfD2SfxVKRsxWL7uOf3sTeW7dpwxzOqLEMNHERWY,2215
562
563
  rapidata/rapidata_client/filter/response_count_filter.py,sha256=sDv9Dvy0FbnIQRSAxFGrUf9SIMISTNxnlAQcrFKBjXE,1989
563
564
  rapidata/rapidata_client/filter/user_score_filter.py,sha256=2C78zkWm5TnfkxGbV1ER2xB7s9ynpacaibzyRZKG8Cc,1566
564
565
  rapidata/rapidata_client/logging/__init__.py,sha256=4gLxePW8TvgYDZmPWMcf6fA8bEyu35vMKOmlPj5oXNE,110
@@ -576,7 +577,7 @@ rapidata/rapidata_client/order/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
576
577
  rapidata/rapidata_client/order/_rapidata_dataset.py,sha256=5OIeIDvqAnb38KfjTsgj5JN7k5xKRhC-1_G-VulzO2c,21216
577
578
  rapidata/rapidata_client/order/_rapidata_order_builder.py,sha256=PyRXNazBffj98Qp7S09QmuIGzNTE-YoUhI8YEvlSCps,12838
578
579
  rapidata/rapidata_client/order/rapidata_order.py,sha256=bYTa7GtR_TEvfAZJZ1Aliy4yPsc-wo8L8tyqtegupyM,12675
579
- rapidata/rapidata_client/order/rapidata_order_manager.py,sha256=Kdup91It_M4zGveZER-CjTG0e5NJTSJzBiRqGufuT-I,37778
580
+ rapidata/rapidata_client/order/rapidata_order_manager.py,sha256=28Lb8iUh_Bun-ijiNGiCjrLn5Rkzbx7lgsgA63M_Jm0,37255
580
581
  rapidata/rapidata_client/order/rapidata_results.py,sha256=ZY0JyHMBZlR6-t6SqKt2OLEO6keR_KvKg9Wk6_I29x4,8653
581
582
  rapidata/rapidata_client/rapidata_client.py,sha256=jTkpu0YcizoxAzbfNdnY1S0xXX6Q0KEMi8boo0f2F5c,4274
582
583
  rapidata/rapidata_client/referee/__init__.py,sha256=q0Hv9nmfEpyChejtyMLT8hWKL0vTTf_UgUXPYNJ-H6M,153
@@ -612,9 +613,9 @@ rapidata/rapidata_client/validation/__init__.py,sha256=s5wHVtcJkncXSFuL9I0zNwccN
612
613
  rapidata/rapidata_client/validation/rapidata_validation_set.py,sha256=h6aicVyrBePfzS5-cPk_hPgmePUqCB3yAbGB_tTXYg0,1814
613
614
  rapidata/rapidata_client/validation/rapids/__init__.py,sha256=WU5PPwtTJlte6U90MDakzx4I8Y0laj7siw9teeXj5R0,21
614
615
  rapidata/rapidata_client/validation/rapids/box.py,sha256=t3_Kn6doKXdnJdtbwefXnYKPiTKHneJl9E2inkDSqL8,589
615
- rapidata/rapidata_client/validation/rapids/rapids.py,sha256=9uyXzjujoDLsp8Hdlyuw1f7IbKdGDoMuth7rPqhxRqY,4742
616
- rapidata/rapidata_client/validation/rapids/rapids_manager.py,sha256=s5VAq8H5CKACWfmIQuz9kHC8t2nd-xEHGGUj9pIfXKI,14386
617
- rapidata/rapidata_client/validation/validation_set_manager.py,sha256=hhtnrXw09FGcL7Xnm58I-vQT4mdhtOWsbR8HhOfeoeU,30323
616
+ rapidata/rapidata_client/validation/rapids/rapids.py,sha256=bsDPp8IJ_7dQOJP7U9IVqfLKctY5YP58gDBX8Ixrpc4,3827
617
+ rapidata/rapidata_client/validation/rapids/rapids_manager.py,sha256=O-AWNQ84zNd8w8JEfCTnWDGAuiDz-Cy17MV1nt7xi2I,14338
618
+ rapidata/rapidata_client/validation/validation_set_manager.py,sha256=7eLh9REoOLRvHR8Ao0oQkPU8REPdLYRP88WXsxX9-fU,30576
618
619
  rapidata/rapidata_client/workflow/__init__.py,sha256=7nXcY91xkxjHudBc9H0fP35eBBtgwHGWTQKbb-M4h7Y,477
619
620
  rapidata/rapidata_client/workflow/_base_workflow.py,sha256=XyIZFKS_RxAuwIHS848S3AyLEHqd07oTD_5jm2oUbsw,762
620
621
  rapidata/rapidata_client/workflow/_classify_workflow.py,sha256=9bT54wxVJgxC-zLk6MVNbseFpzYrvFPjt7DHvxqYfnk,1736
@@ -630,7 +631,7 @@ rapidata/service/__init__.py,sha256=s9bS1AJZaWIhLtJX_ZA40_CK39rAAkwdAmymTMbeWl4,
630
631
  rapidata/service/credential_manager.py,sha256=pUEEtp6VrFWYhfUUtyqmS0AlRqe2Y0kFkY6o22IT4KM,8682
631
632
  rapidata/service/local_file_service.py,sha256=pgorvlWcx52Uh3cEG6VrdMK_t__7dacQ_5AnfY14BW8,877
632
633
  rapidata/service/openapi_service.py,sha256=xoGBACpUhG0H-tadSBa8A91LHyfI7n-FCT2JlrERqco,5221
633
- rapidata-2.30.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
634
- rapidata-2.30.0.dist-info/METADATA,sha256=O2h84JP3EaVGDaxeuGTLcnerkEES1kaCB12aY6WOWuc,1264
635
- rapidata-2.30.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
636
- rapidata-2.30.0.dist-info/RECORD,,
634
+ rapidata-2.31.1.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
635
+ rapidata-2.31.1.dist-info/METADATA,sha256=x0wvgLvfcIDpbwgn14cQAAYjES9WPcgsay63Mu2P3UE,1264
636
+ rapidata-2.31.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
637
+ rapidata-2.31.1.dist-info/RECORD,,