rapidata 1.8.3__py3-none-any.whl → 2.44.4__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.

Files changed (899) hide show
  1. rapidata/__init__.py +32 -16
  2. rapidata/api_client/__init__.py +83 -279
  3. rapidata/api_client/api/__init__.py +14 -4
  4. rapidata/api_client/api/asset_api.py +853 -0
  5. rapidata/api_client/api/audience_api.py +1133 -0
  6. rapidata/api_client/api/benchmark_api.py +3966 -0
  7. rapidata/api_client/api/campaign_api.py +926 -125
  8. rapidata/api_client/api/client_api.py +589 -42
  9. rapidata/api_client/api/coco_api.py +45 -45
  10. rapidata/api_client/api/compare_workflow_api.py +47 -45
  11. rapidata/api_client/api/{validation_api.py → customer_rapid_api.py} +367 -378
  12. rapidata/api_client/api/datapoint_api.py +69 -336
  13. rapidata/api_client/api/dataset_api.py +263 -872
  14. rapidata/api_client/api/evaluation_workflow_api.py +319 -0
  15. rapidata/api_client/api/feedback_api.py +306 -0
  16. rapidata/api_client/api/grouped_ranking_workflow_api.py +319 -0
  17. rapidata/api_client/api/identity_api.py +365 -120
  18. rapidata/api_client/api/leaderboard_api.py +2550 -0
  19. rapidata/api_client/api/newsletter_api.py +35 -34
  20. rapidata/api_client/api/order_api.py +1111 -787
  21. rapidata/api_client/api/participant_api.py +2181 -0
  22. rapidata/api_client/api/pipeline_api.py +156 -139
  23. rapidata/api_client/api/prompt_api.py +320 -0
  24. rapidata/api_client/api/rapid_api.py +1288 -189
  25. rapidata/api_client/api/rapidata_identity_api_api.py +5 -4
  26. rapidata/api_client/api/sample_api.py +300 -0
  27. rapidata/api_client/api/simple_workflow_api.py +47 -79
  28. rapidata/api_client/api/survey_api.py +304 -0
  29. rapidata/api_client/api/user_rapid_api.py +1389 -0
  30. rapidata/api_client/api/validation_set_api.py +3052 -0
  31. rapidata/api_client/api/workflow_api.py +410 -96
  32. rapidata/api_client/api_client.py +2 -2
  33. rapidata/api_client/configuration.py +16 -29
  34. rapidata/api_client/exceptions.py +2 -2
  35. rapidata/api_client/models/__init__.py +65 -260
  36. rapidata/api_client/models/ab_test_selection.py +122 -0
  37. rapidata/api_client/models/ab_test_selection_a_inner.py +240 -0
  38. rapidata/api_client/models/add_campaign_model.py +52 -11
  39. rapidata/api_client/models/add_campaign_model_user_filters_inner.py +224 -0
  40. rapidata/api_client/models/add_user_response_result.py +111 -0
  41. rapidata/api_client/models/add_user_response_result_validation_truth.py +258 -0
  42. rapidata/api_client/models/add_validation_rapid_model.py +61 -23
  43. rapidata/api_client/models/add_validation_rapid_model_asset.py +154 -0
  44. rapidata/api_client/models/add_validation_rapid_model_context_asset.py +160 -0
  45. rapidata/api_client/models/add_validation_rapid_model_metadata_inner.py +140 -0
  46. rapidata/api_client/models/add_validation_rapid_model_payload.py +30 -16
  47. rapidata/api_client/models/add_validation_rapid_model_truth.py +65 -17
  48. rapidata/api_client/models/add_validation_rapid_new_model.py +137 -0
  49. rapidata/api_client/models/add_validation_rapid_new_model_asset.py +182 -0
  50. rapidata/api_client/models/add_validation_rapid_new_model_truth.py +286 -0
  51. rapidata/api_client/models/add_validation_text_rapid_model.py +14 -9
  52. rapidata/api_client/models/age_group.py +5 -4
  53. rapidata/api_client/models/age_user_filter_model.py +2 -2
  54. rapidata/api_client/models/age_user_filter_model_age_group.py +41 -0
  55. rapidata/api_client/models/aggregated_orders_model.py +98 -0
  56. rapidata/api_client/models/aggregator_type.py +5 -2
  57. rapidata/api_client/models/and_filter.py +121 -0
  58. rapidata/api_client/models/and_filter_filters_inner.py +282 -0
  59. rapidata/api_client/models/and_user_filter_model.py +106 -0
  60. rapidata/api_client/models/and_user_filter_model_filters_inner.py +282 -0
  61. rapidata/api_client/models/are_rapids_active_result.py +87 -0
  62. rapidata/api_client/models/asset_metadata.py +106 -0
  63. rapidata/api_client/models/asset_metadata_asset.py +170 -0
  64. rapidata/api_client/models/asset_metadata_model.py +96 -0
  65. rapidata/api_client/models/asset_metadata_model_asset.py +170 -0
  66. rapidata/api_client/models/asset_type.py +40 -0
  67. rapidata/api_client/models/attach_category_rapid_blueprint.py +13 -3
  68. rapidata/api_client/models/attach_category_rapid_blueprint_category.py +89 -0
  69. rapidata/api_client/models/audience_status.py +38 -0
  70. rapidata/api_client/models/base_error.py +1 -4
  71. rapidata/api_client/models/benchmark_query_result.py +98 -0
  72. rapidata/api_client/models/benchmark_query_result_paged_result.py +105 -0
  73. rapidata/api_client/models/boost_leaderboard_model.py +89 -0
  74. rapidata/api_client/models/boost_mode.py +37 -0
  75. rapidata/api_client/models/boost_query_result.py +97 -0
  76. rapidata/api_client/models/boost_query_result_boost_mode.py +37 -0
  77. rapidata/api_client/models/boost_query_result_boost_status.py +39 -0
  78. rapidata/api_client/models/boost_status.py +39 -0
  79. rapidata/api_client/models/boosting_profile.py +89 -0
  80. rapidata/api_client/models/box_shape.py +4 -33
  81. rapidata/api_client/models/campaign_filter.py +98 -0
  82. rapidata/api_client/models/campaign_query_result.py +107 -0
  83. rapidata/api_client/models/campaign_query_result_paged_result.py +105 -0
  84. rapidata/api_client/models/campaign_status.py +4 -2
  85. rapidata/api_client/models/capped_selection.py +3 -3
  86. rapidata/api_client/models/change_boost_model.py +89 -0
  87. rapidata/api_client/models/classification_metadata.py +14 -5
  88. rapidata/api_client/models/classification_metadata_model.py +2 -4
  89. rapidata/api_client/models/classify_payload.py +14 -15
  90. rapidata/api_client/models/classify_payload_category.py +89 -0
  91. rapidata/api_client/models/client_model.py +181 -0
  92. rapidata/api_client/models/clients_query_result.py +2 -2
  93. rapidata/api_client/models/clone_order_model.py +6 -8
  94. rapidata/api_client/models/clone_order_result.py +9 -4
  95. rapidata/api_client/models/compare_match_status.py +39 -0
  96. rapidata/api_client/models/compare_rapid_blueprint.py +5 -3
  97. rapidata/api_client/models/compare_rapid_blueprint1.py +96 -0
  98. rapidata/api_client/models/compare_result.py +4 -4
  99. rapidata/api_client/models/compare_workflow_config.py +31 -22
  100. rapidata/api_client/models/compare_workflow_config_context_asset.py +174 -0
  101. rapidata/api_client/models/compare_workflow_config_metadata_value.py +296 -0
  102. rapidata/api_client/models/compare_workflow_config_model.py +32 -29
  103. rapidata/api_client/models/compare_workflow_config_model_pair_maker_config.py +126 -0
  104. rapidata/api_client/models/compare_workflow_config_pair_maker_config.py +126 -0
  105. rapidata/api_client/models/compare_workflow_model.py +59 -14
  106. rapidata/api_client/models/compare_workflow_model1.py +32 -19
  107. rapidata/api_client/models/compare_workflow_model1_pair_maker_information.py +126 -0
  108. rapidata/api_client/models/compare_workflow_model_context_asset.py +160 -0
  109. rapidata/api_client/models/compare_workflow_model_metadata_inner.py +154 -0
  110. rapidata/api_client/models/compare_workflow_model_pair_maker_config.py +126 -0
  111. rapidata/api_client/models/comparison_operator.py +41 -0
  112. rapidata/api_client/models/conditional_validation_selection.py +9 -5
  113. rapidata/api_client/models/conditional_validation_selection_validation_chance.py +103 -0
  114. rapidata/api_client/models/confidence_interval.py +89 -0
  115. rapidata/api_client/models/coordinate.py +2 -2
  116. rapidata/api_client/models/count_metadata.py +13 -4
  117. rapidata/api_client/models/count_metadata_model.py +2 -4
  118. rapidata/api_client/models/country_filter.py +98 -0
  119. rapidata/api_client/models/create_audience_request.py +99 -0
  120. rapidata/api_client/models/create_audience_result.py +87 -0
  121. rapidata/api_client/models/create_benchmark_model.py +87 -0
  122. rapidata/api_client/models/create_benchmark_participant_model.py +87 -0
  123. rapidata/api_client/models/create_benchmark_participant_result.py +89 -0
  124. rapidata/api_client/models/create_benchmark_prompt_result.py +87 -0
  125. rapidata/api_client/models/create_benchmark_result.py +87 -0
  126. rapidata/api_client/models/create_bridge_token_result.py +2 -2
  127. rapidata/api_client/models/create_client_model.py +6 -13
  128. rapidata/api_client/models/create_complex_order_model.py +9 -9
  129. rapidata/api_client/models/create_complex_order_result.py +6 -4
  130. rapidata/api_client/models/create_customer_client_result.py +89 -0
  131. rapidata/api_client/models/create_datapoint_from_files_model.py +102 -0
  132. rapidata/api_client/models/create_datapoint_from_files_model_metadata_inner.py +182 -0
  133. rapidata/api_client/models/create_datapoint_from_text_sources_model.py +109 -0
  134. rapidata/api_client/models/create_datapoint_from_urls_model.py +109 -0
  135. rapidata/api_client/models/create_datapoint_from_urls_model_metadata_inner.py +168 -0
  136. rapidata/api_client/models/create_datapoint_model.py +134 -0
  137. rapidata/api_client/models/create_datapoint_model_asset.py +154 -0
  138. rapidata/api_client/models/create_datapoint_model_context_asset.py +160 -0
  139. rapidata/api_client/models/create_datapoint_model_metadata_inner.py +154 -0
  140. rapidata/api_client/models/create_datapoint_result.py +87 -0
  141. rapidata/api_client/models/create_datapoints_from_s3_bucket_model.py +124 -0
  142. rapidata/api_client/models/create_demographic_rapid_model.py +45 -7
  143. rapidata/api_client/models/create_demographic_rapid_model_asset.py +160 -0
  144. rapidata/api_client/models/create_demographic_rapid_model_context_asset.py +160 -0
  145. rapidata/api_client/models/create_demographic_rapid_model_new.py +119 -0
  146. rapidata/api_client/models/create_empty_validation_set_result.py +2 -2
  147. rapidata/api_client/models/create_leaderboard_model.py +140 -0
  148. rapidata/api_client/models/create_leaderboard_participant_model.py +87 -0
  149. rapidata/api_client/models/create_leaderboard_participant_result.py +89 -0
  150. rapidata/api_client/models/create_leaderboard_result.py +99 -0
  151. rapidata/api_client/models/create_order_model.py +41 -52
  152. rapidata/api_client/models/create_order_model_referee.py +12 -12
  153. rapidata/api_client/models/create_order_model_user_filters_inner.py +83 -11
  154. rapidata/api_client/models/create_order_model_workflow.py +35 -21
  155. rapidata/api_client/models/create_order_result.py +6 -4
  156. rapidata/api_client/models/create_rapid_result.py +87 -0
  157. rapidata/api_client/models/create_sample_model.py +93 -0
  158. rapidata/api_client/models/create_sample_model_asset.py +154 -0
  159. rapidata/api_client/models/create_sample_model_obsolete.py +87 -0
  160. rapidata/api_client/models/create_simple_pipeline_model_pipeline_steps_inner.py +8 -22
  161. rapidata/api_client/models/create_unsupported_order_model.py +6 -6
  162. rapidata/api_client/models/create_validation_set_model.py +87 -0
  163. rapidata/api_client/models/custom_user_filter_model.py +98 -0
  164. rapidata/api_client/models/datapoint.py +12 -28
  165. rapidata/api_client/models/datapoint_asset.py +40 -40
  166. rapidata/api_client/models/datapoint_metadata_model.py +13 -6
  167. rapidata/api_client/models/datapoint_model_paged_result.py +105 -0
  168. rapidata/api_client/models/datapoint_state.py +38 -0
  169. rapidata/api_client/models/dataset_dataset_id_datapoints_post_request_metadata_inner.py +182 -0
  170. rapidata/api_client/models/demographic.py +89 -0
  171. rapidata/api_client/models/demographic_filter.py +100 -0
  172. rapidata/api_client/models/demographic_metadata_model.py +18 -9
  173. rapidata/api_client/models/dynamic_client_registration_request.py +160 -0
  174. rapidata/api_client/models/early_stopping_referee_model.py +3 -3
  175. rapidata/api_client/models/effort_capped_selection.py +106 -0
  176. rapidata/api_client/models/elo_config.py +91 -0
  177. rapidata/api_client/models/elo_config_model.py +91 -0
  178. rapidata/api_client/models/entity_tag_header_value.py +93 -0
  179. rapidata/api_client/models/evaluation_workflow_config.py +13 -3
  180. rapidata/api_client/models/evaluation_workflow_model.py +16 -6
  181. rapidata/api_client/models/evaluation_workflow_model1.py +115 -0
  182. rapidata/api_client/models/existing_asset_input.py +120 -0
  183. rapidata/api_client/models/existing_asset_input_metadata_value.py +126 -0
  184. rapidata/api_client/models/feature_flag.py +2 -2
  185. rapidata/api_client/models/feature_flag_model.py +6 -6
  186. rapidata/api_client/models/feedback_model.py +7 -7
  187. rapidata/api_client/models/file_asset.py +15 -12
  188. rapidata/api_client/models/file_asset_input.py +104 -0
  189. rapidata/api_client/models/file_asset_input1.py +104 -0
  190. rapidata/api_client/models/file_asset_input1_file.py +168 -0
  191. rapidata/api_client/models/file_asset_input2.py +104 -0
  192. rapidata/api_client/models/file_asset_input3.py +104 -0
  193. rapidata/api_client/models/file_asset_input_file.py +168 -0
  194. rapidata/api_client/models/file_asset_metadata_value.py +252 -0
  195. rapidata/api_client/models/file_asset_model.py +18 -13
  196. rapidata/api_client/models/file_asset_model_metadata_inner.py +8 -22
  197. rapidata/api_client/models/file_asset_model_metadata_value.py +252 -0
  198. rapidata/api_client/models/file_stream_result.py +122 -0
  199. rapidata/api_client/models/file_type.py +39 -0
  200. rapidata/api_client/models/file_type_metadata.py +110 -0
  201. rapidata/api_client/models/file_type_metadata_model.py +97 -0
  202. rapidata/api_client/models/filter.py +7 -25
  203. rapidata/api_client/models/filter_operator.py +3 -2
  204. rapidata/api_client/models/fork_benchmark_result.py +87 -0
  205. rapidata/api_client/models/form_file_wrapper.py +135 -0
  206. rapidata/api_client/models/free_text_payload.py +10 -3
  207. rapidata/api_client/models/free_text_rapid_blueprint.py +10 -3
  208. rapidata/api_client/models/gender_user_filter_model.py +2 -2
  209. rapidata/api_client/models/gender_user_filter_model_gender.py +38 -0
  210. rapidata/api_client/models/get_asset_metadata_result.py +100 -0
  211. rapidata/api_client/models/get_audience_by_id_result.py +111 -0
  212. rapidata/api_client/models/get_available_validation_sets_result.py +2 -2
  213. rapidata/api_client/models/get_benchmark_by_id_query.py +96 -0
  214. rapidata/api_client/models/get_benchmark_by_id_query_result.py +94 -0
  215. rapidata/api_client/models/get_benchmark_by_id_query_result_paged_result.py +105 -0
  216. rapidata/api_client/models/get_benchmark_by_id_result.py +96 -0
  217. rapidata/api_client/models/get_boost_result.py +97 -0
  218. rapidata/api_client/models/get_boost_result_boost_mode.py +37 -0
  219. rapidata/api_client/models/get_boost_result_boost_status.py +39 -0
  220. rapidata/api_client/models/get_classify_workflow_result_overview_result.py +144 -0
  221. rapidata/api_client/models/get_compare_ab_summary_result.py +87 -0
  222. rapidata/api_client/models/get_compare_workflow_results_model.py +106 -0
  223. rapidata/api_client/models/get_compare_workflow_results_result.py +95 -0
  224. rapidata/api_client/models/get_compare_workflow_results_result_asset.py +170 -0
  225. rapidata/api_client/models/get_compare_workflow_results_result_paged_result.py +105 -0
  226. rapidata/api_client/models/get_datapoint_by_id_result.py +103 -0
  227. rapidata/api_client/models/get_datapoint_by_id_result_asset.py +170 -0
  228. rapidata/api_client/models/get_dataset_by_id_result.py +2 -2
  229. rapidata/api_client/models/get_dataset_progress_result.py +93 -0
  230. rapidata/api_client/models/get_evaluation_workflow_results_model.py +119 -0
  231. rapidata/api_client/models/get_failed_datapoints_result.py +95 -0
  232. rapidata/api_client/models/get_failed_datapoints_result_datapoint.py +100 -0
  233. rapidata/api_client/models/get_file_metadata_result.py +100 -0
  234. rapidata/api_client/models/get_grouped_ranking_workflow_results_model.py +106 -0
  235. rapidata/api_client/models/get_grouped_ranking_workflow_results_result.py +97 -0
  236. rapidata/api_client/models/get_grouped_ranking_workflow_results_result_paged_result.py +105 -0
  237. rapidata/api_client/models/get_leaderboard_by_id_result.py +135 -0
  238. rapidata/api_client/models/get_order_by_id_result.py +12 -5
  239. rapidata/api_client/models/get_participant_by_id_result.py +91 -0
  240. rapidata/api_client/models/get_pipeline_by_id_result.py +18 -8
  241. rapidata/api_client/models/get_public_orders_result.py +2 -2
  242. rapidata/api_client/models/get_public_responses_result.py +95 -0
  243. rapidata/api_client/models/get_public_responses_result_response.py +112 -0
  244. rapidata/api_client/models/get_rapid_responses_result.py +106 -0
  245. rapidata/api_client/models/get_recommended_validation_set_result.py +95 -0
  246. rapidata/api_client/models/get_responses_for_rapid_result.py +106 -0
  247. rapidata/api_client/models/get_responses_for_rapid_result_response.py +103 -0
  248. rapidata/api_client/models/get_responses_for_rapid_result_response_result.py +266 -0
  249. rapidata/api_client/models/get_responses_result.py +95 -0
  250. rapidata/api_client/models/get_responses_result_response.py +103 -0
  251. rapidata/api_client/models/get_sample_by_id_result.py +125 -0
  252. rapidata/api_client/models/get_simple_workflow_results_model.py +119 -0
  253. rapidata/api_client/models/get_simple_workflow_results_result.py +118 -0
  254. rapidata/api_client/models/get_simple_workflow_results_result_paged_result.py +105 -0
  255. rapidata/api_client/models/get_standing_by_id_result.py +96 -0
  256. rapidata/api_client/models/get_validation_rapids_query.py +123 -0
  257. rapidata/api_client/models/get_validation_rapids_query_paged_result.py +105 -0
  258. rapidata/api_client/models/get_validation_rapids_result.py +150 -0
  259. rapidata/api_client/models/get_validation_rapids_result_asset.py +174 -0
  260. rapidata/api_client/models/get_validation_rapids_result_paged_result.py +105 -0
  261. rapidata/api_client/models/get_validation_rapids_result_payload.py +252 -0
  262. rapidata/api_client/models/get_validation_rapids_result_truth.py +286 -0
  263. rapidata/api_client/models/get_validation_set_by_id_result.py +10 -4
  264. rapidata/api_client/models/get_workflow_by_id_result.py +5 -5
  265. rapidata/api_client/models/get_workflow_by_id_result_workflow.py +37 -9
  266. rapidata/api_client/models/get_workflow_progress_result.py +5 -11
  267. rapidata/api_client/models/get_workflow_results_result.py +129 -0
  268. rapidata/api_client/models/get_workflow_results_result_paged_result.py +105 -0
  269. rapidata/api_client/models/get_workflow_results_result_response.py +103 -0
  270. rapidata/api_client/models/google_one_tap_login_model.py +87 -0
  271. rapidata/api_client/models/grouped_ranking_workflow_config.py +155 -0
  272. rapidata/api_client/models/grouped_ranking_workflow_config_context_assets_value.py +170 -0
  273. rapidata/api_client/models/grouped_ranking_workflow_model.py +147 -0
  274. rapidata/api_client/models/grouped_ranking_workflow_model1.py +121 -0
  275. rapidata/api_client/models/i_artifact_model.py +182 -0
  276. rapidata/api_client/models/i_artifact_model_campaign_artifact_model.py +98 -0
  277. rapidata/api_client/models/i_artifact_model_dataset_artifact_model.py +98 -0
  278. rapidata/api_client/models/i_artifact_model_file_artifact_model.py +98 -0
  279. rapidata/api_client/models/i_artifact_model_workflow_artifact_model.py +98 -0
  280. rapidata/api_client/models/i_artifact_model_workflow_config_artifact_model.py +102 -0
  281. rapidata/api_client/models/i_asset.py +170 -0
  282. rapidata/api_client/models/i_asset_file_asset.py +111 -0
  283. rapidata/api_client/models/i_asset_input.py +156 -0
  284. rapidata/api_client/models/i_asset_input_existing_asset_input.py +118 -0
  285. rapidata/api_client/models/i_asset_input_multi_asset_input.py +128 -0
  286. rapidata/api_client/models/i_asset_input_text_asset_input.py +118 -0
  287. rapidata/api_client/models/i_asset_model.py +170 -0
  288. rapidata/api_client/models/i_asset_model_file_asset_model.py +113 -0
  289. rapidata/api_client/models/i_asset_model_multi_asset_model.py +123 -0
  290. rapidata/api_client/models/i_asset_model_null_asset_model.py +111 -0
  291. rapidata/api_client/models/i_asset_model_text_asset_model.py +113 -0
  292. rapidata/api_client/models/i_asset_multi_asset.py +121 -0
  293. rapidata/api_client/models/i_asset_null_asset.py +109 -0
  294. rapidata/api_client/models/i_asset_text_asset.py +111 -0
  295. rapidata/api_client/models/i_campaign_filter.py +282 -0
  296. rapidata/api_client/models/i_campaign_filter_and_filter.py +117 -0
  297. rapidata/api_client/models/i_campaign_filter_campaign_filter.py +98 -0
  298. rapidata/api_client/models/i_campaign_filter_country_filter.py +98 -0
  299. rapidata/api_client/models/i_campaign_filter_demographic_filter.py +100 -0
  300. rapidata/api_client/models/i_campaign_filter_language_filter.py +98 -0
  301. rapidata/api_client/models/i_campaign_filter_new_user_filter.py +96 -0
  302. rapidata/api_client/models/i_campaign_filter_not_filter.py +113 -0
  303. rapidata/api_client/models/i_campaign_filter_or_filter.py +117 -0
  304. rapidata/api_client/models/i_campaign_filter_response_count_filter.py +103 -0
  305. rapidata/api_client/models/i_campaign_filter_user_action_restriction_filter.py +106 -0
  306. rapidata/api_client/models/i_campaign_filter_user_score_filter.py +102 -0
  307. rapidata/api_client/models/i_campaign_filter_user_state_filter.py +106 -0
  308. rapidata/api_client/models/i_dataset_metadata_input.py +154 -0
  309. rapidata/api_client/models/i_dataset_metadata_input_prompt_asset_metadata_input.py +100 -0
  310. rapidata/api_client/models/i_dataset_metadata_input_prompt_metadata_input.py +96 -0
  311. rapidata/api_client/models/i_dataset_metadata_input_transcription_metadata_input.py +96 -0
  312. rapidata/api_client/models/i_dataset_model.py +126 -0
  313. rapidata/api_client/models/i_dataset_model_clone_dataset_model.py +98 -0
  314. rapidata/api_client/models/i_metadata.py +252 -0
  315. rapidata/api_client/models/i_metadata_classification_metadata.py +109 -0
  316. rapidata/api_client/models/i_metadata_count_metadata.py +109 -0
  317. rapidata/api_client/models/i_metadata_file_type_metadata.py +110 -0
  318. rapidata/api_client/models/i_metadata_image_dimension_metadata.py +111 -0
  319. rapidata/api_client/models/i_metadata_input.py +126 -0
  320. rapidata/api_client/models/i_metadata_input_text_metadata_input.py +111 -0
  321. rapidata/api_client/models/i_metadata_location_metadata.py +111 -0
  322. rapidata/api_client/models/i_metadata_model.py +252 -0
  323. rapidata/api_client/models/i_metadata_model_classification_metadata_model.py +96 -0
  324. rapidata/api_client/models/i_metadata_model_count_metadata_model.py +96 -0
  325. rapidata/api_client/models/i_metadata_model_file_type_metadata_model.py +97 -0
  326. rapidata/api_client/models/i_metadata_model_image_dimension_metadata_model.py +98 -0
  327. rapidata/api_client/models/i_metadata_model_location_metadata_model.py +98 -0
  328. rapidata/api_client/models/i_metadata_model_original_filename_metadata_model.py +96 -0
  329. rapidata/api_client/models/i_metadata_model_source_url_metadata_model.py +96 -0
  330. rapidata/api_client/models/i_metadata_model_streams_metadata_model.py +100 -0
  331. rapidata/api_client/models/i_metadata_model_text_metadata_model.py +101 -0
  332. rapidata/api_client/models/i_metadata_model_video_duration_metadata_model.py +97 -0
  333. rapidata/api_client/models/i_metadata_original_filename_metadata.py +109 -0
  334. rapidata/api_client/models/i_metadata_source_url_metadata.py +109 -0
  335. rapidata/api_client/models/i_metadata_streams_metadata.py +113 -0
  336. rapidata/api_client/models/i_metadata_text_metadata.py +114 -0
  337. rapidata/api_client/models/i_metadata_video_duration_metadata.py +110 -0
  338. rapidata/api_client/models/i_order_workflow_model.py +168 -0
  339. rapidata/api_client/models/i_order_workflow_model_compare_workflow_model.py +146 -0
  340. rapidata/api_client/models/i_order_workflow_model_evaluation_workflow_model.py +108 -0
  341. rapidata/api_client/models/i_order_workflow_model_grouped_ranking_workflow_model.py +147 -0
  342. rapidata/api_client/models/i_order_workflow_model_simple_workflow_model.py +110 -0
  343. rapidata/api_client/models/i_pair_maker_config.py +126 -0
  344. rapidata/api_client/models/i_pair_maker_config_model.py +126 -0
  345. rapidata/api_client/models/i_pair_maker_config_model_online_pair_maker_config_model.py +98 -0
  346. rapidata/api_client/models/i_pair_maker_config_online_pair_maker_config.py +98 -0
  347. rapidata/api_client/models/i_pair_maker_information.py +126 -0
  348. rapidata/api_client/models/i_pair_maker_information_online_pair_maker_information.py +100 -0
  349. rapidata/api_client/models/i_pipeline_artifact_model.py +126 -0
  350. rapidata/api_client/models/i_pipeline_artifact_model_create_dataset_artifact_model.py +102 -0
  351. rapidata/api_client/models/i_pipeline_model.py +126 -0
  352. rapidata/api_client/models/i_pipeline_model_create_simple_pipeline_model.py +116 -0
  353. rapidata/api_client/models/i_pipeline_step_model.py +168 -0
  354. rapidata/api_client/models/i_pipeline_step_model_dataset_evaluation_step_model.py +102 -0
  355. rapidata/api_client/models/i_pipeline_step_model_send_completion_mail_step_model.py +98 -0
  356. rapidata/api_client/models/i_pipeline_step_model_workflow_aggregation_step_model.py +103 -0
  357. rapidata/api_client/models/i_pipeline_step_model_workflow_labeling_step_model.py +96 -0
  358. rapidata/api_client/models/i_rapid_blueprint.py +252 -0
  359. rapidata/api_client/models/i_rapid_blueprint_attach_category_rapid_blueprint.py +108 -0
  360. rapidata/api_client/models/i_rapid_blueprint_bounding_box_rapid_blueprint.py +96 -0
  361. rapidata/api_client/models/i_rapid_blueprint_compare_rapid_blueprint.py +98 -0
  362. rapidata/api_client/models/i_rapid_blueprint_free_text_rapid_blueprint.py +103 -0
  363. rapidata/api_client/models/i_rapid_blueprint_line_rapid_blueprint.py +96 -0
  364. rapidata/api_client/models/i_rapid_blueprint_locate_rapid_blueprint.py +96 -0
  365. rapidata/api_client/models/i_rapid_blueprint_named_entity_rapid_blueprint.py +98 -0
  366. rapidata/api_client/models/i_rapid_blueprint_polygon_rapid_blueprint.py +96 -0
  367. rapidata/api_client/models/i_rapid_blueprint_scrub_rapid_blueprint.py +96 -0
  368. rapidata/api_client/models/i_rapid_blueprint_transcription_rapid_blueprint.py +96 -0
  369. rapidata/api_client/models/i_rapid_payload.py +252 -0
  370. rapidata/api_client/models/i_rapid_payload_bounding_box_payload.py +96 -0
  371. rapidata/api_client/models/i_rapid_payload_classify_payload.py +106 -0
  372. rapidata/api_client/models/i_rapid_payload_compare_payload.py +96 -0
  373. rapidata/api_client/models/i_rapid_payload_free_text_payload.py +103 -0
  374. rapidata/api_client/models/i_rapid_payload_line_payload.py +96 -0
  375. rapidata/api_client/models/i_rapid_payload_locate_payload.py +96 -0
  376. rapidata/api_client/models/i_rapid_payload_named_entity_payload.py +98 -0
  377. rapidata/api_client/models/i_rapid_payload_polygon_payload.py +96 -0
  378. rapidata/api_client/models/i_rapid_payload_scrub_payload.py +96 -0
  379. rapidata/api_client/models/i_rapid_payload_transcription_payload.py +106 -0
  380. rapidata/api_client/models/i_rapid_result.py +266 -0
  381. rapidata/api_client/models/i_rapid_result_attach_category_result.py +98 -0
  382. rapidata/api_client/models/i_rapid_result_bounding_box_result.py +106 -0
  383. rapidata/api_client/models/i_rapid_result_compare_result.py +98 -0
  384. rapidata/api_client/models/i_rapid_result_free_text_result.py +98 -0
  385. rapidata/api_client/models/i_rapid_result_line_result.py +106 -0
  386. rapidata/api_client/models/i_rapid_result_locate_result.py +106 -0
  387. rapidata/api_client/models/i_rapid_result_named_entity_result.py +106 -0
  388. rapidata/api_client/models/i_rapid_result_polygon_result.py +106 -0
  389. rapidata/api_client/models/i_rapid_result_scrub_result.py +98 -0
  390. rapidata/api_client/models/i_rapid_result_skip_result.py +96 -0
  391. rapidata/api_client/models/i_rapid_result_transcription_result.py +106 -0
  392. rapidata/api_client/models/i_referee_config.py +154 -0
  393. rapidata/api_client/models/i_referee_config_naive_referee_config.py +96 -0
  394. rapidata/api_client/models/i_referee_config_never_ending_referee_config.py +94 -0
  395. rapidata/api_client/models/i_referee_config_probabilistic_attach_category_referee_config.py +98 -0
  396. rapidata/api_client/models/i_referee_info.py +154 -0
  397. rapidata/api_client/models/i_referee_info_naive_referee_info.py +96 -0
  398. rapidata/api_client/models/i_referee_info_never_ending_referee_info.py +94 -0
  399. rapidata/api_client/models/i_referee_info_probabilistic_attach_category_referee_info.py +98 -0
  400. rapidata/api_client/models/i_referee_model.py +140 -0
  401. rapidata/api_client/models/i_referee_model_early_stopping_referee_model.py +98 -0
  402. rapidata/api_client/models/i_referee_model_naive_referee_model.py +96 -0
  403. rapidata/api_client/models/i_selection.py +240 -0
  404. rapidata/api_client/models/i_selection_ab_test_selection.py +122 -0
  405. rapidata/api_client/models/i_selection_capped_selection.py +108 -0
  406. rapidata/api_client/models/i_selection_conditional_validation_selection.py +110 -0
  407. rapidata/api_client/models/i_selection_demographic_selection.py +98 -0
  408. rapidata/api_client/models/i_selection_effort_capped_selection.py +101 -0
  409. rapidata/api_client/models/i_selection_labeling_selection.py +103 -0
  410. rapidata/api_client/models/i_selection_shuffling_selection.py +106 -0
  411. rapidata/api_client/models/i_selection_static_selection.py +96 -0
  412. rapidata/api_client/models/i_selection_validation_selection.py +98 -0
  413. rapidata/api_client/models/i_user_filter_model.py +282 -0
  414. rapidata/api_client/models/i_user_filter_model_age_user_filter_model.py +104 -0
  415. rapidata/api_client/models/i_user_filter_model_and_user_filter_model.py +106 -0
  416. rapidata/api_client/models/i_user_filter_model_campaign_user_filter_model.py +96 -0
  417. rapidata/api_client/models/i_user_filter_model_country_user_filter_model.py +96 -0
  418. rapidata/api_client/models/i_user_filter_model_custom_user_filter_model.py +98 -0
  419. rapidata/api_client/models/i_user_filter_model_gender_user_filter_model.py +104 -0
  420. rapidata/api_client/models/i_user_filter_model_language_user_filter_model.py +96 -0
  421. rapidata/api_client/models/i_user_filter_model_new_user_filter_model.py +94 -0
  422. rapidata/api_client/models/i_user_filter_model_not_user_filter_model.py +102 -0
  423. rapidata/api_client/models/i_user_filter_model_or_user_filter_model.py +106 -0
  424. rapidata/api_client/models/i_user_filter_model_response_count_user_filter_model.py +101 -0
  425. rapidata/api_client/models/i_user_filter_model_user_score_user_filter_model.py +105 -0
  426. rapidata/api_client/models/i_validation_metadata_input.py +140 -0
  427. rapidata/api_client/models/i_validation_metadata_input_prompt_asset_metadata_input.py +100 -0
  428. rapidata/api_client/models/i_validation_metadata_input_prompt_metadata_input.py +96 -0
  429. rapidata/api_client/models/i_validation_truth.py +280 -0
  430. rapidata/api_client/models/i_validation_truth_attach_category_truth.py +96 -0
  431. rapidata/api_client/models/i_validation_truth_bounding_box_truth.py +102 -0
  432. rapidata/api_client/models/i_validation_truth_compare_truth.py +96 -0
  433. rapidata/api_client/models/i_validation_truth_empty_validation_truth.py +94 -0
  434. rapidata/api_client/models/i_validation_truth_line_truth.py +94 -0
  435. rapidata/api_client/models/i_validation_truth_locate_box_truth.py +104 -0
  436. rapidata/api_client/models/i_validation_truth_multi_compare_truth.py +96 -0
  437. rapidata/api_client/models/i_validation_truth_named_entity_truth.py +104 -0
  438. rapidata/api_client/models/i_validation_truth_polygon_truth.py +94 -0
  439. rapidata/api_client/models/i_validation_truth_scrub_truth.py +104 -0
  440. rapidata/api_client/models/i_validation_truth_skip_truth.py +94 -0
  441. rapidata/api_client/models/i_validation_truth_transcription_truth.py +115 -0
  442. rapidata/api_client/models/i_workflow_config.py +168 -0
  443. rapidata/api_client/models/i_workflow_config_compare_workflow_config.py +142 -0
  444. rapidata/api_client/models/i_workflow_config_evaluation_workflow_config.py +114 -0
  445. rapidata/api_client/models/i_workflow_config_grouped_ranking_workflow_config.py +155 -0
  446. rapidata/api_client/models/i_workflow_config_simple_workflow_config.py +116 -0
  447. rapidata/api_client/models/i_workflow_model.py +168 -0
  448. rapidata/api_client/models/i_workflow_model_compare_workflow_model.py +145 -0
  449. rapidata/api_client/models/i_workflow_model_evaluation_workflow_model.py +115 -0
  450. rapidata/api_client/models/i_workflow_model_grouped_ranking_workflow_model.py +121 -0
  451. rapidata/api_client/models/i_workflow_model_simple_workflow_model.py +119 -0
  452. rapidata/api_client/models/identity_read_bridge_token_get202_response.py +140 -0
  453. rapidata/api_client/models/image_dimension_metadata.py +13 -4
  454. rapidata/api_client/models/image_dimension_metadata_model.py +2 -4
  455. rapidata/api_client/models/inquire_file_metadata_result.py +100 -0
  456. rapidata/api_client/models/inspect_report_result.py +92 -0
  457. rapidata/api_client/models/json_web_key.py +224 -0
  458. rapidata/api_client/models/json_web_key_set.py +95 -0
  459. rapidata/api_client/models/labeling_selection.py +21 -4
  460. rapidata/api_client/models/language_filter.py +98 -0
  461. rapidata/api_client/models/leaderboard_query_result.py +135 -0
  462. rapidata/api_client/models/leaderboard_query_result_paged_result.py +105 -0
  463. rapidata/api_client/models/leaderboards_query_result.py +135 -0
  464. rapidata/api_client/models/line_result.py +3 -3
  465. rapidata/api_client/models/line_result_line.py +97 -0
  466. rapidata/api_client/models/line_result_line_point.py +89 -0
  467. rapidata/api_client/models/local_file_wrapper.py +120 -0
  468. rapidata/api_client/models/locate_coordinate.py +4 -13
  469. rapidata/api_client/models/location_metadata.py +14 -5
  470. rapidata/api_client/models/location_metadata_model.py +2 -4
  471. rapidata/api_client/models/logic_operator.py +3 -2
  472. rapidata/api_client/models/metadata_i_order_metadata_input.py +154 -0
  473. rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_asset_metadata_input.py +100 -0
  474. rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_metadata_input.py +96 -0
  475. rapidata/api_client/models/metadata_i_order_metadata_input_metadata_transcription_metadata_input.py +96 -0
  476. rapidata/api_client/models/metadata_prompt_asset_metadata_input.py +100 -0
  477. rapidata/api_client/models/metadata_prompt_metadata_input.py +96 -0
  478. rapidata/api_client/models/metadata_transcription_metadata_input.py +96 -0
  479. rapidata/api_client/models/metadata_visibilities.py +1 -0
  480. rapidata/api_client/models/multi_asset.py +17 -12
  481. rapidata/api_client/models/multi_asset_assets_inner.py +170 -0
  482. rapidata/api_client/models/multi_asset_input.py +130 -0
  483. rapidata/api_client/models/multi_asset_input1.py +110 -0
  484. rapidata/api_client/models/multi_asset_input1_assets_inner.py +198 -0
  485. rapidata/api_client/models/multi_asset_input2.py +110 -0
  486. rapidata/api_client/models/multi_asset_input3.py +110 -0
  487. rapidata/api_client/models/multi_asset_input3_assets_inner.py +198 -0
  488. rapidata/api_client/models/multi_asset_input_assets_inner.py +156 -0
  489. rapidata/api_client/models/multi_asset_model.py +21 -16
  490. rapidata/api_client/models/multi_asset_model2.py +3 -3
  491. rapidata/api_client/models/multi_compare_truth.py +96 -0
  492. rapidata/api_client/models/naive_referee_info.py +96 -0
  493. rapidata/api_client/models/naive_referee_model.py +2 -2
  494. rapidata/api_client/models/named_classification.py +4 -13
  495. rapidata/api_client/models/never_ending_referee_info.py +94 -0
  496. rapidata/api_client/models/new_user_filter.py +96 -0
  497. rapidata/api_client/models/new_user_filter_model.py +94 -0
  498. rapidata/api_client/models/new_user_filter_model1.py +94 -0
  499. rapidata/api_client/models/newsletter_model.py +6 -6
  500. rapidata/api_client/models/not_available_yet_result.py +87 -0
  501. rapidata/api_client/models/not_filter.py +117 -0
  502. rapidata/api_client/models/not_user_filter_model.py +102 -0
  503. rapidata/api_client/models/null_asset.py +14 -9
  504. rapidata/api_client/models/null_asset_model.py +18 -13
  505. rapidata/api_client/models/online_pair_maker_config.py +98 -0
  506. rapidata/api_client/models/online_pair_maker_config_model.py +98 -0
  507. rapidata/api_client/models/online_pair_maker_information.py +100 -0
  508. rapidata/api_client/models/or_filter.py +121 -0
  509. rapidata/api_client/models/or_user_filter_model.py +106 -0
  510. rapidata/api_client/models/order_model.py +16 -13
  511. rapidata/api_client/models/order_state.py +3 -2
  512. rapidata/api_client/models/original_filename_metadata.py +14 -5
  513. rapidata/api_client/models/original_filename_metadata_model.py +2 -4
  514. rapidata/api_client/models/page_info.py +2 -7
  515. rapidata/api_client/models/paged_result_aggregated_orders_model.py +105 -0
  516. rapidata/api_client/models/paged_result_benchmark_query_result.py +105 -0
  517. rapidata/api_client/models/paged_result_campaign_query_result.py +105 -0
  518. rapidata/api_client/models/paged_result_clients_query_result.py +105 -0
  519. rapidata/api_client/models/paged_result_datapoint_model.py +105 -0
  520. rapidata/api_client/models/paged_result_get_compare_workflow_results_result.py +105 -0
  521. rapidata/api_client/models/paged_result_get_grouped_ranking_workflow_results_result.py +105 -0
  522. rapidata/api_client/models/paged_result_get_validation_rapids_result.py +105 -0
  523. rapidata/api_client/models/paged_result_get_workflow_results_result.py +105 -0
  524. rapidata/api_client/models/paged_result_i_workflow_model.py +105 -0
  525. rapidata/api_client/models/paged_result_leaderboard_query_result.py +105 -0
  526. rapidata/api_client/models/paged_result_leaderboards_query_result.py +105 -0
  527. rapidata/api_client/models/paged_result_of_aggregated_orders_model.py +103 -0
  528. rapidata/api_client/models/paged_result_of_benchmark_query_result.py +103 -0
  529. rapidata/api_client/models/paged_result_of_campaign_query_result.py +103 -0
  530. rapidata/api_client/models/paged_result_of_clients_query_result.py +103 -0
  531. rapidata/api_client/models/paged_result_of_get_compare_workflow_results_result.py +103 -0
  532. rapidata/api_client/models/paged_result_of_get_grouped_ranking_workflow_results_result.py +103 -0
  533. rapidata/api_client/models/paged_result_of_get_validation_rapids_result.py +103 -0
  534. rapidata/api_client/models/paged_result_of_get_workflow_results_result.py +103 -0
  535. rapidata/api_client/models/paged_result_of_i_workflow_model.py +103 -0
  536. rapidata/api_client/models/paged_result_of_leaderboards_query_result.py +103 -0
  537. rapidata/api_client/models/paged_result_of_order_model.py +103 -0
  538. rapidata/api_client/models/paged_result_of_participant_by_benchmark.py +103 -0
  539. rapidata/api_client/models/paged_result_of_prompt_by_benchmark_result.py +103 -0
  540. rapidata/api_client/models/paged_result_of_query_audiences_result.py +103 -0
  541. rapidata/api_client/models/paged_result_of_query_datapoints_by_dataset_id_result.py +103 -0
  542. rapidata/api_client/models/paged_result_of_query_validation_rapid_eligibility_result.py +103 -0
  543. rapidata/api_client/models/paged_result_of_rapid_model.py +103 -0
  544. rapidata/api_client/models/paged_result_of_runs_by_leaderboard_result.py +103 -0
  545. rapidata/api_client/models/paged_result_of_sample_by_identifier.py +103 -0
  546. rapidata/api_client/models/paged_result_of_sample_by_participant.py +103 -0
  547. rapidata/api_client/models/paged_result_of_standing_by_leaderboard.py +103 -0
  548. rapidata/api_client/models/paged_result_of_validation_set_model.py +103 -0
  549. rapidata/api_client/models/paged_result_order_model.py +105 -0
  550. rapidata/api_client/models/paged_result_participant_by_benchmark.py +105 -0
  551. rapidata/api_client/models/paged_result_potential_validation_rapid.py +105 -0
  552. rapidata/api_client/models/paged_result_prompt_by_benchmark_result.py +105 -0
  553. rapidata/api_client/models/paged_result_query_audiences_result.py +105 -0
  554. rapidata/api_client/models/paged_result_query_datapoints_by_dataset_id_result.py +105 -0
  555. rapidata/api_client/models/paged_result_query_validation_rapid_eligibility_result.py +105 -0
  556. rapidata/api_client/models/paged_result_rapid_model.py +105 -0
  557. rapidata/api_client/models/paged_result_runs_by_leaderboard_result.py +105 -0
  558. rapidata/api_client/models/paged_result_sample_by_identifier.py +105 -0
  559. rapidata/api_client/models/paged_result_sample_by_participant.py +105 -0
  560. rapidata/api_client/models/paged_result_standing_by_leaderboard.py +105 -0
  561. rapidata/api_client/models/paged_result_validation_set_model.py +105 -0
  562. rapidata/api_client/models/participant_by_benchmark.py +94 -0
  563. rapidata/api_client/models/participant_by_benchmark_paged_result.py +105 -0
  564. rapidata/api_client/models/participant_by_leaderboard.py +113 -0
  565. rapidata/api_client/models/participant_by_leaderboard_paged_result.py +105 -0
  566. rapidata/api_client/models/participant_status.py +38 -0
  567. rapidata/api_client/models/pipeline_id_workflow_artifact_id_put_request.py +140 -0
  568. rapidata/api_client/models/pipeline_id_workflow_config_put_request.py +140 -0
  569. rapidata/api_client/models/pipeline_id_workflow_put_request.py +140 -0
  570. rapidata/api_client/models/polygon_result.py +3 -3
  571. rapidata/api_client/models/polygon_result_coordinate.py +89 -0
  572. rapidata/api_client/models/polygon_result_shape.py +95 -0
  573. rapidata/api_client/models/potential_validation_rapid.py +103 -0
  574. rapidata/api_client/models/potential_validation_rapid_paged_result.py +105 -0
  575. rapidata/api_client/models/potential_validation_rapid_truth.py +280 -0
  576. rapidata/api_client/models/pre_arranged_pair_maker_config.py +100 -0
  577. rapidata/api_client/models/pre_arranged_pair_maker_config_model.py +96 -0
  578. rapidata/api_client/models/pre_arranged_pair_maker_information.py +102 -0
  579. rapidata/api_client/models/preliminary_download_model.py +87 -0
  580. rapidata/api_client/models/preliminary_download_result.py +87 -0
  581. rapidata/api_client/models/preview_order_model.py +87 -0
  582. rapidata/api_client/models/probabilistic_attach_category_referee_info.py +98 -0
  583. rapidata/api_client/models/problem_details.py +2 -20
  584. rapidata/api_client/models/prompt_asset_metadata_input.py +100 -0
  585. rapidata/api_client/models/prompt_asset_metadata_input_asset.py +154 -0
  586. rapidata/api_client/models/prompt_by_benchmark_result.py +112 -0
  587. rapidata/api_client/models/prompt_by_benchmark_result_paged_result.py +105 -0
  588. rapidata/api_client/models/prompt_by_leaderboard_result.py +90 -0
  589. rapidata/api_client/models/prompt_by_leaderboard_result_paged_result.py +105 -0
  590. rapidata/api_client/models/prompt_metadata.py +13 -4
  591. rapidata/api_client/models/prompt_metadata_input.py +4 -6
  592. rapidata/api_client/models/prompt_metadata_model.py +2 -4
  593. rapidata/api_client/models/prompt_type.py +38 -0
  594. rapidata/api_client/models/proxy_file_wrapper.py +129 -0
  595. rapidata/api_client/models/public_order_model.py +2 -2
  596. rapidata/api_client/models/public_rapid_response.py +112 -0
  597. rapidata/api_client/models/query_audiences_result.py +111 -0
  598. rapidata/api_client/models/query_datapoints_by_dataset_id_result.py +95 -0
  599. rapidata/api_client/models/query_model.py +10 -5
  600. rapidata/api_client/models/query_validation_model.py +97 -0
  601. rapidata/api_client/models/query_validation_rapid_eligibility_model_query_validation_model.py +107 -0
  602. rapidata/api_client/models/query_validation_rapid_eligibility_result.py +103 -0
  603. rapidata/api_client/models/query_validation_rapid_eligibility_result_truth.py +280 -0
  604. rapidata/api_client/models/query_validation_rapids_result.py +50 -5
  605. rapidata/api_client/models/query_validation_rapids_result_asset.py +40 -40
  606. rapidata/api_client/models/query_validation_rapids_result_payload.py +252 -0
  607. rapidata/api_client/models/query_validation_rapids_result_truth.py +258 -0
  608. rapidata/api_client/models/rapid_answer.py +3 -1
  609. rapidata/api_client/models/rapid_answer_result.py +31 -17
  610. rapidata/api_client/models/rapid_issue.py +45 -0
  611. rapidata/api_client/models/rapid_modality.py +46 -0
  612. rapidata/api_client/models/rapid_model.py +157 -0
  613. rapidata/api_client/models/rapid_model_paged_result.py +105 -0
  614. rapidata/api_client/models/rapid_model_referee.py +154 -0
  615. rapidata/api_client/models/rapid_response.py +103 -0
  616. rapidata/api_client/models/rapid_response_result.py +266 -0
  617. rapidata/api_client/models/rapid_result_model.py +7 -7
  618. rapidata/api_client/models/rapid_result_model_result.py +31 -17
  619. rapidata/api_client/models/rapid_skipped_model.py +5 -5
  620. rapidata/api_client/models/rapid_state.py +41 -0
  621. rapidata/api_client/models/read_bridge_token_keys_result.py +3 -8
  622. rapidata/api_client/models/reference_asset_input.py +100 -0
  623. rapidata/api_client/models/report_model.py +109 -0
  624. rapidata/api_client/models/response_count_filter.py +103 -0
  625. rapidata/api_client/models/response_count_user_filter_model.py +101 -0
  626. rapidata/api_client/models/retrieval_mode.py +38 -0
  627. rapidata/api_client/models/root_filter.py +5 -14
  628. rapidata/api_client/models/run_status.py +39 -0
  629. rapidata/api_client/models/runs_by_leaderboard_result.py +104 -0
  630. rapidata/api_client/models/runs_by_leaderboard_result_paged_result.py +105 -0
  631. rapidata/api_client/models/sample_by_identifier.py +125 -0
  632. rapidata/api_client/models/sample_by_identifier_paged_result.py +105 -0
  633. rapidata/api_client/models/sample_by_participant.py +121 -0
  634. rapidata/api_client/models/sample_by_participant_paged_result.py +105 -0
  635. rapidata/api_client/models/scrub_payload.py +96 -0
  636. rapidata/api_client/models/scrub_range.py +89 -0
  637. rapidata/api_client/models/scrub_rapid_blueprint.py +96 -0
  638. rapidata/api_client/models/scrub_result.py +98 -0
  639. rapidata/api_client/models/scrub_truth.py +104 -0
  640. rapidata/api_client/models/send_survey_model.py +87 -0
  641. rapidata/api_client/models/shuffling_selection.py +106 -0
  642. rapidata/api_client/models/simple_workflow_config.py +6 -17
  643. rapidata/api_client/models/simple_workflow_config_blueprint.py +37 -23
  644. rapidata/api_client/models/simple_workflow_config_model.py +6 -22
  645. rapidata/api_client/models/simple_workflow_config_model_blueprint.py +31 -17
  646. rapidata/api_client/models/simple_workflow_get_result_overview_get200_response.py +16 -16
  647. rapidata/api_client/models/simple_workflow_model.py +14 -4
  648. rapidata/api_client/models/simple_workflow_model1.py +5 -12
  649. rapidata/api_client/models/simple_workflow_model_blueprint.py +31 -17
  650. rapidata/api_client/models/skip_truth.py +94 -0
  651. rapidata/api_client/models/sort_criterion.py +5 -11
  652. rapidata/api_client/models/sort_direction.py +2 -2
  653. rapidata/api_client/models/source_url_metadata.py +109 -0
  654. rapidata/api_client/models/source_url_metadata_model.py +96 -0
  655. rapidata/api_client/models/standing_by_benchmark.py +113 -0
  656. rapidata/api_client/models/standing_by_leaderboard.py +113 -0
  657. rapidata/api_client/models/standing_by_leaderboard_paged_result.py +105 -0
  658. rapidata/api_client/models/standing_status.py +38 -0
  659. rapidata/api_client/models/standings_by_benchmark_result.py +95 -0
  660. rapidata/api_client/models/standings_by_leaderboard_result.py +95 -0
  661. rapidata/api_client/models/start_preliminary_download_result.py +87 -0
  662. rapidata/api_client/models/sticky_state.py +39 -0
  663. rapidata/api_client/models/stream_file_wrapper.py +138 -0
  664. rapidata/api_client/models/streams_metadata.py +113 -0
  665. rapidata/api_client/models/streams_metadata_model.py +100 -0
  666. rapidata/api_client/models/string_segment.py +105 -0
  667. rapidata/api_client/models/submit_coco_model.py +1 -3
  668. rapidata/api_client/models/submit_order_model.py +87 -0
  669. rapidata/api_client/models/submit_participant_result.py +89 -0
  670. rapidata/api_client/models/submit_prompt_model.py +107 -0
  671. rapidata/api_client/models/submit_prompt_model_prompt_asset.py +202 -0
  672. rapidata/api_client/models/tags_by_benchmark_result.py +87 -0
  673. rapidata/api_client/models/text_asset.py +15 -10
  674. rapidata/api_client/models/text_asset_input.py +120 -0
  675. rapidata/api_client/models/text_asset_model.py +18 -13
  676. rapidata/api_client/models/text_metadata.py +20 -6
  677. rapidata/api_client/models/text_metadata_input.py +111 -0
  678. rapidata/api_client/models/text_metadata_model.py +9 -6
  679. rapidata/api_client/models/transcription_metadata.py +10 -4
  680. rapidata/api_client/models/transcription_metadata_input.py +4 -6
  681. rapidata/api_client/models/transcription_metadata_model.py +1 -3
  682. rapidata/api_client/models/transcription_truth.py +23 -4
  683. rapidata/api_client/models/transcription_word.py +2 -2
  684. rapidata/api_client/models/translated_prompt_metadata_model.py +2 -4
  685. rapidata/api_client/models/translated_string.py +2 -2
  686. rapidata/api_client/models/unlock_order_result.py +2 -2
  687. rapidata/api_client/models/update_access_model.py +1 -1
  688. rapidata/api_client/models/update_audience_request.py +102 -0
  689. rapidata/api_client/models/update_benchmark_model.py +99 -0
  690. rapidata/api_client/models/update_benchmark_name_model.py +87 -0
  691. rapidata/api_client/models/update_campaign_model.py +99 -0
  692. rapidata/api_client/models/update_dataset_name_model.py +87 -0
  693. rapidata/api_client/models/update_dimensions_model.py +87 -0
  694. rapidata/api_client/models/update_leaderboard_model.py +106 -0
  695. rapidata/api_client/models/update_leaderboard_name_model.py +87 -0
  696. rapidata/api_client/models/update_leaderboard_response_config_model.py +89 -0
  697. rapidata/api_client/models/update_order_name_model.py +87 -0
  698. rapidata/api_client/models/update_participant_model.py +92 -0
  699. rapidata/api_client/models/update_participant_name_model.py +87 -0
  700. rapidata/api_client/models/update_priority_model.py +87 -0
  701. rapidata/api_client/models/update_prompt_tags_model.py +87 -0
  702. rapidata/api_client/models/update_should_alert_model.py +87 -0
  703. rapidata/api_client/models/update_validation_rapid_model.py +125 -0
  704. rapidata/api_client/models/update_validation_rapid_model_context_asset.py +160 -0
  705. rapidata/api_client/models/update_validation_rapid_model_truth.py +280 -0
  706. rapidata/api_client/models/update_validation_set_model.py +120 -0
  707. rapidata/api_client/models/upload_asset_result.py +102 -0
  708. rapidata/api_client/models/upload_file_from_url_result.py +87 -0
  709. rapidata/api_client/models/upload_file_result.py +87 -0
  710. rapidata/api_client/models/upload_files_from_s3_bucket_model.py +15 -5
  711. rapidata/api_client/models/upload_from_s3_result.py +87 -0
  712. rapidata/api_client/models/upload_text_sources_to_dataset_model.py +26 -4
  713. rapidata/api_client/models/url_asset_input.py +100 -0
  714. rapidata/api_client/models/user_action_restriction.py +37 -0
  715. rapidata/api_client/models/user_action_restriction_filter.py +101 -0
  716. rapidata/api_client/models/user_score_filter.py +102 -0
  717. rapidata/api_client/models/user_score_user_filter_model.py +9 -2
  718. rapidata/api_client/models/user_state.py +38 -0
  719. rapidata/api_client/models/user_state_filter.py +101 -0
  720. rapidata/api_client/models/validation_chance.py +20 -3
  721. rapidata/api_client/models/validation_import_post_request_blueprint.py +31 -17
  722. rapidata/api_client/models/validation_set_model.py +39 -5
  723. rapidata/api_client/models/validation_set_overview_model.py +2 -2
  724. rapidata/api_client/models/validation_set_validation_set_id_rapid_post_payload_parameter.py +252 -0
  725. rapidata/api_client/models/validation_set_validation_set_id_rapid_post_truth_parameter.py +280 -0
  726. rapidata/api_client/models/validation_set_zip_post_request_blueprint.py +252 -0
  727. rapidata/api_client/models/video_duration_metadata.py +109 -0
  728. rapidata/api_client/models/video_duration_metadata_model.py +96 -0
  729. rapidata/api_client/models/workflow_aggregation_step_model.py +3 -12
  730. rapidata/api_client/models/workflow_config_artifact_model_workflow_config.py +23 -9
  731. rapidata/api_client/models/workflow_state.py +2 -2
  732. rapidata/api_client/models/zip_entry_file_wrapper.py +151 -0
  733. rapidata/api_client/rest.py +193 -154
  734. rapidata/api_client_README.md +488 -293
  735. rapidata/rapidata_client/__init__.py +27 -13
  736. rapidata/rapidata_client/api/rapidata_api_client.py +253 -0
  737. rapidata/rapidata_client/benchmark/_detail_mapper.py +32 -0
  738. rapidata/rapidata_client/benchmark/leaderboard/__init__.py +0 -0
  739. rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py +221 -0
  740. rapidata/rapidata_client/benchmark/participant/__init__.py +0 -0
  741. rapidata/rapidata_client/benchmark/participant/_participant.py +145 -0
  742. rapidata/rapidata_client/benchmark/rapidata_benchmark.py +546 -0
  743. rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py +219 -0
  744. rapidata/rapidata_client/config/__init__.py +4 -0
  745. rapidata/rapidata_client/config/logger.py +135 -0
  746. rapidata/rapidata_client/config/logging_config.py +55 -0
  747. rapidata/rapidata_client/config/managed_print.py +6 -0
  748. rapidata/rapidata_client/config/order_config.py +14 -0
  749. rapidata/rapidata_client/config/rapidata_config.py +36 -0
  750. rapidata/rapidata_client/config/tracer.py +184 -0
  751. rapidata/rapidata_client/config/upload_config.py +64 -0
  752. rapidata/rapidata_client/datapoints/__init__.py +10 -0
  753. rapidata/rapidata_client/datapoints/_asset_uploader.py +169 -0
  754. rapidata/rapidata_client/datapoints/_datapoint.py +92 -0
  755. rapidata/rapidata_client/datapoints/_datapoint_uploader.py +47 -0
  756. rapidata/rapidata_client/datapoints/_datapoints_validator.py +70 -0
  757. rapidata/rapidata_client/datapoints/assets/__init__.py +0 -0
  758. rapidata/rapidata_client/datapoints/assets/constants.py +7 -0
  759. rapidata/rapidata_client/datapoints/metadata/__init__.py +7 -0
  760. rapidata/rapidata_client/{selection/base_selection.py → datapoints/metadata/_base_metadata.py} +2 -1
  761. rapidata/rapidata_client/datapoints/metadata/_media_asset_metadata.py +26 -0
  762. rapidata/rapidata_client/datapoints/metadata/_private_text_metadata.py +16 -0
  763. rapidata/rapidata_client/datapoints/metadata/_prompt_identifier_metadata.py +14 -0
  764. rapidata/rapidata_client/datapoints/metadata/_prompt_metadata.py +12 -0
  765. rapidata/rapidata_client/datapoints/metadata/_public_text_metadata.py +16 -0
  766. rapidata/rapidata_client/datapoints/metadata/_select_words_metadata.py +17 -0
  767. rapidata/rapidata_client/demographic/__init__.py +0 -0
  768. rapidata/rapidata_client/demographic/demographic_manager.py +54 -0
  769. rapidata/rapidata_client/exceptions/__init__.py +1 -0
  770. rapidata/rapidata_client/exceptions/failed_upload_exception.py +20 -0
  771. rapidata/rapidata_client/filter/__init__.py +7 -1
  772. rapidata/rapidata_client/filter/_base_filter.py +62 -0
  773. rapidata/rapidata_client/filter/age_filter.py +28 -10
  774. rapidata/rapidata_client/filter/and_filter.py +42 -0
  775. rapidata/rapidata_client/filter/campaign_filter.py +28 -11
  776. rapidata/rapidata_client/filter/country_filter.py +42 -13
  777. rapidata/rapidata_client/filter/custom_filter.py +39 -0
  778. rapidata/rapidata_client/filter/gender_filter.py +29 -10
  779. rapidata/rapidata_client/filter/language_filter.py +49 -15
  780. rapidata/rapidata_client/filter/models/__init__.py +0 -0
  781. rapidata/rapidata_client/filter/models/age_group.py +28 -0
  782. rapidata/rapidata_client/filter/models/gender.py +23 -0
  783. rapidata/rapidata_client/filter/new_user_filter.py +20 -0
  784. rapidata/rapidata_client/filter/not_filter.py +42 -0
  785. rapidata/rapidata_client/filter/or_filter.py +42 -0
  786. rapidata/rapidata_client/filter/rapidata_filters.py +60 -0
  787. rapidata/rapidata_client/filter/response_count_filter.py +62 -0
  788. rapidata/rapidata_client/filter/user_score_filter.py +60 -14
  789. rapidata/rapidata_client/order/_rapidata_order_builder.py +481 -0
  790. rapidata/rapidata_client/order/dataset/_rapidata_dataset.py +153 -0
  791. rapidata/rapidata_client/order/rapidata_order.py +393 -90
  792. rapidata/rapidata_client/order/rapidata_order_manager.py +922 -0
  793. rapidata/rapidata_client/order/rapidata_results.py +251 -0
  794. rapidata/rapidata_client/rapidata_client.py +125 -180
  795. rapidata/rapidata_client/referee/__init__.py +3 -3
  796. rapidata/rapidata_client/referee/{base_referee.py → _base_referee.py} +9 -5
  797. rapidata/rapidata_client/referee/_early_stopping_referee.py +62 -0
  798. rapidata/rapidata_client/referee/_naive_referee.py +48 -0
  799. rapidata/rapidata_client/selection/__init__.py +6 -1
  800. rapidata/rapidata_client/selection/_base_selection.py +16 -0
  801. rapidata/rapidata_client/selection/ab_test_selection.py +46 -0
  802. rapidata/rapidata_client/selection/capped_selection.py +34 -17
  803. rapidata/rapidata_client/selection/conditional_validation_selection.py +71 -21
  804. rapidata/rapidata_client/selection/demographic_selection.py +43 -8
  805. rapidata/rapidata_client/selection/effort_selection.py +49 -0
  806. rapidata/rapidata_client/selection/labeling_selection.py +45 -8
  807. rapidata/rapidata_client/selection/rapidata_retrieval_modes.py +21 -0
  808. rapidata/rapidata_client/selection/rapidata_selections.py +47 -0
  809. rapidata/rapidata_client/selection/shuffling_selection.py +44 -0
  810. rapidata/rapidata_client/selection/static_selection.py +33 -0
  811. rapidata/rapidata_client/selection/validation_selection.py +29 -6
  812. rapidata/rapidata_client/settings/__init__.py +12 -2
  813. rapidata/rapidata_client/settings/_rapidata_setting.py +24 -0
  814. rapidata/rapidata_client/settings/alert_on_fast_response.py +25 -0
  815. rapidata/rapidata_client/settings/allow_neither_both.py +17 -0
  816. rapidata/rapidata_client/settings/custom_setting.py +17 -0
  817. rapidata/rapidata_client/settings/free_text_minimum_characters.py +22 -0
  818. rapidata/rapidata_client/settings/models/__init__.py +1 -0
  819. rapidata/rapidata_client/settings/models/translation_behaviour_options.py +15 -0
  820. rapidata/rapidata_client/settings/mute_video.py +15 -0
  821. rapidata/rapidata_client/settings/no_shuffle.py +18 -0
  822. rapidata/rapidata_client/settings/play_video_until_the_end.py +19 -0
  823. rapidata/rapidata_client/settings/rapidata_settings.py +51 -0
  824. rapidata/rapidata_client/settings/swap_context_instruction.py +20 -0
  825. rapidata/rapidata_client/settings/translation_behaviour.py +20 -0
  826. rapidata/rapidata_client/validation/__init__.py +1 -0
  827. rapidata/rapidata_client/validation/rapidata_validation_set.py +141 -0
  828. rapidata/rapidata_client/validation/rapids/__init__.py +1 -0
  829. rapidata/rapidata_client/validation/rapids/_validation_rapid_uploader.py +62 -0
  830. rapidata/rapidata_client/validation/rapids/box.py +42 -0
  831. rapidata/rapidata_client/validation/rapids/rapids.py +29 -0
  832. rapidata/rapidata_client/validation/rapids/rapids_manager.py +469 -0
  833. rapidata/rapidata_client/validation/validation_set_manager.py +814 -0
  834. rapidata/rapidata_client/workflow/__init__.py +11 -6
  835. rapidata/rapidata_client/workflow/_base_workflow.py +43 -0
  836. rapidata/rapidata_client/workflow/_classify_workflow.py +92 -0
  837. rapidata/rapidata_client/workflow/_compare_workflow.py +76 -0
  838. rapidata/rapidata_client/workflow/_draw_workflow.py +52 -0
  839. rapidata/rapidata_client/workflow/_evaluation_workflow.py +47 -0
  840. rapidata/rapidata_client/workflow/_free_text_workflow.py +81 -0
  841. rapidata/rapidata_client/workflow/_locate_workflow.py +52 -0
  842. rapidata/rapidata_client/workflow/_multi_ranking_workflow.py +87 -0
  843. rapidata/rapidata_client/workflow/_ranking_workflow.py +131 -0
  844. rapidata/rapidata_client/workflow/_select_words_workflow.py +74 -0
  845. rapidata/rapidata_client/workflow/_timestamp_workflow.py +65 -0
  846. rapidata/service/__init__.py +0 -1
  847. rapidata/service/credential_manager.py +41 -32
  848. rapidata/service/openapi_service.py +153 -35
  849. rapidata/types/__init__.py +166 -0
  850. rapidata-2.44.4.dist-info/METADATA +32 -0
  851. rapidata-2.44.4.dist-info/RECORD +1014 -0
  852. {rapidata-1.8.3.dist-info → rapidata-2.44.4.dist-info}/WHEEL +1 -1
  853. rapidata/constants.py +0 -1
  854. rapidata/rapidata_client/assets/__init__.py +0 -8
  855. rapidata/rapidata_client/assets/base_asset.py +0 -11
  856. rapidata/rapidata_client/assets/media_asset.py +0 -88
  857. rapidata/rapidata_client/assets/multi_asset.py +0 -55
  858. rapidata/rapidata_client/assets/text_asset.py +0 -28
  859. rapidata/rapidata_client/country_codes/__init__.py +0 -1
  860. rapidata/rapidata_client/country_codes/country_codes.py +0 -19
  861. rapidata/rapidata_client/dataset/rapid_builders/__init__.py +0 -4
  862. rapidata/rapidata_client/dataset/rapid_builders/base_rapid_builder.py +0 -33
  863. rapidata/rapidata_client/dataset/rapid_builders/classify_rapid_builders.py +0 -166
  864. rapidata/rapidata_client/dataset/rapid_builders/compare_rapid_builders.py +0 -145
  865. rapidata/rapidata_client/dataset/rapid_builders/rapids.py +0 -32
  866. rapidata/rapidata_client/dataset/rapid_builders/transcription_rapid_builders.py +0 -132
  867. rapidata/rapidata_client/dataset/rapidata_dataset.py +0 -126
  868. rapidata/rapidata_client/dataset/rapidata_validation_set.py +0 -300
  869. rapidata/rapidata_client/dataset/validation_rapid_parts.py +0 -55
  870. rapidata/rapidata_client/dataset/validation_set_builder.py +0 -324
  871. rapidata/rapidata_client/filter/base_filter.py +0 -9
  872. rapidata/rapidata_client/metadata/__init__.py +0 -5
  873. rapidata/rapidata_client/metadata/base_metadata.py +0 -12
  874. rapidata/rapidata_client/metadata/private_text_metadata.py +0 -16
  875. rapidata/rapidata_client/metadata/prompt_metadata.py +0 -17
  876. rapidata/rapidata_client/metadata/public_text_metadata.py +0 -16
  877. rapidata/rapidata_client/metadata/transcription_metadata.py +0 -19
  878. rapidata/rapidata_client/order/rapidata_order_builder.py +0 -463
  879. rapidata/rapidata_client/referee/early_stopping_referee.py +0 -50
  880. rapidata/rapidata_client/referee/naive_referee.py +0 -33
  881. rapidata/rapidata_client/settings/feature_flags.py +0 -125
  882. rapidata/rapidata_client/settings/settings.py +0 -124
  883. rapidata/rapidata_client/simple_builders/simple_classification_builders.py +0 -245
  884. rapidata/rapidata_client/simple_builders/simple_compare_builders.py +0 -250
  885. rapidata/rapidata_client/simple_builders/simple_free_text_builders.py +0 -180
  886. rapidata/rapidata_client/simple_builders/simple_transcription_builders.py +0 -194
  887. rapidata/rapidata_client/workflow/base_workflow.py +0 -42
  888. rapidata/rapidata_client/workflow/classify_workflow.py +0 -49
  889. rapidata/rapidata_client/workflow/compare_workflow.py +0 -47
  890. rapidata/rapidata_client/workflow/evaluation_workflow.py +0 -15
  891. rapidata/rapidata_client/workflow/free_text_workflow.py +0 -50
  892. rapidata/rapidata_client/workflow/transcription_workflow.py +0 -40
  893. rapidata/service/local_file_service.py +0 -25
  894. rapidata/service/token_manager.py +0 -175
  895. rapidata-1.8.3.dist-info/METADATA +0 -28
  896. rapidata-1.8.3.dist-info/RECORD +0 -396
  897. /rapidata/rapidata_client/{dataset → api}/__init__.py +0 -0
  898. /rapidata/rapidata_client/{simple_builders → benchmark}/__init__.py +0 -0
  899. {rapidata-1.8.3.dist-info → rapidata-2.44.4.dist-info/licenses}/LICENSE +0 -0
@@ -0,0 +1,153 @@
1
+ from rapidata.rapidata_client.datapoints._datapoint import Datapoint
2
+ from rapidata.service.openapi_service import OpenAPIService
3
+ from concurrent.futures import ThreadPoolExecutor, as_completed
4
+ from tqdm import tqdm
5
+
6
+ from rapidata.rapidata_client.config import logger
7
+ import time
8
+ from rapidata.rapidata_client.api.rapidata_api_client import (
9
+ suppress_rapidata_error_logging,
10
+ )
11
+ from rapidata.rapidata_client.config.rapidata_config import rapidata_config
12
+ from rapidata.rapidata_client.datapoints._datapoint_uploader import DatapointUploader
13
+
14
+ # Add OpenTelemetry context imports for thread propagation
15
+ from opentelemetry import context as otel_context
16
+
17
+
18
+ class RapidataDataset:
19
+ def __init__(self, dataset_id: str, openapi_service: OpenAPIService):
20
+ self.id = dataset_id
21
+ self.openapi_service = openapi_service
22
+ self.datapoint_uploader = DatapointUploader(openapi_service)
23
+
24
+ def add_datapoints(
25
+ self,
26
+ datapoints: list[Datapoint],
27
+ ) -> tuple[list[Datapoint], list[Datapoint]]:
28
+ """
29
+ Process uploads concurrently with a ThreadPoolExecutor.
30
+
31
+ Args:
32
+ datapoints: List of datapoints to upload
33
+
34
+ Returns:
35
+ tuple[list[Datapoint], list[Datapoint]]: Lists of successful and failed uploads
36
+ """
37
+ successful_uploads: list[Datapoint] = []
38
+ failed_uploads: list[Datapoint] = []
39
+
40
+ with tqdm(
41
+ total=len(datapoints),
42
+ desc="Uploading datapoints",
43
+ disable=rapidata_config.logging.silent_mode,
44
+ ) as progress_bar:
45
+
46
+ def process_upload_with_context(
47
+ context: otel_context.Context, datapoint: Datapoint, index: int
48
+ ) -> tuple[list[Datapoint], list[Datapoint]]:
49
+ """Wrapper function that runs _process_single_upload with the provided context."""
50
+ token = otel_context.attach(context)
51
+ try:
52
+ return self._process_single_upload(datapoint, index)
53
+ finally:
54
+ otel_context.detach(token)
55
+
56
+ # Capture the current OpenTelemetry context before creating threads
57
+ current_context = otel_context.get_current()
58
+
59
+ with ThreadPoolExecutor(
60
+ max_workers=rapidata_config.upload.maxWorkers
61
+ ) as executor:
62
+ # Submit all uploads at once - executor manages concurrency via max_workers
63
+ futures = [
64
+ executor.submit(
65
+ process_upload_with_context,
66
+ current_context,
67
+ datapoint,
68
+ i,
69
+ )
70
+ for i, datapoint in enumerate(datapoints)
71
+ ]
72
+
73
+ # Process results as they complete (no blocking on chunks)
74
+ for future in as_completed(futures):
75
+ try:
76
+ upload_successful, upload_failed = future.result()
77
+ successful_uploads.extend(upload_successful)
78
+ failed_uploads.extend(upload_failed)
79
+ progress_bar.update(len(upload_successful))
80
+ except Exception as e:
81
+ logger.error("Future execution failed: %s", str(e))
82
+
83
+ if failed_uploads:
84
+ logger.error(
85
+ "Upload failed for %s datapoints: %s",
86
+ len(failed_uploads),
87
+ failed_uploads,
88
+ )
89
+
90
+ return successful_uploads, failed_uploads
91
+
92
+ def _process_single_upload(
93
+ self,
94
+ datapoint: Datapoint,
95
+ index: int,
96
+ ) -> tuple[list[Datapoint], list[Datapoint]]:
97
+ """
98
+ Process single upload with retry logic and error tracking.
99
+
100
+ Args:
101
+ media_asset: MediaAsset or MultiAsset to upload
102
+ meta_list: Optional sequence of metadata for the asset
103
+ index: Sort index for the upload
104
+ max_retries: Maximum number of retry attempts (default: 3)
105
+
106
+ Returns:
107
+ tuple[list[Datapoint], list[Datapoint]]: Lists of successful and failed datapoints
108
+ """
109
+ logger.debug("Processing single upload for %s with index %s", datapoint, index)
110
+
111
+ local_successful: list[Datapoint] = []
112
+ local_failed: list[Datapoint] = []
113
+
114
+ last_exception = None
115
+ for attempt in range(rapidata_config.upload.maxRetries):
116
+ try:
117
+ with suppress_rapidata_error_logging():
118
+ self.datapoint_uploader.upload_datapoint(
119
+ dataset_id=self.id,
120
+ datapoint=datapoint,
121
+ index=index,
122
+ )
123
+
124
+ local_successful.append(datapoint)
125
+
126
+ return local_successful, local_failed
127
+
128
+ except Exception as e:
129
+ last_exception = e
130
+ if attempt < rapidata_config.upload.maxRetries - 1:
131
+ # Exponential backoff: wait 1s, then 2s, then 4s
132
+ retry_delay = 2**attempt
133
+ time.sleep(retry_delay)
134
+ logger.debug("Error: %s", str(last_exception))
135
+ logger.debug(
136
+ "Retrying %s of %s...",
137
+ attempt + 1,
138
+ rapidata_config.upload.maxRetries,
139
+ )
140
+
141
+ # If we get here, all retries failed
142
+ local_failed.append(datapoint)
143
+ tqdm.write(
144
+ f"Upload failed for {datapoint} after {rapidata_config.upload.maxRetries} attempts. \nFinal error: \n{str(last_exception)}"
145
+ )
146
+
147
+ return local_successful, local_failed
148
+
149
+ def __str__(self) -> str:
150
+ return f"RapidataDataset(id={self.id})"
151
+
152
+ def __repr__(self) -> str:
153
+ return self.__str__()
@@ -1,62 +1,320 @@
1
- from time import sleep
2
- from rapidata.rapidata_client.dataset.rapidata_dataset import RapidataDataset
3
- from rapidata.service.openapi_service import OpenAPIService
1
+ from __future__ import annotations
2
+
3
+
4
+ # Standard library imports
4
5
  import json
5
- from rapidata.api_client.exceptions import ApiException
6
- from typing import Optional, cast, Any
7
- from rapidata.api_client.models.workflow_artifact_model import WorkflowArtifactModel
6
+ import urllib.parse
7
+ import webbrowser
8
+ from time import sleep
9
+ from typing import cast, Callable, TypeVar, TYPE_CHECKING
10
+ from colorama import Fore
11
+ from datetime import datetime
8
12
  from tqdm import tqdm
9
13
 
14
+ # Local/application imports
15
+ from rapidata.service.openapi_service import OpenAPIService
16
+ from rapidata.rapidata_client.config import (
17
+ logger,
18
+ managed_print,
19
+ rapidata_config,
20
+ tracer,
21
+ )
22
+ from rapidata.rapidata_client.api.rapidata_api_client import (
23
+ suppress_rapidata_error_logging,
24
+ )
25
+
26
+ if TYPE_CHECKING:
27
+ from rapidata.api_client.models.campaign_artifact_model import CampaignArtifactModel
28
+ from rapidata.api_client.models.file_stream_result import FileStreamResult
29
+ from rapidata.api_client.models.order_state import OrderState
30
+ from rapidata.api_client.models.workflow_artifact_model import WorkflowArtifactModel
31
+ from rapidata.api_client.models.get_workflow_progress_result import (
32
+ GetWorkflowProgressResult,
33
+ )
34
+ from rapidata.rapidata_client.order.rapidata_results import RapidataResults
35
+
36
+ T = TypeVar("T")
37
+
38
+
10
39
  class RapidataOrder:
11
40
  """
12
- Represents a Rapidata order.
41
+ An instance of a Rapidata order.
42
+
43
+ Used to interact with a specific order in the Rapidata system, such as starting,
44
+ pausing, and retrieving results.
13
45
 
14
46
  Args:
15
- The ID of the order.
16
- The optional Dataset associated with the order.
17
- The OpenAPIService instance used to interact with the Rapidata API.
18
- The name of the order.
47
+ name: The name of the order.
48
+ order_id: The ID of the order.
49
+ openapi_service: The OpenAPIService instance for API interaction.
19
50
  """
20
51
 
21
52
  def __init__(
22
53
  self,
54
+ name: str,
23
55
  order_id: str,
24
- dataset: Optional[RapidataDataset],
25
56
  openapi_service: OpenAPIService,
26
- name: str,
27
57
  ):
28
- self.openapi_service = openapi_service
29
- self.order_id = order_id
30
- self._dataset = dataset
58
+ self.id = order_id
31
59
  self.name = name
32
- self._workflow_id = None
60
+ self.__created_at: datetime | None = None
61
+ self._openapi_service = openapi_service
62
+ self.__workflow_id: str = ""
63
+ self.__campaign_id: str = ""
64
+ self.__pipeline_id: str = ""
65
+ self.order_details_page = (
66
+ f"https://app.{self._openapi_service.environment}/order/detail/{self.id}"
67
+ )
68
+ logger.debug("RapidataOrder initialized")
69
+
70
+ def _get_order_failure_message(self) -> str | None:
71
+ """Retrieves the failure message from the order if available."""
72
+ try:
73
+ order = self._openapi_service.order_api.order_order_id_get(self.id)
74
+ return order.failure_message
75
+ except Exception:
76
+ logger.debug("Failed to get order failure message", self, exc_info=True)
77
+ return None
78
+
79
+ def _retry_operation(
80
+ self,
81
+ operation: Callable[[], T],
82
+ max_retries: int = 10,
83
+ retry_delay: float = 2,
84
+ ) -> T:
85
+ """
86
+ Unified retry logic for all operations with failure message handling.
87
+
88
+ Args:
89
+ operation: The operation to retry
90
+ max_retries: Maximum number of retry attempts
91
+ retry_delay: Delay between retries in seconds
92
+
93
+ Returns:
94
+ The result of the operation
33
95
 
34
- def submit(self):
96
+ Raises:
97
+ Exception: If the operation fails after all retries, includes order failure message if available
35
98
  """
36
- Submits the order for processing.
99
+ last_exception = None
100
+
101
+ for attempt in range(max_retries):
102
+ try:
103
+ return operation()
104
+ except Exception as e:
105
+ last_exception = e
106
+ if attempt < max_retries - 1:
107
+ sleep(retry_delay)
108
+
109
+ failure_message = self._get_order_failure_message()
110
+ if failure_message:
111
+ raise Exception(failure_message) from last_exception
112
+
113
+ raise Exception(
114
+ f"Operation failed after {max_retries} retries: {str(last_exception)}"
115
+ ) from last_exception
116
+
117
+ def _wait_for_state(
118
+ self,
119
+ target_states: list[OrderState],
120
+ check_interval: float = 5,
121
+ status_message: str | None = None,
122
+ ) -> str:
37
123
  """
38
- self.openapi_service.order_api.order_submit_post(self.order_id)
124
+ Wait until the order reaches one of the target states.
125
+
126
+ Args:
127
+ target_states: List of states to wait for
128
+ check_interval: How often to check the state in seconds
129
+ status_message: Optional message to display while waiting
130
+
131
+ Returns:
132
+ The final state reached
133
+ """
134
+ while (current_state := self.get_status()) not in target_states:
135
+ if status_message:
136
+ logger.debug(status_message, self, current_state)
137
+ sleep(check_interval)
138
+
139
+ return current_state
140
+
141
+ @property
142
+ def created_at(self) -> datetime:
143
+ """Returns the creation date of the order."""
144
+ if not self.__created_at:
145
+ self.__created_at = self._openapi_service.order_api.order_order_id_get(
146
+ self.id
147
+ ).order_date
148
+ return self.__created_at
149
+
150
+ def __get_pipeline_id(self) -> str:
151
+ """Gets the pipeline ID for this order (cached, internal use only)."""
152
+ if not self.__pipeline_id:
153
+ self.__pipeline_id = self._retry_operation(
154
+ lambda: self._openapi_service.order_api.order_order_id_get(
155
+ self.id
156
+ ).pipeline_id,
157
+ )
158
+ return self.__pipeline_id
159
+
160
+ def __get_workflow_id(self) -> str:
161
+ """Gets the workflow ID for this order (cached, internal use only)."""
162
+ if not self.__workflow_id:
163
+ self.__load_workflow_and_campaign_ids()
164
+ return self.__workflow_id
165
+
166
+ def __get_campaign_id(self) -> str:
167
+ """Gets the campaign ID for this order (cached, internal use only)."""
168
+ if not self.__campaign_id:
169
+ self.__load_workflow_and_campaign_ids()
170
+ return self.__campaign_id
171
+
172
+ def __load_workflow_and_campaign_ids(self) -> None:
173
+ """Loads workflow and campaign IDs from the pipeline (with retry logic)."""
174
+ if self.__workflow_id and self.__campaign_id:
175
+ return
176
+
177
+ def fetch_ids():
178
+ from rapidata.api_client.models.workflow_artifact_model import (
179
+ WorkflowArtifactModel,
180
+ )
181
+ from rapidata.api_client.models.campaign_artifact_model import (
182
+ CampaignArtifactModel,
183
+ )
184
+
185
+ pipeline_id = self.__get_pipeline_id()
186
+ pipeline = self._openapi_service.pipeline_api.pipeline_pipeline_id_get(
187
+ pipeline_id
188
+ )
189
+ self.__workflow_id = cast(
190
+ WorkflowArtifactModel,
191
+ pipeline.artifacts["workflow-artifact"].actual_instance,
192
+ ).workflow_id
193
+ self.__campaign_id = cast(
194
+ CampaignArtifactModel,
195
+ pipeline.artifacts["campaign-artifact"].actual_instance,
196
+ ).campaign_id
197
+
198
+ self._retry_operation(fetch_ids)
199
+
200
+ def __get_workflow_progress(self) -> GetWorkflowProgressResult:
201
+ """Gets the workflow progress (internal use only)."""
202
+
203
+ def get_progress():
204
+ from rapidata.api_client.models.get_workflow_progress_result import (
205
+ GetWorkflowProgressResult,
206
+ )
207
+
208
+ with suppress_rapidata_error_logging():
209
+ workflow_id = self.__get_workflow_id()
210
+ return self._openapi_service.workflow_api.workflow_workflow_id_progress_get(
211
+ workflow_id
212
+ )
213
+
214
+ return self._retry_operation(
215
+ get_progress,
216
+ max_retries=5,
217
+ retry_delay=4,
218
+ )
219
+
220
+ def run(self) -> RapidataOrder:
221
+ """Runs the order to start collecting responses."""
222
+ with tracer.start_as_current_span("RapidataOrder.run"):
223
+ from rapidata.api_client.models.submit_order_model import SubmitOrderModel
224
+
225
+ logger.info("Starting order '%s'", self)
226
+ self._openapi_service.order_api.order_order_id_submit_post(
227
+ self.id, SubmitOrderModel(ignoreFailedDatapoints=True)
228
+ )
229
+ logger.debug("Order '%s' has been started.", self)
230
+ managed_print(
231
+ f"Order '{self.name}' is now viewable under: {self.order_details_page}"
232
+ )
233
+ return self
234
+
235
+ def pause(self) -> None:
236
+ """Pauses the order."""
237
+ with tracer.start_as_current_span("RapidataOrder.pause"):
238
+ logger.info("Pausing order '%s'", self)
239
+ self._openapi_service.order_api.order_order_id_pause_post(self.id)
240
+ logger.debug("Order '%s' has been paused.", self)
241
+ managed_print(f"Order '{self}' has been paused.")
242
+
243
+ def unpause(self) -> None:
244
+ """Unpauses/resumes the order."""
245
+ with tracer.start_as_current_span("RapidataOrder.unpause"):
246
+ logger.info("Unpausing order '%s'", self)
247
+ self._openapi_service.order_api.order_order_id_resume_post(self.id)
248
+ logger.debug("Order '%s' has been unpaused.", self)
249
+ managed_print(f"Order '{self}' has been unpaused.")
250
+
251
+ def delete(self) -> None:
252
+ """Deletes the order."""
253
+ with tracer.start_as_current_span("RapidataOrder.delete"):
254
+ logger.info("Deleting order '%s'", self)
255
+ self._openapi_service.order_api.order_order_id_delete(self.id)
256
+ logger.debug("Order '%s' has been deleted.", self)
257
+ managed_print(f"Order '{self}' has been deleted.")
39
258
 
40
259
  def get_status(self) -> str:
41
260
  """
42
261
  Gets the status of the order.
43
-
44
- Returns:
45
- The status of the order.
262
+
263
+ States:
264
+ Created: The order has been created but not started yet.\n
265
+ Preview: The order has been set up and ready but not collecting responses yet.\n
266
+ Submitted: The order has been submitted and is being reviewed.\n
267
+ ManualReview: The order is in manual review - something went wrong with the automatic approval.\n
268
+ Processing: The order is actively being processed.\n
269
+ Paused: The order has been paused.\n
270
+ Completed: The order has been completed.\n
271
+ Failed: The order has failed.
46
272
  """
47
- return self.openapi_service.order_api.order_get_by_id_get(self.order_id).state
273
+ with tracer.start_as_current_span("RapidataOrder.get_status"):
274
+ return self._openapi_service.order_api.order_order_id_get(self.id).state
48
275
 
49
- def display_progress_bar(self, refresh_rate=5):
276
+ def display_progress_bar(self, refresh_rate: int = 5) -> None:
50
277
  """
51
278
  Displays a progress bar for the order processing using tqdm.
52
-
53
- Prameter:
54
- How often to refresh the progress bar, in seconds.
279
+
280
+ Args:
281
+ refresh_rate: How often to refresh the progress bar, in seconds.
55
282
  """
56
- with tqdm(total=100, desc="Processing order", unit="%", bar_format="{desc}: {percentage:3.0f}%|{bar}| completed [{elapsed}<{remaining}, {rate_fmt}]") as pbar:
283
+ from rapidata.api_client.models.order_state import OrderState
284
+
285
+ if refresh_rate < 1:
286
+ raise ValueError("refresh_rate must be at least 1")
287
+
288
+ if self.get_status() == OrderState.CREATED:
289
+ raise Exception("Order has not been started yet. Please start it first.")
290
+
291
+ # Wait for submission review
292
+ while self.get_status() == OrderState.SUBMITTED:
293
+ managed_print(
294
+ f"Order '{self}' is submitted and being reviewed. Standby...", end="\r"
295
+ )
296
+ sleep(1)
297
+
298
+ if self.get_status() == OrderState.MANUALREVIEW:
299
+ raise Exception(
300
+ f"Order '{self}' is in manual review. It might take some time to start. "
301
+ f"To speed up the process, contact support (info@rapidata.ai).\n"
302
+ f"Once started, run this method again to display the progress bar."
303
+ )
304
+
305
+ with tqdm(
306
+ total=100,
307
+ desc="Processing order",
308
+ unit="%",
309
+ bar_format="{desc}: {percentage:3.0f}%|{bar}| completed [{elapsed}<{remaining}, {rate_fmt}]",
310
+ disable=rapidata_config.logging.silent_mode,
311
+ ) as pbar:
57
312
  last_percentage = 0
58
313
  while True:
59
- current_percentage = self._get_workflow_progress().completion_percentage
314
+ current_percentage = (
315
+ self.__get_workflow_progress().completion_percentage
316
+ )
317
+
60
318
  if current_percentage > last_percentage:
61
319
  pbar.update(current_percentage - last_percentage)
62
320
  last_percentage = current_percentage
@@ -66,72 +324,117 @@ class RapidataOrder:
66
324
 
67
325
  sleep(refresh_rate)
68
326
 
69
- def _get_workflow_id(self):
70
- if self._workflow_id:
71
- return self._workflow_id
72
-
73
- for _ in range(10):
74
- try:
75
- order_result = self.openapi_service.order_api.order_get_by_id_get(self.order_id)
76
- pipeline = self.openapi_service.pipeline_api.pipeline_id_get(order_result.pipeline_id)
77
- self._workflow_id = cast(WorkflowArtifactModel, pipeline.artifacts["workflow-artifact"].actual_instance).workflow_id
78
- break
79
- except Exception:
80
- sleep(2)
81
- if not self._workflow_id:
82
- raise Exception("Order has not started yet. Please start it or wait for a few seconds and try again.")
83
- return self._workflow_id
84
-
85
- def _get_workflow_progress(self):
86
- workflow_id = self._get_workflow_id()
87
- progress = None
88
- for _ in range(2):
89
- try:
90
- progress = self.openapi_service.workflow_api.workflow_get_progress_get(workflow_id)
91
- break
92
- except Exception:
93
- sleep(5)
94
-
95
- if not progress:
96
- raise Exception(f"Failed to get progress. Please try again in a few seconds.")
97
-
98
- return progress
99
-
100
-
101
- def get_results(self) -> dict[str, Any]:
327
+ def get_results(self, preliminary_results: bool = False) -> RapidataResults:
102
328
  """
103
- Gets the results of the order.
329
+ Gets the results of the order.
104
330
  If the order is still processing, this method will block until the order is completed and then return the results.
105
331
 
106
- Returns:
107
- The results of the order.
332
+ Args:
333
+ preliminary_results: If True, returns the preliminary results of the order. Defaults to False.
334
+ Note that preliminary results are not final and may not contain all the datapoints & responses. Only the ones that are already available.
108
335
  """
109
- while self.get_status() not in ["Completed", "Paused", "ManuelReview"]:
110
- sleep(5)
336
+ with tracer.start_as_current_span("RapidataOrder.get_results"):
337
+ from rapidata.api_client.models.order_state import OrderState
338
+ from rapidata.api_client.exceptions import ApiException
339
+ from rapidata.rapidata_client.order.rapidata_results import RapidataResults
340
+
341
+ logger.info("Getting results for order '%s'...", self)
342
+
343
+ if preliminary_results and self.get_status() not in [OrderState.COMPLETED]:
344
+ return self._get_preliminary_results()
345
+
346
+ if preliminary_results and self.get_status() == OrderState.COMPLETED:
347
+ managed_print("Order is already completed. Returning final results.")
348
+
349
+ self._wait_for_state(
350
+ target_states=[
351
+ OrderState.COMPLETED,
352
+ OrderState.PAUSED,
353
+ OrderState.MANUALREVIEW,
354
+ OrderState.FAILED,
355
+ ],
356
+ status_message="Order '%s' is in state %s, waiting for completion...",
357
+ )
358
+
359
+ try:
360
+ results = (
361
+ self._openapi_service.order_api.order_order_id_download_results_get(
362
+ order_id=self.id
363
+ )
364
+ )
365
+ return RapidataResults(json.loads(results))
366
+ except (ApiException, json.JSONDecodeError) as e:
367
+ raise Exception(f"Failed to get order results: {str(e)}") from e
368
+
369
+ def _get_preliminary_results(self) -> RapidataResults:
370
+ """Fetches preliminary results for an in-progress order."""
371
+ from rapidata.api_client.models.preliminary_download_model import (
372
+ PreliminaryDownloadModel,
373
+ )
374
+ from rapidata.api_client.exceptions import ApiException
375
+ from rapidata.rapidata_client.order.rapidata_results import RapidataResults
111
376
 
112
377
  try:
113
- # Get the raw result string
114
- result_str = self.openapi_service.order_api.order_result_get(id=self.order_id)
115
- # Parse the result string as JSON
116
- return json.loads(result_str)
117
- except ApiException as e:
118
- # Handle API exceptions
119
- raise Exception(f"Failed to get order results: {str(e)}") from e
120
- except json.JSONDecodeError as e:
121
- # Handle JSON parsing errors
122
- raise Exception(f"Failed to parse order results: {str(e)}") from e
378
+ pipeline_id = self.__get_pipeline_id()
379
+ download_id = self._openapi_service.pipeline_api.pipeline_pipeline_id_preliminary_download_post(
380
+ pipeline_id, PreliminaryDownloadModel(sendEmail=False)
381
+ ).download_id
382
+
383
+ def check_results():
384
+ results = self._openapi_service.pipeline_api.pipeline_preliminary_download_preliminary_download_id_get(
385
+ preliminary_download_id=download_id
386
+ )
387
+ return RapidataResults(json.loads(results))
388
+
389
+ return self._retry_operation(
390
+ check_results,
391
+ max_retries=60,
392
+ retry_delay=1,
393
+ )
394
+
395
+ except (ApiException, json.JSONDecodeError) as e:
396
+ raise Exception(f"Failed to get preliminary results: {str(e)}") from e
397
+
398
+ def view(self) -> None:
399
+ """Opens the order details page in the browser."""
400
+ logger.info("Opening order details page in browser...")
401
+ if not webbrowser.open(self.order_details_page):
402
+ encoded_url = urllib.parse.quote(
403
+ self.order_details_page, safe="%/:=&?~#+!$,;'@()*[]"
404
+ )
405
+ managed_print(
406
+ Fore.RED
407
+ + f"Please open this URL in your browser: '{encoded_url}'"
408
+ + Fore.RESET
409
+ )
410
+
411
+ def preview(self) -> None:
412
+ """Opens a preview of the order in the browser."""
413
+ from rapidata.api_client.models.order_state import OrderState
414
+ from rapidata.api_client.models.preview_order_model import PreviewOrderModel
415
+
416
+ logger.info("Opening order preview in browser...")
417
+
418
+ if self.get_status() == OrderState.CREATED:
419
+ logger.info("Order is still in state created. Setting it to preview.")
420
+ self._openapi_service.order_api.order_order_id_preview_post(
421
+ self.id, PreviewOrderModel(ignoreFailedDatapoints=True)
422
+ )
423
+ logger.info("Order is now in preview state.")
424
+
425
+ campaign_id = self.__get_campaign_id()
426
+ auth_url = f"https://app.{self._openapi_service.environment}/order/detail/{self.id}/preview?campaignId={campaign_id}"
427
+
428
+ if not webbrowser.open(auth_url):
429
+ encoded_url = urllib.parse.quote(auth_url, safe="%/:=&?~#+!$,;'@()*[]")
430
+ managed_print(
431
+ Fore.RED
432
+ + f"Please open this URL in your browser: '{encoded_url}'"
433
+ + Fore.RESET
434
+ )
123
435
 
124
- @property
125
- def dataset(self) -> RapidataDataset | None:
126
- """
127
- The dataset associated with the order.
128
- Returns:
129
- The RapidataDataset instance.
130
- """
131
- return self._dataset
132
-
133
436
  def __str__(self) -> str:
134
- return f"name: '{self.name}' order id: {self.order_id}"
135
-
437
+ return f"RapidataOrder(name='{self.name}', order_id='{self.id}')"
438
+
136
439
  def __repr__(self) -> str:
137
- return f"name: '{self.name}' order id: {self.order_id}"
440
+ return f"RapidataOrder(name='{self.name}', order_id='{self.id}')"