rapidata 0.1.10__py3-none-any.whl → 0.1.11__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.
@@ -1,6 +1,5 @@
1
1
  from itertools import zip_longest
2
2
  import os
3
- from typing import List
4
3
 
5
4
  from rapidata.api_client.models.datapoint_metadata_model import DatapointMetadataModel
6
5
  from rapidata.api_client.models.datapoint_metadata_model_metadata_inner import (
@@ -10,6 +9,7 @@ from rapidata.api_client.models.upload_text_sources_to_dataset_model import (
10
9
  UploadTextSourcesToDatasetModel,
11
10
  )
12
11
  from rapidata.rapidata_client.metadata.base_metadata import Metadata
12
+ from rapidata.rapidata_client.types import RapidAsset
13
13
  from rapidata.service import LocalFileService
14
14
  from rapidata.service.openapi_service import OpenAPIService
15
15
 
@@ -31,22 +31,34 @@ class RapidataDataset:
31
31
 
32
32
  def add_media_from_paths(
33
33
  self,
34
- image_paths: list[str],
35
- metadata: List[Metadata] | None = None,
34
+ image_paths: list[RapidAsset],
35
+ metadata: list[Metadata] | None = None,
36
36
  ):
37
37
  if metadata is not None and len(metadata) != len(image_paths):
38
38
  raise ValueError(
39
39
  "metadata must be None or have the same length as image_paths"
40
40
  )
41
41
 
42
- for image_path, meta in zip_longest(image_paths, metadata or []):
43
- if not os.path.exists(image_path):
44
- raise FileNotFoundError(f"File not found: {image_path}")
45
-
42
+ for media_paths_rapid, meta in zip_longest(image_paths, metadata or []):
43
+
44
+ if isinstance(media_paths_rapid, list) and not all(
45
+ os.path.exists(media_path) for media_path in media_paths_rapid
46
+ ):
47
+ raise FileNotFoundError(f"File not found: {media_paths_rapid}")
48
+
49
+ elif isinstance(media_paths_rapid, str) and not os.path.exists(
50
+ media_paths_rapid
51
+ ):
52
+ raise FileNotFoundError(f"File not found: {media_paths_rapid}")
53
+
46
54
  meta_model = meta.to_model() if meta else None
47
55
  model = DatapointMetadataModel(
48
56
  datasetId=self.dataset_id,
49
- metadata=[DatapointMetadataModelMetadataInner(meta_model)] if meta_model else [],
57
+ metadata=(
58
+ [DatapointMetadataModelMetadataInner(meta_model)]
59
+ if meta_model
60
+ else []
61
+ ),
50
62
  )
51
63
 
52
- self.openapi_service.dataset_api.dataset_create_datapoint_post(model=model, files=[image_path]) # type: ignore
64
+ self.openapi_service.dataset_api.dataset_create_datapoint_post(model=model, files=media_paths_rapid if isinstance(media_paths_rapid, list) else [media_paths_rapid]) # type: ignore
@@ -119,6 +119,8 @@ class ValidationSetBuilder:
119
119
 
120
120
  def add_compare_rapid(self, media_paths: list[str], question: str, truth: str):
121
121
  payload = ComparePayload(_t="ComparePayload", criteria=question)
122
+ # take only last part of truth path
123
+ truth = os.path.basename(truth)
122
124
  model_truth = CompareTruth(_t="CompareTruth", winnerId=truth)
123
125
 
124
126
  if len(media_paths) != 2:
@@ -129,8 +131,6 @@ class ValidationSetBuilder:
129
131
  if not os.path.exists(media_path):
130
132
  raise FileNotFoundError(f"File not found: {media_path}")
131
133
 
132
- # take only last part of truth path
133
- truth = os.path.basename(truth)
134
134
 
135
135
  self._rapid_parts.append(
136
136
  ValidatioRapidParts(
@@ -1,18 +1,21 @@
1
- from rapidata.api_client.api_client import ApiClient
2
1
  from rapidata.api_client.models.aggregator_type import AggregatorType
3
2
  from rapidata.api_client.models.create_order_model import CreateOrderModel
4
- from rapidata.api_client.models.create_order_model_referee import CreateOrderModelReferee
5
- from rapidata.api_client.models.create_order_model_workflow import CreateOrderModelWorkflow
3
+ from rapidata.api_client.models.create_order_model_referee import (
4
+ CreateOrderModelReferee,
5
+ )
6
+ from rapidata.api_client.models.create_order_model_workflow import (
7
+ CreateOrderModelWorkflow,
8
+ )
6
9
  from rapidata.rapidata_client.feature_flags import FeatureFlags
7
10
  from rapidata.rapidata_client.metadata.base_metadata import Metadata
8
11
  from rapidata.rapidata_client.order.dataset.rapidata_dataset import RapidataDataset
9
12
  from rapidata.rapidata_client.referee.naive_referee import NaiveReferee
13
+ from rapidata.rapidata_client.types import RapidAsset
10
14
  from rapidata.rapidata_client.workflow import Workflow
11
15
  from rapidata.rapidata_client.order.rapidata_order import RapidataOrder
12
16
  from rapidata.rapidata_client.referee import Referee
13
17
  from rapidata.service.openapi_service import OpenAPIService
14
18
 
15
-
16
19
  class RapidataOrderBuilder:
17
20
  """
18
21
  Builder object for creating Rapidata orders.
@@ -34,8 +37,8 @@ class RapidataOrderBuilder:
34
37
  self._openapi_service = openapi_service
35
38
  self._workflow: Workflow | None = None
36
39
  self._referee: Referee | None = None
37
- self._media_paths: list[str] = []
38
- self._metadata: list[Metadata] | None = None
40
+ self._media_paths: list[RapidAsset] = []
41
+ self._metadata: list[Metadata] | None = None
39
42
  self._aggregator: AggregatorType | None = None
40
43
  self._validation_set_id: str | None = None
41
44
  self._feature_flags: FeatureFlags | None = None
@@ -61,7 +64,11 @@ class RapidataOrderBuilder:
61
64
  userFilters=[],
62
65
  referee=CreateOrderModelReferee(self._referee.to_model()),
63
66
  validationSetId=self._validation_set_id,
64
- featureFlags=self._feature_flags.to_list() if self._feature_flags is not None else None,
67
+ featureFlags=(
68
+ self._feature_flags.to_list()
69
+ if self._feature_flags is not None
70
+ else None
71
+ ),
65
72
  )
66
73
 
67
74
  result = self._openapi_service.order_api.order_create_post(
@@ -70,7 +77,11 @@ class RapidataOrderBuilder:
70
77
 
71
78
  self.order_id = result.order_id
72
79
  self._dataset = RapidataDataset(result.dataset_id, self._openapi_service)
73
- order = RapidataOrder(order_id=self.order_id, dataset=self._dataset, openapi_service=self._openapi_service)
80
+ order = RapidataOrder(
81
+ order_id=self.order_id,
82
+ dataset=self._dataset,
83
+ openapi_service=self._openapi_service,
84
+ )
74
85
 
75
86
  order.dataset.add_media_from_paths(self._media_paths, self._metadata)
76
87
 
@@ -104,7 +115,10 @@ class RapidataOrderBuilder:
104
115
  return self
105
116
 
106
117
  def media(
107
- self, media_paths: list[str], metadata: list[Metadata] | None = None):
118
+ self,
119
+ media_paths: list[RapidAsset],
120
+ metadata: list[Metadata] | None = None,
121
+ ):
108
122
  """
109
123
  Set the media assets for the order.
110
124
 
@@ -157,7 +171,7 @@ class RapidataOrderBuilder:
157
171
  """
158
172
  self._aggregator = aggregator
159
173
  return self
160
-
174
+
161
175
  def validation_set(self, validation_set_id: str):
162
176
  """
163
177
  Set the validation set for the order.
@@ -0,0 +1 @@
1
+ type RapidAsset = str | list[str]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rapidata
3
- Version: 0.1.10
3
+ Version: 0.1.11
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
@@ -202,15 +202,16 @@ rapidata/rapidata_client/metadata/prompt_metadata.py,sha256=_FypjKWrC3iKUO_G2CVw
202
202
  rapidata/rapidata_client/metadata/transcription_metadata.py,sha256=THtDEVCON4UlcXHmXrjilaOLHys4TrktUOPGWnXaCcc,631
203
203
  rapidata/rapidata_client/order/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
204
204
  rapidata/rapidata_client/order/dataset/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
205
- rapidata/rapidata_client/order/dataset/rapidata_dataset.py,sha256=4fK7TF-jHu6KetATUStB_OwYVo2r5nX7gQTzTHu5pXc,2000
206
- rapidata/rapidata_client/order/dataset/validation_set_builder.py,sha256=RSH3qlmHfjNNnQ3VXvf_BQBXYs0hao9D-z6m3tapMv0,6944
205
+ rapidata/rapidata_client/order/dataset/rapidata_dataset.py,sha256=mVx-YU3N6lvr_0NCg7yGodeBJh8A_Y0tFWRrxcFg9-w,2506
206
+ rapidata/rapidata_client/order/dataset/validation_set_builder.py,sha256=bOdq4ERm0QeQFZ8bc1I82S5qYIqu5hzUsqmDBispMlY,6944
207
207
  rapidata/rapidata_client/order/rapidata_order.py,sha256=ve58PWrv396RxlpFo8OT3QeZvbJjLDRDkNxuCyZQkvg,3003
208
- rapidata/rapidata_client/order/rapidata_order_builder.py,sha256=eawFAmGKw8OlUlN1uZCxORAEJuepzsZk-Mzc82tu73o,6331
208
+ rapidata/rapidata_client/order/rapidata_order_builder.py,sha256=cgSj8yMVMbKDr_8yksTMjFpYqXet27U8QDXzxN7L4is,6491
209
209
  rapidata/rapidata_client/rapidata_client.py,sha256=cbn9d_kvOSLhgaGkUhQJ1lbjYfuw120Kw_x3Kyfzq4M,1607
210
210
  rapidata/rapidata_client/referee/__init__.py,sha256=x0AxGCsR6TlDjfqQ00lB9V7QVS9EZCJzweNEIzx42PI,207
211
211
  rapidata/rapidata_client/referee/base_referee.py,sha256=bMy7cw0a-pGNbFu6u_1_Jplu0A483Ubj4oDQzh8vu8k,493
212
212
  rapidata/rapidata_client/referee/classify_early_stopping_referee.py,sha256=-mPTCck81r2xn1GtMoizaOCftA3cOfj6YDSFbqsI3Ic,1140
213
213
  rapidata/rapidata_client/referee/naive_referee.py,sha256=9CSoZou4YBFc9PiRvA2ELVQqyk-S1nug1SqhTwO9Tvw,719
214
+ rapidata/rapidata_client/types/__init__.py,sha256=Q9lzemtloA8e_XVVV1Y7ZZGsNg-xRqgj1GdJPrCzo5A,33
214
215
  rapidata/rapidata_client/workflow/__init__.py,sha256=CDG8bKOBhLV4A0uBlqOd__79fH9KW3-UlZsR1RANLf0,250
215
216
  rapidata/rapidata_client/workflow/base_workflow.py,sha256=335UyiNsIFix7ru_KZLeQHvfNg3GSId44ppPmWTXs_Y,1267
216
217
  rapidata/rapidata_client/workflow/classify_workflow.py,sha256=m_0z3y3BNnoOeJv27GpmKXfyjVhjeK-5gaVbtYLboVc,1221
@@ -222,7 +223,7 @@ rapidata/service/local_file_service.py,sha256=pgorvlWcx52Uh3cEG6VrdMK_t__7dacQ_5
222
223
  rapidata/service/openapi_service.py,sha256=xNlISI5NZByLy1Yeasc5Uafj1IA2mWJTzxUU1TtwyQU,1402
223
224
  rapidata/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
224
225
  rapidata/utils/image_utils.py,sha256=TldO3eJWG8IhfJjm5MfNGO0mEDm1mQTsRoA0HLU1Uxs,404
225
- rapidata-0.1.10.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
226
- rapidata-0.1.10.dist-info/METADATA,sha256=PzlMF-Z6gKSks4yLISLHT_EoJyOWhj6jwJhDv0KH5TE,768
227
- rapidata-0.1.10.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
228
- rapidata-0.1.10.dist-info/RECORD,,
226
+ rapidata-0.1.11.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
227
+ rapidata-0.1.11.dist-info/METADATA,sha256=-c0TF8oPPvEJOfGlDhxNn13lj5dovqrgqbUqhhc70A4,768
228
+ rapidata-0.1.11.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
229
+ rapidata-0.1.11.dist-info/RECORD,,