rapidata 1.1.0__py3-none-any.whl → 1.2.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.
Files changed (82) hide show
  1. rapidata/__init__.py +1 -0
  2. rapidata/api_client/__init__.py +30 -8
  3. rapidata/api_client/api/__init__.py +2 -0
  4. rapidata/api_client/api/campaign_api.py +8 -4
  5. rapidata/api_client/api/coco_api.py +4 -2
  6. rapidata/api_client/api/compare_workflow_api.py +2 -1
  7. rapidata/api_client/api/datapoint_api.py +6 -3
  8. rapidata/api_client/api/dataset_api.py +404 -396
  9. rapidata/api_client/api/identity_api.py +329 -50
  10. rapidata/api_client/api/newsletter_api.py +4 -2
  11. rapidata/api_client/api/order_api.py +40 -20
  12. rapidata/api_client/api/pipeline_api.py +6 -3
  13. rapidata/api_client/api/rapid_api.py +10 -5
  14. rapidata/api_client/api/rapidata_identity_api_api.py +272 -0
  15. rapidata/api_client/api/simple_workflow_api.py +2 -1
  16. rapidata/api_client/api/user_info_api.py +272 -0
  17. rapidata/api_client/api/validation_api.py +14 -7
  18. rapidata/api_client/api/workflow_api.py +30 -1067
  19. rapidata/api_client/models/__init__.py +28 -8
  20. rapidata/api_client/models/classification_metadata_model.py +98 -0
  21. rapidata/api_client/models/compare_workflow_config.py +3 -3
  22. rapidata/api_client/models/compare_workflow_config_model.py +3 -3
  23. rapidata/api_client/models/compare_workflow_model1.py +4 -18
  24. rapidata/api_client/models/compare_workflow_model1_referee.py +154 -0
  25. rapidata/api_client/models/completed_rapid_model.py +3 -3
  26. rapidata/api_client/models/completed_rapid_model_asset.py +170 -0
  27. rapidata/api_client/models/count_metadata_model.py +98 -0
  28. rapidata/api_client/models/demographic_metadata_model.py +100 -0
  29. rapidata/api_client/models/file_asset_model.py +3 -3
  30. rapidata/api_client/models/file_asset_model1.py +108 -0
  31. rapidata/api_client/models/file_asset_model1_metadata_inner.py +252 -0
  32. rapidata/api_client/models/file_asset_model2.py +108 -0
  33. rapidata/api_client/models/file_asset_model_metadata_inner.py +252 -0
  34. rapidata/api_client/models/image_dimension_metadata_model.py +100 -0
  35. rapidata/api_client/models/in_progress_rapid_model.py +3 -3
  36. rapidata/api_client/models/issue_auth_token_result.py +1 -1
  37. rapidata/api_client/models/legacy_issue_client_auth_token_result.py +87 -0
  38. rapidata/api_client/models/legacy_request_password_reset_command.py +98 -0
  39. rapidata/api_client/models/legacy_submit_password_reset_command.py +102 -0
  40. rapidata/api_client/models/location_metadata_model.py +100 -0
  41. rapidata/api_client/models/multi_asset_model.py +3 -3
  42. rapidata/api_client/models/multi_asset_model1.py +118 -0
  43. rapidata/api_client/models/multi_asset_model1_assets_inner.py +170 -0
  44. rapidata/api_client/models/multi_asset_model2.py +118 -0
  45. rapidata/api_client/models/not_started_rapid_model.py +3 -3
  46. rapidata/api_client/models/null_asset_model.py +3 -3
  47. rapidata/api_client/models/null_asset_model1.py +106 -0
  48. rapidata/api_client/models/null_asset_model2.py +106 -0
  49. rapidata/api_client/models/original_filename_metadata_model.py +98 -0
  50. rapidata/api_client/models/prompt_metadata_model.py +98 -0
  51. rapidata/api_client/models/query_validation_rapids_result_asset.py +40 -40
  52. rapidata/api_client/models/ranked_datapoint_model.py +3 -3
  53. rapidata/api_client/models/simple_workflow_config.py +6 -6
  54. rapidata/api_client/models/simple_workflow_config_model.py +3 -3
  55. rapidata/api_client/models/simple_workflow_model1.py +7 -21
  56. rapidata/api_client/models/simple_workflow_model1_blueprint.py +238 -0
  57. rapidata/api_client/models/text_asset_model.py +3 -3
  58. rapidata/api_client/models/text_asset_model1.py +108 -0
  59. rapidata/api_client/models/text_asset_model2.py +108 -0
  60. rapidata/api_client/models/text_metadata_model.py +98 -0
  61. rapidata/api_client/models/transcription_metadata_model.py +98 -0
  62. rapidata/api_client/models/translated_prompt_metadata_model.py +102 -0
  63. rapidata/api_client/models/translated_string.py +93 -0
  64. rapidata/api_client_README.md +36 -13
  65. rapidata/rapidata_client/__init__.py +13 -2
  66. rapidata/rapidata_client/assets/media_asset.py +1 -1
  67. rapidata/rapidata_client/assets/multi_asset.py +14 -3
  68. rapidata/rapidata_client/dataset/rapidata_dataset.py +59 -21
  69. rapidata/rapidata_client/dataset/validation_set_builder.py +1 -1
  70. rapidata/rapidata_client/order/rapidata_order.py +49 -18
  71. rapidata/rapidata_client/order/rapidata_order_builder.py +99 -41
  72. rapidata/rapidata_client/selection/__init__.py +1 -0
  73. rapidata/rapidata_client/selection/capped_selection.py +25 -0
  74. rapidata/rapidata_client/selection/demographic_selection.py +3 -2
  75. rapidata/rapidata_client/simple_builders/__init__.py +0 -0
  76. rapidata/rapidata_client/simple_builders/simple_classification_builders.py +14 -9
  77. rapidata/rapidata_client/simple_builders/simple_compare_builders.py +6 -3
  78. rapidata/service/openapi_service.py +15 -0
  79. {rapidata-1.1.0.dist-info → rapidata-1.2.1.dist-info}/METADATA +1 -1
  80. {rapidata-1.1.0.dist-info → rapidata-1.2.1.dist-info}/RECORD +82 -50
  81. {rapidata-1.1.0.dist-info → rapidata-1.2.1.dist-info}/LICENSE +0 -0
  82. {rapidata-1.1.0.dist-info → rapidata-1.2.1.dist-info}/WHEEL +0 -0
@@ -81,6 +81,7 @@ Class | Method | HTTP request | Description
81
81
  *DatapointApi* | [**datapoint_delete_delete**](rapidata/api_client/docs/DatapointApi.md#datapoint_delete_delete) | **DELETE** /Datapoint/Delete | Delete a datapoint.
82
82
  *DatapointApi* | [**datapoint_get_all_datapoints_by_dataset_id_get**](rapidata/api_client/docs/DatapointApi.md#datapoint_get_all_datapoints_by_dataset_id_get) | **GET** /Datapoint/GetAllDatapointsByDatasetId | Get all datapoints of a dataset.
83
83
  *DatapointApi* | [**datapoint_get_by_id_get**](rapidata/api_client/docs/DatapointApi.md#datapoint_get_by_id_get) | **GET** /Datapoint/GetById | Get a datapoint by its id.
84
+ *DatasetApi* | [**dataset_creat_text_datapoint_post**](rapidata/api_client/docs/DatasetApi.md#dataset_creat_text_datapoint_post) | **POST** /Dataset/CreatTextDatapoint | Creates new datapoints from text sources.
84
85
  *DatasetApi* | [**dataset_create_datapoint_post**](rapidata/api_client/docs/DatasetApi.md#dataset_create_datapoint_post) | **POST** /Dataset/CreateDatapoint | Creates a single datapoint.
85
86
  *DatasetApi* | [**dataset_get_by_id_get**](rapidata/api_client/docs/DatasetApi.md#dataset_get_by_id_get) | **GET** /Dataset/GetById | Gets a dataset by its id.
86
87
  *DatasetApi* | [**dataset_import_post**](rapidata/api_client/docs/DatasetApi.md#dataset_import_post) | **POST** /Dataset/Import | Imports datapoints from a csv file.
@@ -88,7 +89,6 @@ Class | Method | HTTP request | Description
88
89
  *DatasetApi* | [**dataset_upload_datapoint_post**](rapidata/api_client/docs/DatasetApi.md#dataset_upload_datapoint_post) | **POST** /Dataset/UploadDatapoint | Creates a new multi asset datapoint.
89
90
  *DatasetApi* | [**dataset_upload_files_from_s3_post**](rapidata/api_client/docs/DatasetApi.md#dataset_upload_files_from_s3_post) | **POST** /Dataset/UploadFilesFromS3 | Uploads files from an S3 bucket to a dataset.
90
91
  *DatasetApi* | [**dataset_upload_images_to_dataset_post**](rapidata/api_client/docs/DatasetApi.md#dataset_upload_images_to_dataset_post) | **POST** /Dataset/UploadImagesToDataset | Uploads images to a dataset.
91
- *DatasetApi* | [**dataset_upload_text_sources_to_dataset_post**](rapidata/api_client/docs/DatasetApi.md#dataset_upload_text_sources_to_dataset_post) | **POST** /Dataset/UploadTextSourcesToDataset | Creates new datapoints from text sources.
92
92
  *IdentityApi* | [**identity_confirm_get**](rapidata/api_client/docs/IdentityApi.md#identity_confirm_get) | **GET** /Identity/Confirm | Confirms a user's signup by a token.
93
93
  *IdentityApi* | [**identity_create_client_post**](rapidata/api_client/docs/IdentityApi.md#identity_create_client_post) | **POST** /Identity/CreateClient | Creates a new client for a customer.
94
94
  *IdentityApi* | [**identity_external_login_callback_get**](rapidata/api_client/docs/IdentityApi.md#identity_external_login_callback_get) | **GET** /Identity/ExternalLoginCallback | Logs in a user using after receiving a grant from an external provider.
@@ -97,6 +97,7 @@ Class | Method | HTTP request | Description
97
97
  *IdentityApi* | [**identity_get_client_auth_token_post**](rapidata/api_client/docs/IdentityApi.md#identity_get_client_auth_token_post) | **POST** /Identity/GetClientAuthToken | Issues a new auth token using the client credentials.
98
98
  *IdentityApi* | [**identity_index_post**](rapidata/api_client/docs/IdentityApi.md#identity_index_post) | **POST** /Identity/Index | Logs in a user by username or email and password.
99
99
  *IdentityApi* | [**identity_logout_post**](rapidata/api_client/docs/IdentityApi.md#identity_logout_post) | **POST** /Identity/Logout | Logs out the current user by deleting the refresh token cookie.
100
+ *IdentityApi* | [**identity_register_temporary_post**](rapidata/api_client/docs/IdentityApi.md#identity_register_temporary_post) | **POST** /Identity/RegisterTemporary | Registers and logs in a temporary customer.
100
101
  *IdentityApi* | [**identity_request_reset_post**](rapidata/api_client/docs/IdentityApi.md#identity_request_reset_post) | **POST** /Identity/RequestReset | Request a password reset for a user.
101
102
  *IdentityApi* | [**identity_signup_post**](rapidata/api_client/docs/IdentityApi.md#identity_signup_post) | **POST** /Identity/Signup | Signs up a new user.
102
103
  *IdentityApi* | [**identity_submit_reset_post**](rapidata/api_client/docs/IdentityApi.md#identity_submit_reset_post) | **POST** /Identity/SubmitReset | Updates the password of a user after a password reset request.
@@ -131,7 +132,9 @@ Class | Method | HTTP request | Description
131
132
  *RapidApi* | [**rapid_query_validation_rapids_get**](rapidata/api_client/docs/RapidApi.md#rapid_query_validation_rapids_get) | **GET** /Rapid/QueryValidationRapids | Queries the validation rapids for a specific validation set.
132
133
  *RapidApi* | [**rapid_skip_user_guess_post**](rapidata/api_client/docs/RapidApi.md#rapid_skip_user_guess_post) | **POST** /Rapid/SkipUserGuess | Skips a Rapid for the user.
133
134
  *RapidApi* | [**rapid_validate_current_rapid_bag_get**](rapidata/api_client/docs/RapidApi.md#rapid_validate_current_rapid_bag_get) | **GET** /Rapid/ValidateCurrentRapidBag | Validates that the rapids associated with the current user are active.
135
+ *RapidataIdentityAPIApi* | [**root_get**](rapidata/api_client/docs/RapidataIdentityAPIApi.md#root_get) | **GET** / |
134
136
  *SimpleWorkflowApi* | [**simple_workflow_get_result_overview_get**](rapidata/api_client/docs/SimpleWorkflowApi.md#simple_workflow_get_result_overview_get) | **GET** /SimpleWorkflow/GetResultOverview | Get the result overview for a simple workflow.
137
+ *UserInfoApi* | [**connect_userinfo_get**](rapidata/api_client/docs/UserInfoApi.md#connect_userinfo_get) | **GET** /connect/userinfo | Retrieves information about the authenticated user.
135
138
  *ValidationApi* | [**validation_add_validation_rapid_post**](rapidata/api_client/docs/ValidationApi.md#validation_add_validation_rapid_post) | **POST** /Validation/AddValidationRapid | Adds a new validation rapid to the specified validation set.
136
139
  *ValidationApi* | [**validation_add_validation_text_rapid_post**](rapidata/api_client/docs/ValidationApi.md#validation_add_validation_text_rapid_post) | **POST** /Validation/AddValidationTextRapid | Adds a new validation rapid to the specified validation set.
137
140
  *ValidationApi* | [**validation_create_validation_set_post**](rapidata/api_client/docs/ValidationApi.md#validation_create_validation_set_post) | **POST** /Validation/CreateValidationSet | Creates a new empty validation set.
@@ -139,15 +142,11 @@ Class | Method | HTTP request | Description
139
142
  *ValidationApi* | [**validation_import_compare_post**](rapidata/api_client/docs/ValidationApi.md#validation_import_compare_post) | **POST** /Validation/ImportCompare | Imports a compare validation set from a zip file.
140
143
  *ValidationApi* | [**validation_import_post**](rapidata/api_client/docs/ValidationApi.md#validation_import_post) | **POST** /Validation/Import | Imports a validation set from a zip file.
141
144
  *ValidationApi* | [**validation_query_validation_sets_get**](rapidata/api_client/docs/ValidationApi.md#validation_query_validation_sets_get) | **GET** /Validation/QueryValidationSets | Queries validation sets based on the provided filter, paging and sorting criteria.
142
- *WorkflowApi* | [**workflow_create_independent_post**](rapidata/api_client/docs/WorkflowApi.md#workflow_create_independent_post) | **POST** /Workflow/CreateIndependent | Creates an independent workflow.
143
145
  *WorkflowApi* | [**workflow_delete_delete**](rapidata/api_client/docs/WorkflowApi.md#workflow_delete_delete) | **DELETE** /Workflow/Delete | Deletes a workflow.
144
146
  *WorkflowApi* | [**workflow_get_by_id_get**](rapidata/api_client/docs/WorkflowApi.md#workflow_get_by_id_get) | **GET** /Workflow/GetById | Get a workflow by its ID.
145
147
  *WorkflowApi* | [**workflow_get_progress_get**](rapidata/api_client/docs/WorkflowApi.md#workflow_get_progress_get) | **GET** /Workflow/GetProgress | Get the progress of a workflow.
146
148
  *WorkflowApi* | [**workflow_get_result_overview_get**](rapidata/api_client/docs/WorkflowApi.md#workflow_get_result_overview_get) | **GET** /Workflow/GetResultOverview | Get the result overview for a workflow.
147
- *WorkflowApi* | [**workflow_pause_post**](rapidata/api_client/docs/WorkflowApi.md#workflow_pause_post) | **POST** /Workflow/Pause | Pauses a running workflow.
148
149
  *WorkflowApi* | [**workflow_query_get**](rapidata/api_client/docs/WorkflowApi.md#workflow_query_get) | **GET** /Workflow/Query | Queries workflows based on the provided filter, page, and sort criteria.
149
- *WorkflowApi* | [**workflow_resume_post**](rapidata/api_client/docs/WorkflowApi.md#workflow_resume_post) | **POST** /Workflow/Resume | Resumes a paused workflow.
150
- *WorkflowApi* | [**workflow_start_independent_post**](rapidata/api_client/docs/WorkflowApi.md#workflow_start_independent_post) | **POST** /Workflow/StartIndependent | Starts an independent workflow.
151
150
 
152
151
 
153
152
  ## Documentation For Models
@@ -182,6 +181,7 @@ Class | Method | HTTP request | Description
182
181
  - [CappedSelectionSelectionsInner](rapidata/api_client/docs/CappedSelectionSelectionsInner.md)
183
182
  - [ClassificationMetadata](rapidata/api_client/docs/ClassificationMetadata.md)
184
183
  - [ClassificationMetadataFilterConfig](rapidata/api_client/docs/ClassificationMetadataFilterConfig.md)
184
+ - [ClassificationMetadataModel](rapidata/api_client/docs/ClassificationMetadataModel.md)
185
185
  - [ClassifyPayload](rapidata/api_client/docs/ClassifyPayload.md)
186
186
  - [CloneDatasetModel](rapidata/api_client/docs/CloneDatasetModel.md)
187
187
  - [CloneOrderModel](rapidata/api_client/docs/CloneOrderModel.md)
@@ -192,15 +192,17 @@ Class | Method | HTTP request | Description
192
192
  - [CompareTruth](rapidata/api_client/docs/CompareTruth.md)
193
193
  - [CompareWorkflowConfig](rapidata/api_client/docs/CompareWorkflowConfig.md)
194
194
  - [CompareWorkflowConfigModel](rapidata/api_client/docs/CompareWorkflowConfigModel.md)
195
- - [CompareWorkflowConfigReferee](rapidata/api_client/docs/CompareWorkflowConfigReferee.md)
196
195
  - [CompareWorkflowGetResultOverviewGet200Response](rapidata/api_client/docs/CompareWorkflowGetResultOverviewGet200Response.md)
197
196
  - [CompareWorkflowModel](rapidata/api_client/docs/CompareWorkflowModel.md)
198
197
  - [CompareWorkflowModel1](rapidata/api_client/docs/CompareWorkflowModel1.md)
198
+ - [CompareWorkflowModel1Referee](rapidata/api_client/docs/CompareWorkflowModel1Referee.md)
199
199
  - [CompletedRapidModel](rapidata/api_client/docs/CompletedRapidModel.md)
200
+ - [CompletedRapidModelAsset](rapidata/api_client/docs/CompletedRapidModelAsset.md)
200
201
  - [ConditionalValidationSelection](rapidata/api_client/docs/ConditionalValidationSelection.md)
201
202
  - [Coordinate](rapidata/api_client/docs/Coordinate.md)
202
203
  - [CountClassificationMetadataFilterConfig](rapidata/api_client/docs/CountClassificationMetadataFilterConfig.md)
203
204
  - [CountMetadata](rapidata/api_client/docs/CountMetadata.md)
205
+ - [CountMetadataModel](rapidata/api_client/docs/CountMetadataModel.md)
204
206
  - [CountryUserFilterModel](rapidata/api_client/docs/CountryUserFilterModel.md)
205
207
  - [CreateClientModel](rapidata/api_client/docs/CreateClientModel.md)
206
208
  - [CreateComplexOrderModel](rapidata/api_client/docs/CreateComplexOrderModel.md)
@@ -210,9 +212,6 @@ Class | Method | HTTP request | Description
210
212
  - [CreateDatasetArtifactModelDataset](rapidata/api_client/docs/CreateDatasetArtifactModelDataset.md)
211
213
  - [CreateDemographicRapidModel](rapidata/api_client/docs/CreateDemographicRapidModel.md)
212
214
  - [CreateEmptyValidationSetResult](rapidata/api_client/docs/CreateEmptyValidationSetResult.md)
213
- - [CreateIndependentWorkflowModel](rapidata/api_client/docs/CreateIndependentWorkflowModel.md)
214
- - [CreateIndependentWorkflowModelWorkflowConfig](rapidata/api_client/docs/CreateIndependentWorkflowModelWorkflowConfig.md)
215
- - [CreateIndependentWorkflowResult](rapidata/api_client/docs/CreateIndependentWorkflowResult.md)
216
215
  - [CreateOrderModel](rapidata/api_client/docs/CreateOrderModel.md)
217
216
  - [CreateOrderModelReferee](rapidata/api_client/docs/CreateOrderModelReferee.md)
218
217
  - [CreateOrderModelUserFiltersInner](rapidata/api_client/docs/CreateOrderModelUserFiltersInner.md)
@@ -233,6 +232,7 @@ Class | Method | HTTP request | Description
233
232
  - [DatapointModelAsset](rapidata/api_client/docs/DatapointModelAsset.md)
234
233
  - [DatasetArtifactModel](rapidata/api_client/docs/DatasetArtifactModel.md)
235
234
  - [DatasetEvaluationStepModel](rapidata/api_client/docs/DatasetEvaluationStepModel.md)
235
+ - [DemographicMetadataModel](rapidata/api_client/docs/DemographicMetadataModel.md)
236
236
  - [DemographicSelection](rapidata/api_client/docs/DemographicSelection.md)
237
237
  - [EarlyStoppingRefereeModel](rapidata/api_client/docs/EarlyStoppingRefereeModel.md)
238
238
  - [EmptyValidationTruth](rapidata/api_client/docs/EmptyValidationTruth.md)
@@ -244,6 +244,10 @@ Class | Method | HTTP request | Description
244
244
  - [FileAsset](rapidata/api_client/docs/FileAsset.md)
245
245
  - [FileAssetMetadataInner](rapidata/api_client/docs/FileAssetMetadataInner.md)
246
246
  - [FileAssetModel](rapidata/api_client/docs/FileAssetModel.md)
247
+ - [FileAssetModel1](rapidata/api_client/docs/FileAssetModel1.md)
248
+ - [FileAssetModel1MetadataInner](rapidata/api_client/docs/FileAssetModel1MetadataInner.md)
249
+ - [FileAssetModel2](rapidata/api_client/docs/FileAssetModel2.md)
250
+ - [FileAssetModelMetadataInner](rapidata/api_client/docs/FileAssetModelMetadataInner.md)
247
251
  - [Filter](rapidata/api_client/docs/Filter.md)
248
252
  - [FilterOperator](rapidata/api_client/docs/FilterOperator.md)
249
253
  - [FreeTextPayload](rapidata/api_client/docs/FreeTextPayload.md)
@@ -269,13 +273,16 @@ Class | Method | HTTP request | Description
269
273
  - [GetWorkflowResultOverviewResult](rapidata/api_client/docs/GetWorkflowResultOverviewResult.md)
270
274
  - [IWorkflowModelPagedResult](rapidata/api_client/docs/IWorkflowModelPagedResult.md)
271
275
  - [ImageDimensionMetadata](rapidata/api_client/docs/ImageDimensionMetadata.md)
276
+ - [ImageDimensionMetadataModel](rapidata/api_client/docs/ImageDimensionMetadataModel.md)
272
277
  - [ImportFromFileResult](rapidata/api_client/docs/ImportFromFileResult.md)
273
278
  - [ImportValidationSetFromFileResult](rapidata/api_client/docs/ImportValidationSetFromFileResult.md)
274
279
  - [InProgressRapidModel](rapidata/api_client/docs/InProgressRapidModel.md)
275
280
  - [IssueAuthTokenResult](rapidata/api_client/docs/IssueAuthTokenResult.md)
276
- - [IssueClientAuthTokenResult](rapidata/api_client/docs/IssueClientAuthTokenResult.md)
277
281
  - [LabelingSelection](rapidata/api_client/docs/LabelingSelection.md)
278
282
  - [LanguageUserFilterModel](rapidata/api_client/docs/LanguageUserFilterModel.md)
283
+ - [LegacyIssueClientAuthTokenResult](rapidata/api_client/docs/LegacyIssueClientAuthTokenResult.md)
284
+ - [LegacyRequestPasswordResetCommand](rapidata/api_client/docs/LegacyRequestPasswordResetCommand.md)
285
+ - [LegacySubmitPasswordResetCommand](rapidata/api_client/docs/LegacySubmitPasswordResetCommand.md)
279
286
  - [Line](rapidata/api_client/docs/Line.md)
280
287
  - [LinePayload](rapidata/api_client/docs/LinePayload.md)
281
288
  - [LinePoint](rapidata/api_client/docs/LinePoint.md)
@@ -289,11 +296,15 @@ Class | Method | HTTP request | Description
289
296
  - [LocateResult](rapidata/api_client/docs/LocateResult.md)
290
297
  - [LocationMetadata](rapidata/api_client/docs/LocationMetadata.md)
291
298
  - [LocationMetadataExistsFilterConfig](rapidata/api_client/docs/LocationMetadataExistsFilterConfig.md)
299
+ - [LocationMetadataModel](rapidata/api_client/docs/LocationMetadataModel.md)
292
300
  - [LogicOperator](rapidata/api_client/docs/LogicOperator.md)
293
301
  - [LoginModel](rapidata/api_client/docs/LoginModel.md)
294
302
  - [MetadataVisibilities](rapidata/api_client/docs/MetadataVisibilities.md)
295
303
  - [MultiAsset](rapidata/api_client/docs/MultiAsset.md)
296
304
  - [MultiAssetModel](rapidata/api_client/docs/MultiAssetModel.md)
305
+ - [MultiAssetModel1](rapidata/api_client/docs/MultiAssetModel1.md)
306
+ - [MultiAssetModel1AssetsInner](rapidata/api_client/docs/MultiAssetModel1AssetsInner.md)
307
+ - [MultiAssetModel2](rapidata/api_client/docs/MultiAssetModel2.md)
297
308
  - [NaiveRefereeConfig](rapidata/api_client/docs/NaiveRefereeConfig.md)
298
309
  - [NaiveRefereeModel](rapidata/api_client/docs/NaiveRefereeModel.md)
299
310
  - [NamedClassification](rapidata/api_client/docs/NamedClassification.md)
@@ -306,10 +317,13 @@ Class | Method | HTTP request | Description
306
317
  - [NotStartedRapidModel](rapidata/api_client/docs/NotStartedRapidModel.md)
307
318
  - [NullAsset](rapidata/api_client/docs/NullAsset.md)
308
319
  - [NullAssetModel](rapidata/api_client/docs/NullAssetModel.md)
320
+ - [NullAssetModel1](rapidata/api_client/docs/NullAssetModel1.md)
321
+ - [NullAssetModel2](rapidata/api_client/docs/NullAssetModel2.md)
309
322
  - [OrderModel](rapidata/api_client/docs/OrderModel.md)
310
323
  - [OrderQueryGet200Response](rapidata/api_client/docs/OrderQueryGet200Response.md)
311
324
  - [OrderState](rapidata/api_client/docs/OrderState.md)
312
325
  - [OriginalFilenameMetadata](rapidata/api_client/docs/OriginalFilenameMetadata.md)
326
+ - [OriginalFilenameMetadataModel](rapidata/api_client/docs/OriginalFilenameMetadataModel.md)
313
327
  - [PageInfo](rapidata/api_client/docs/PageInfo.md)
314
328
  - [PolygonPayload](rapidata/api_client/docs/PolygonPayload.md)
315
329
  - [PolygonRapidBlueprint](rapidata/api_client/docs/PolygonRapidBlueprint.md)
@@ -319,6 +333,7 @@ Class | Method | HTTP request | Description
319
333
  - [ProbabilisticAttachCategoryRefereeConfig](rapidata/api_client/docs/ProbabilisticAttachCategoryRefereeConfig.md)
320
334
  - [PromptMetadata](rapidata/api_client/docs/PromptMetadata.md)
321
335
  - [PromptMetadataInput](rapidata/api_client/docs/PromptMetadataInput.md)
336
+ - [PromptMetadataModel](rapidata/api_client/docs/PromptMetadataModel.md)
322
337
  - [PublicTextMetadataInput](rapidata/api_client/docs/PublicTextMetadataInput.md)
323
338
  - [QueryCampaignsModel](rapidata/api_client/docs/QueryCampaignsModel.md)
324
339
  - [QueryModel](rapidata/api_client/docs/QueryModel.md)
@@ -334,19 +349,18 @@ Class | Method | HTTP request | Description
334
349
  - [RapidResultModel](rapidata/api_client/docs/RapidResultModel.md)
335
350
  - [RapidResultModelResult](rapidata/api_client/docs/RapidResultModelResult.md)
336
351
  - [RapidSkippedModel](rapidata/api_client/docs/RapidSkippedModel.md)
337
- - [RequestPasswordResetCommand](rapidata/api_client/docs/RequestPasswordResetCommand.md)
338
352
  - [RootFilter](rapidata/api_client/docs/RootFilter.md)
339
353
  - [SendCompletionMailStepModel](rapidata/api_client/docs/SendCompletionMailStepModel.md)
340
354
  - [Shape](rapidata/api_client/docs/Shape.md)
341
355
  - [SignupCustomerModel](rapidata/api_client/docs/SignupCustomerModel.md)
342
356
  - [SignupShadowCustomerModel](rapidata/api_client/docs/SignupShadowCustomerModel.md)
343
357
  - [SimpleWorkflowConfig](rapidata/api_client/docs/SimpleWorkflowConfig.md)
344
- - [SimpleWorkflowConfigBlueprint](rapidata/api_client/docs/SimpleWorkflowConfigBlueprint.md)
345
358
  - [SimpleWorkflowConfigModel](rapidata/api_client/docs/SimpleWorkflowConfigModel.md)
346
359
  - [SimpleWorkflowConfigModelBlueprint](rapidata/api_client/docs/SimpleWorkflowConfigModelBlueprint.md)
347
360
  - [SimpleWorkflowGetResultOverviewGet200Response](rapidata/api_client/docs/SimpleWorkflowGetResultOverviewGet200Response.md)
348
361
  - [SimpleWorkflowModel](rapidata/api_client/docs/SimpleWorkflowModel.md)
349
362
  - [SimpleWorkflowModel1](rapidata/api_client/docs/SimpleWorkflowModel1.md)
363
+ - [SimpleWorkflowModel1Blueprint](rapidata/api_client/docs/SimpleWorkflowModel1Blueprint.md)
350
364
  - [SimpleWorkflowModelBlueprint](rapidata/api_client/docs/SimpleWorkflowModelBlueprint.md)
351
365
  - [SkipResult](rapidata/api_client/docs/SkipResult.md)
352
366
  - [SortCriterion](rapidata/api_client/docs/SortCriterion.md)
@@ -354,17 +368,22 @@ Class | Method | HTTP request | Description
354
368
  - [StaticSelection](rapidata/api_client/docs/StaticSelection.md)
355
369
  - [SubmitCocoModel](rapidata/api_client/docs/SubmitCocoModel.md)
356
370
  - [SubmitCocoResult](rapidata/api_client/docs/SubmitCocoResult.md)
357
- - [SubmitPasswordResetCommand](rapidata/api_client/docs/SubmitPasswordResetCommand.md)
358
371
  - [TextAsset](rapidata/api_client/docs/TextAsset.md)
359
372
  - [TextAssetModel](rapidata/api_client/docs/TextAssetModel.md)
373
+ - [TextAssetModel1](rapidata/api_client/docs/TextAssetModel1.md)
374
+ - [TextAssetModel2](rapidata/api_client/docs/TextAssetModel2.md)
360
375
  - [TextMetadata](rapidata/api_client/docs/TextMetadata.md)
376
+ - [TextMetadataModel](rapidata/api_client/docs/TextMetadataModel.md)
361
377
  - [TranscriptionMetadata](rapidata/api_client/docs/TranscriptionMetadata.md)
362
378
  - [TranscriptionMetadataInput](rapidata/api_client/docs/TranscriptionMetadataInput.md)
379
+ - [TranscriptionMetadataModel](rapidata/api_client/docs/TranscriptionMetadataModel.md)
363
380
  - [TranscriptionPayload](rapidata/api_client/docs/TranscriptionPayload.md)
364
381
  - [TranscriptionRapidBlueprint](rapidata/api_client/docs/TranscriptionRapidBlueprint.md)
365
382
  - [TranscriptionResult](rapidata/api_client/docs/TranscriptionResult.md)
366
383
  - [TranscriptionTruth](rapidata/api_client/docs/TranscriptionTruth.md)
367
384
  - [TranscriptionWord](rapidata/api_client/docs/TranscriptionWord.md)
385
+ - [TranslatedPromptMetadataModel](rapidata/api_client/docs/TranslatedPromptMetadataModel.md)
386
+ - [TranslatedString](rapidata/api_client/docs/TranslatedString.md)
368
387
  - [UnlockOrderResult](rapidata/api_client/docs/UnlockOrderResult.md)
369
388
  - [UpdateAccessModel](rapidata/api_client/docs/UpdateAccessModel.md)
370
389
  - [UpdateOrderModel](rapidata/api_client/docs/UpdateOrderModel.md)
@@ -403,6 +422,10 @@ Authentication schemes defined for the API:
403
422
  - **API key parameter name**: Authorization
404
423
  - **Location**: HTTP header
405
424
 
425
+ <a id="oauth2"></a>
426
+ ### oauth2
427
+
428
+
406
429
 
407
430
  ## Author
408
431
 
@@ -1,13 +1,24 @@
1
1
  from .rapidata_client import RapidataClient
2
- from .workflow import ClassifyWorkflow, TranscriptionWorkflow, CompareWorkflow, FreeTextWorkflow
2
+ from .workflow import (
3
+ ClassifyWorkflow,
4
+ TranscriptionWorkflow,
5
+ CompareWorkflow,
6
+ FreeTextWorkflow,
7
+ )
3
8
  from .selection import (
4
9
  DemographicSelection,
5
10
  LabelingSelection,
6
11
  ValidationSelection,
7
12
  ConditionalValidationSelection,
13
+ CappedSelection,
8
14
  )
9
15
  from .referee import NaiveReferee, ClassifyEarlyStoppingReferee
10
- from .metadata import PrivateTextMetadata, PublicTextMetadata, PromptMetadata, TranscriptionMetadata
16
+ from .metadata import (
17
+ PrivateTextMetadata,
18
+ PublicTextMetadata,
19
+ PromptMetadata,
20
+ TranscriptionMetadata,
21
+ )
11
22
  from .feature_flags import FeatureFlags
12
23
  from .country_codes import CountryCodes
13
24
  from .assets import MediaAsset, TextAsset, MultiAsset
@@ -29,5 +29,5 @@ class MediaAsset(BaseAsset):
29
29
  FileNotFoundError: If the provided file path does not exist.
30
30
  """
31
31
  if not os.path.exists(path):
32
- raise FileNotFoundError(f"File not found: {path}")
32
+ raise FileNotFoundError(f"File not found: {path}, please provide a valid local file path.")
33
33
  self.path = path
@@ -4,7 +4,8 @@ Defines the MultiAsset class for handling multiple BaseAsset instances.
4
4
  """
5
5
 
6
6
  from rapidata.rapidata_client.assets.base_asset import BaseAsset
7
- from typing import Iterator, List
7
+ from rapidata.rapidata_client.assets import MediaAsset, TextAsset
8
+ from typing import Iterator, Sequence
8
9
 
9
10
 
10
11
  class MultiAsset(BaseAsset):
@@ -16,15 +17,25 @@ class MultiAsset(BaseAsset):
16
17
  assets (List[BaseAsset]): A list of BaseAsset instances to be managed together.
17
18
  """
18
19
 
19
- def __init__(self, assets: list[BaseAsset]):
20
+ def __init__(self, assets: Sequence[BaseAsset]) -> None:
20
21
  """
21
22
  Initialize a MultiAsset instance.
22
23
 
23
24
  Args:
24
25
  assets (List[BaseAsset]): A list of BaseAsset instances to be managed together.
25
26
  """
27
+ if len(assets) != 2:
28
+ raise ValueError("Assets must come in pairs for comparison tasks.")
29
+
30
+ for asset in assets:
31
+ if not isinstance(asset, (TextAsset, MediaAsset)):
32
+ raise TypeError("All assets must be a TextAsset or MediaAsset.")
33
+
34
+ if not all(isinstance(asset, type(assets[0])) for asset in assets):
35
+ raise ValueError("All assets must be of the same type.")
36
+
26
37
  self.assets = assets
27
-
38
+
28
39
  def __len__(self) -> int:
29
40
  """
30
41
  Get the number of assets in the MultiAsset.
@@ -9,6 +9,7 @@ from rapidata.api_client.models.upload_text_sources_to_dataset_model import (
9
9
  UploadTextSourcesToDatasetModel,
10
10
  )
11
11
  from rapidata.rapidata_client.metadata.base_metadata import Metadata
12
+ from rapidata.rapidata_client.assets import TextAsset, MediaAsset, MultiAsset
12
13
  from rapidata.service import LocalFileService
13
14
  from rapidata.service.openapi_service import OpenAPIService
14
15
  from concurrent.futures import ThreadPoolExecutor, as_completed
@@ -22,34 +23,71 @@ class RapidataDataset:
22
23
  self.openapi_service = openapi_service
23
24
  self.local_file_service = LocalFileService()
24
25
 
25
- def add_texts(self, texts: list[str]):
26
- model = UploadTextSourcesToDatasetModel(
27
- datasetId=self.dataset_id, textSources=texts
28
- )
29
- self.openapi_service.dataset_api.dataset_upload_text_sources_to_dataset_post(
30
- model
31
- )
26
+ def add_texts(
27
+ self,
28
+ text_assets: list[TextAsset] | list[MultiAsset],
29
+ max_workers: int = 10,
30
+ ):
31
+ for text_asset in text_assets:
32
+ if isinstance(text_asset, MultiAsset):
33
+ assert all(
34
+ isinstance(asset, TextAsset) for asset in text_asset.assets
35
+ ), "All assets in a MultiAsset must be of type TextAsset."
36
+
37
+ def upload_text_datapoint(text_asset: TextAsset | MultiAsset) -> None:
38
+ if isinstance(text_asset, TextAsset):
39
+ texts = [text_asset.text]
40
+ elif isinstance(text_asset, MultiAsset):
41
+ texts = [asset.text for asset in text_asset.assets if isinstance(asset, TextAsset)]
42
+ else:
43
+ raise ValueError(f"Unsupported asset type: {type(text_asset)}")
44
+
45
+ model = UploadTextSourcesToDatasetModel(
46
+ datasetId=self.dataset_id,
47
+ textSources=texts
48
+ )
49
+
50
+ self.openapi_service.dataset_api.dataset_creat_text_datapoint_post(model)
51
+
52
+ total_uploads = len(text_assets)
53
+ with ThreadPoolExecutor(max_workers=max_workers) as executor:
54
+ futures = [
55
+ executor.submit(upload_text_datapoint, text_asset)
56
+ ]
57
+
58
+ with tqdm(total=total_uploads, desc="Uploading text datapoints") as pbar:
59
+ for future in as_completed(futures):
60
+ future.result() # This will raise any exceptions that occurred during execution
61
+ pbar.update(1)
32
62
 
33
63
  def add_media_from_paths(
34
64
  self,
35
- media_paths: list[str | list[str]],
65
+ media_paths: list[MediaAsset] | list[MultiAsset], # where multiasset is a list of media assets
36
66
  metadata: list[Metadata] | None = None,
37
67
  max_workers: int = 10,
38
68
  ):
39
69
  if metadata is not None and len(metadata) != len(media_paths):
40
70
  raise ValueError(
41
- "metadata must be None or have the same length as image_paths"
71
+ "metadata must be None or have the same length as media_paths"
42
72
  )
73
+
74
+ for media_path in media_paths:
75
+ if isinstance(media_path, MultiAsset):
76
+ assert all(
77
+ isinstance(asset, MediaAsset) for asset in media_path.assets
78
+ ), "All assets in a MultiAsset must be of type MediaAsset."
43
79
 
44
- def upload_datapoint(media_paths_rapid: str | list[str], meta: Metadata | None) -> None:
45
- if isinstance(media_paths_rapid, list) and not all(
46
- os.path.exists(media_path) for media_path in media_paths_rapid
47
- ):
48
- raise FileNotFoundError(f"File not found: {media_paths_rapid}")
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}")
80
+ def upload_datapoint(media_asset: MediaAsset | MultiAsset, meta: Metadata | None) -> None:
81
+ if isinstance(media_asset, MediaAsset):
82
+ paths = [media_asset.path]
83
+ elif isinstance(media_asset, MultiAsset):
84
+ paths = [asset.path for asset in media_asset.assets if isinstance(asset, MediaAsset)]
85
+ else:
86
+ raise ValueError(f"Unsupported asset type: {type(media_asset)}")
87
+
88
+ assert all(
89
+ os.path.exists(media_path) for media_path in paths
90
+ ), "All media paths must exist on the local filesystem."
53
91
 
54
92
  meta_model = meta.to_model() if meta else None
55
93
  model = DatapointMetadataModel(
@@ -63,14 +101,14 @@ class RapidataDataset:
63
101
 
64
102
  self.openapi_service.dataset_api.dataset_create_datapoint_post(
65
103
  model=model,
66
- files=media_paths_rapid if isinstance(media_paths_rapid, list) else [media_paths_rapid] # type: ignore
104
+ files=paths # type: ignore
67
105
  )
68
106
 
69
107
  total_uploads = len(media_paths)
70
108
  with ThreadPoolExecutor(max_workers=max_workers) as executor:
71
109
  futures = [
72
- executor.submit(upload_datapoint, media_paths, meta)
73
- for media_paths, meta in zip_longest(media_paths, metadata or [])
110
+ executor.submit(upload_datapoint, media_asset, meta)
111
+ for media_asset, meta in zip_longest(media_paths, metadata or [])
74
112
  ]
75
113
 
76
114
  with tqdm(total=total_uploads, desc="Uploading datapoints") as pbar:
@@ -209,7 +209,7 @@ class ValidationSetBuilder:
209
209
  payload=payload,
210
210
  truths=model_truth,
211
211
  metadata=metadata,
212
- randomCorrectProbability=1 / len(transcription),
212
+ randomCorrectProbability = 1 / len(transcription_words),
213
213
  )
214
214
  )
215
215
 
@@ -3,7 +3,9 @@ from rapidata.rapidata_client.dataset.rapidata_dataset import RapidataDataset
3
3
  from rapidata.service.openapi_service import OpenAPIService
4
4
  import json
5
5
  from rapidata.api_client.exceptions import ApiException
6
-
6
+ from typing import cast
7
+ from rapidata.api_client.models.workflow_artifact_model import WorkflowArtifactModel
8
+ from tqdm import tqdm
7
9
 
8
10
  class RapidataOrder:
9
11
  """
@@ -26,6 +28,7 @@ class RapidataOrder:
26
28
  self.openapi_service = openapi_service
27
29
  self.order_id = order_id
28
30
  self._dataset = dataset
31
+ self._workflow_id = None
29
32
 
30
33
  def submit(self):
31
34
  """
@@ -49,27 +52,55 @@ class RapidataOrder:
49
52
  """
50
53
  return self.openapi_service.order_api.order_get_by_id_get(self.order_id)
51
54
 
52
- def wait_for_done(self):
55
+ def display_progress_bar(self, refresh_rate=5):
53
56
  """
54
- Blocking call that waits for the order to be done. Exponential backoff is used to check the status of the order.
57
+ Displays a progress bar for the order processing using tqdm.
58
+
59
+ :param refresh_rate: How often to refresh the progress bar, in seconds.
60
+ :type refresh_rate: float
55
61
  """
56
- wait_time = 1
57
- back_off_factor = 1.1
58
- minimum_poll_interval = 60 # 1 minute
59
-
60
- while True:
61
- time.sleep(wait_time)
62
- result = self.get_status()
63
- if result.state == "ManualReview":
64
- print(
65
- "Order is in manual review. Please contact support for approval. Will continue polling."
66
- )
62
+ total_rapids = self._get_total_rapids()
63
+ with tqdm(total=total_rapids, desc="Processing order", unit="rapids") as pbar:
64
+ completed_rapids = 0
65
+ while True:
66
+ current_completed = self._get_completed_rapids()
67
+ if current_completed > completed_rapids:
68
+ pbar.update(current_completed - completed_rapids)
69
+ completed_rapids = current_completed
70
+
71
+ if completed_rapids >= total_rapids:
72
+ break
73
+
74
+ time.sleep(refresh_rate)
67
75
 
68
- if result.state == "Completed" or result.state == "Failed":
76
+ def _get_workflow_id(self):
77
+ if self._workflow_id:
78
+ return self._workflow_id
79
+
80
+ for _ in range(2):
81
+ try:
82
+ order_result = self.openapi_service.order_api.order_get_by_id_get(self.order_id)
83
+ pipeline = self.openapi_service.pipeline_api.pipeline_id_get(order_result.pipeline_id)
84
+ self._workflow_id = cast(WorkflowArtifactModel, pipeline.artifacts["workflow-artifact"].actual_instance).workflow_id
69
85
  break
70
- wait_time = max(
71
- minimum_poll_interval, wait_time * back_off_factor
72
- ) # poll at least every 10 minutes
86
+ except Exception:
87
+ time.sleep(2)
88
+ if not self._workflow_id:
89
+ raise Exception("Order has not started yet. Please wait for a few seconds and try again.")
90
+ return self._workflow_id
91
+
92
+ def _get_total_rapids(self):
93
+ workflow_id = self._get_workflow_id()
94
+ return self.openapi_service.workflow_api.workflow_get_progress_get(workflow_id).total
95
+
96
+ def _get_completed_rapids(self):
97
+ workflow_id = self._get_workflow_id()
98
+ return self.openapi_service.workflow_api.workflow_get_progress_get(workflow_id).completed
99
+
100
+ def get_progress_percentage(self):
101
+ workflow_id = self._get_workflow_id()
102
+ progress = self.openapi_service.workflow_api.workflow_get_progress_get(workflow_id)
103
+ return progress.completion_percentage
73
104
 
74
105
  def get_results(self):
75
106
  """