rapidata 2.35.1__py3-none-any.whl → 3.0.0a8__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 (790) hide show
  1. rapidata/__init__.py +25 -16
  2. rapidata/api_client/__init__.py +84 -408
  3. rapidata/api_client/api/__init__.py +6 -2
  4. rapidata/api_client/api/asset_api.py +853 -0
  5. rapidata/api_client/api/audience_api.py +2505 -0
  6. rapidata/api_client/api/benchmark_api.py +904 -245
  7. rapidata/api_client/api/campaign_api.py +582 -24
  8. rapidata/api_client/api/client_api.py +38 -33
  9. rapidata/api_client/api/compare_workflow_api.py +11 -10
  10. rapidata/api_client/api/customer_rapid_api.py +364 -123
  11. rapidata/api_client/api/datapoint_api.py +8 -6
  12. rapidata/api_client/api/dataset_api.py +240 -1516
  13. rapidata/api_client/api/evaluation_workflow_api.py +29 -82
  14. rapidata/api_client/api/feedback_api.py +11 -11
  15. rapidata/api_client/api/grouped_ranking_workflow_api.py +319 -0
  16. rapidata/api_client/api/identity_api.py +26 -300
  17. rapidata/api_client/api/job_api.py +3902 -0
  18. rapidata/api_client/api/job_definition_api.py +319 -0
  19. rapidata/api_client/api/job_revision_api.py +335 -0
  20. rapidata/api_client/api/leaderboard_api.py +140 -2067
  21. rapidata/api_client/api/newsletter_api.py +20 -19
  22. rapidata/api_client/api/order_api.py +375 -91
  23. rapidata/api_client/api/participant_api.py +80 -118
  24. rapidata/api_client/api/pipeline_api.py +24 -1480
  25. rapidata/api_client/api/prompt_api.py +11 -11
  26. rapidata/api_client/api/rapidata_identity_api_api.py +5 -4
  27. rapidata/api_client/api/sample_api.py +300 -0
  28. rapidata/api_client/api/simple_workflow_api.py +11 -10
  29. rapidata/api_client/api/survey_api.py +304 -0
  30. rapidata/api_client/api/user_rapid_api.py +35 -31
  31. rapidata/api_client/api/validation_set_api.py +377 -1835
  32. rapidata/api_client/api/workflow_api.py +32 -26
  33. rapidata/api_client/api_client.py +2 -2
  34. rapidata/api_client/configuration.py +16 -29
  35. rapidata/api_client/exceptions.py +2 -2
  36. rapidata/api_client/models/__init__.py +65 -382
  37. rapidata/api_client/models/ab_test_selection_a_inner.py +1 -1
  38. rapidata/api_client/models/add_rapid_to_audience_model.py +144 -0
  39. rapidata/api_client/models/add_user_response_result.py +10 -5
  40. rapidata/api_client/models/add_validation_rapid_model.py +49 -26
  41. rapidata/api_client/models/add_validation_rapid_model_asset.py +154 -0
  42. rapidata/api_client/models/add_validation_rapid_model_context_asset.py +160 -0
  43. rapidata/api_client/models/add_validation_rapid_model_metadata_inner.py +140 -0
  44. rapidata/api_client/models/add_validation_rapid_model_truth.py +7 -1
  45. rapidata/api_client/models/add_validation_rapid_new_model.py +137 -0
  46. rapidata/api_client/models/add_validation_rapid_new_model_asset.py +182 -0
  47. rapidata/api_client/models/add_validation_rapid_new_model_truth.py +286 -0
  48. rapidata/api_client/models/age_user_filter_model.py +2 -2
  49. rapidata/api_client/models/age_user_filter_model_age_group.py +41 -0
  50. rapidata/api_client/models/aggregated_orders_model.py +98 -0
  51. rapidata/api_client/models/aggregator_type.py +4 -2
  52. rapidata/api_client/models/and_filter.py +121 -0
  53. rapidata/api_client/models/and_filter_filters_inner.py +282 -0
  54. rapidata/api_client/models/are_rapids_active_result.py +2 -2
  55. rapidata/api_client/models/asset_metadata.py +11 -9
  56. rapidata/api_client/models/asset_type.py +40 -0
  57. rapidata/api_client/models/attach_category_rapid_blueprint.py +13 -3
  58. rapidata/api_client/models/attach_category_rapid_blueprint_category.py +89 -0
  59. rapidata/api_client/models/audience_job_state.py +38 -0
  60. rapidata/api_client/models/audience_status.py +39 -0
  61. rapidata/api_client/models/benchmark_query_result.py +5 -3
  62. rapidata/api_client/models/boost_leaderboard_model.py +5 -5
  63. rapidata/api_client/models/boost_mode.py +37 -0
  64. rapidata/api_client/models/boost_query_result.py +7 -10
  65. rapidata/api_client/models/boost_query_result_boost_mode.py +37 -0
  66. rapidata/api_client/models/boost_query_result_boost_status.py +39 -0
  67. rapidata/api_client/models/boosting_profile.py +91 -0
  68. rapidata/api_client/models/box_shape.py +4 -33
  69. rapidata/api_client/models/campaign_filter.py +98 -0
  70. rapidata/api_client/models/campaign_query_result.py +15 -13
  71. rapidata/api_client/models/campaign_status.py +2 -2
  72. rapidata/api_client/models/change_boost_model.py +89 -0
  73. rapidata/api_client/models/classification_metadata.py +12 -1
  74. rapidata/api_client/models/classify_payload.py +14 -15
  75. rapidata/api_client/models/classify_payload_category.py +89 -0
  76. rapidata/api_client/models/client_model.py +25 -35
  77. rapidata/api_client/models/clients_query_result.py +5 -5
  78. rapidata/api_client/models/clone_order_model.py +4 -4
  79. rapidata/api_client/models/clone_order_result.py +9 -4
  80. rapidata/api_client/models/compare_rapid_blueprint.py +5 -3
  81. rapidata/api_client/models/compare_rapid_blueprint1.py +96 -0
  82. rapidata/api_client/models/compare_workflow_config.py +34 -23
  83. rapidata/api_client/models/compare_workflow_config_context_asset.py +174 -0
  84. rapidata/api_client/models/compare_workflow_config_model.py +15 -5
  85. rapidata/api_client/models/compare_workflow_model.py +34 -6
  86. rapidata/api_client/models/compare_workflow_model1.py +20 -9
  87. rapidata/api_client/models/compare_workflow_model_context_asset.py +160 -0
  88. rapidata/api_client/models/compare_workflow_model_metadata_inner.py +154 -0
  89. rapidata/api_client/models/compare_workflow_model_pair_maker_config.py +1 -1
  90. rapidata/api_client/models/comparison_operator.py +2 -2
  91. rapidata/api_client/models/conditional_validation_selection.py +6 -11
  92. rapidata/api_client/models/conditional_validation_selection_validation_chance.py +103 -0
  93. rapidata/api_client/models/confidence_interval.py +89 -0
  94. rapidata/api_client/models/count_metadata.py +12 -1
  95. rapidata/api_client/models/country_filter.py +98 -0
  96. rapidata/api_client/models/create_audience_request.py +122 -0
  97. rapidata/api_client/models/create_audience_result.py +87 -0
  98. rapidata/api_client/models/create_benchmark_model.py +5 -5
  99. rapidata/api_client/models/create_benchmark_participant_model.py +5 -5
  100. rapidata/api_client/models/create_benchmark_participant_result.py +4 -4
  101. rapidata/api_client/models/create_benchmark_prompt_result.py +87 -0
  102. rapidata/api_client/models/create_benchmark_result.py +2 -2
  103. rapidata/api_client/models/create_bridge_token_result.py +2 -2
  104. rapidata/api_client/models/create_client_model.py +6 -13
  105. rapidata/api_client/models/create_complex_order_model.py +9 -9
  106. rapidata/api_client/models/create_complex_order_result.py +2 -2
  107. rapidata/api_client/models/create_customer_client_result.py +2 -2
  108. rapidata/api_client/models/create_datapoint_from_files_model.py +3 -3
  109. rapidata/api_client/models/create_datapoint_from_text_sources_model.py +3 -3
  110. rapidata/api_client/models/create_datapoint_from_urls_model.py +3 -3
  111. rapidata/api_client/models/create_datapoint_model.py +124 -0
  112. rapidata/api_client/models/create_datapoint_model_asset.py +154 -0
  113. rapidata/api_client/models/create_datapoint_model_context_asset.py +160 -0
  114. rapidata/api_client/models/create_datapoint_model_metadata_inner.py +154 -0
  115. rapidata/api_client/models/create_datapoint_result.py +2 -2
  116. rapidata/api_client/models/create_dataset_endpoint_input.py +87 -0
  117. rapidata/api_client/models/create_dataset_endpoint_output.py +87 -0
  118. rapidata/api_client/models/create_demographic_rapid_model.py +45 -7
  119. rapidata/api_client/models/create_demographic_rapid_model_asset.py +160 -0
  120. rapidata/api_client/models/create_demographic_rapid_model_context_asset.py +160 -0
  121. rapidata/api_client/models/create_demographic_rapid_model_new.py +119 -0
  122. rapidata/api_client/models/create_empty_validation_set_result.py +2 -2
  123. rapidata/api_client/models/create_job_definition_endpoint_input.py +119 -0
  124. rapidata/api_client/models/create_job_definition_endpoint_output.py +89 -0
  125. rapidata/api_client/models/create_job_endpoint_input.py +100 -0
  126. rapidata/api_client/models/create_job_endpoint_output.py +89 -0
  127. rapidata/api_client/models/create_job_revision_endpoint_input.py +127 -0
  128. rapidata/api_client/models/create_job_revision_endpoint_output.py +89 -0
  129. rapidata/api_client/models/create_leaderboard_model.py +42 -15
  130. rapidata/api_client/models/create_leaderboard_result.py +2 -2
  131. rapidata/api_client/models/create_order_definition_model.py +119 -0
  132. rapidata/api_client/models/create_order_definition_result.py +87 -0
  133. rapidata/api_client/models/create_order_definition_revision_model.py +117 -0
  134. rapidata/api_client/models/create_order_definition_revision_result.py +87 -0
  135. rapidata/api_client/models/create_order_model.py +30 -101
  136. rapidata/api_client/models/create_order_model_referee.py +12 -12
  137. rapidata/api_client/models/create_order_model_workflow.py +35 -21
  138. rapidata/api_client/models/create_order_result.py +2 -2
  139. rapidata/api_client/models/create_rapid_result.py +2 -2
  140. rapidata/api_client/models/create_sample_model.py +13 -7
  141. rapidata/api_client/models/create_sample_model_asset.py +154 -0
  142. rapidata/api_client/models/create_sample_model_obsolete.py +87 -0
  143. rapidata/api_client/models/create_simple_pipeline_model_pipeline_steps_inner.py +8 -22
  144. rapidata/api_client/models/create_unsupported_order_model.py +6 -6
  145. rapidata/api_client/models/create_validation_set_model.py +5 -5
  146. rapidata/api_client/models/datapoint_model.py +3 -3
  147. rapidata/api_client/models/datapoint_state.py +2 -2
  148. rapidata/api_client/models/definition_type.py +49 -0
  149. rapidata/api_client/models/demographic_filter.py +100 -0
  150. rapidata/api_client/models/dynamic_client_registration_request.py +21 -36
  151. rapidata/api_client/models/early_stopping_referee_model.py +3 -3
  152. rapidata/api_client/models/effort_capped_selection.py +2 -11
  153. rapidata/api_client/models/elo_config.py +2 -2
  154. rapidata/api_client/models/elo_config_model.py +6 -6
  155. rapidata/api_client/models/entity_tag_header_value.py +93 -0
  156. rapidata/api_client/models/evaluation_workflow_config.py +13 -3
  157. rapidata/api_client/models/evaluation_workflow_model.py +16 -6
  158. rapidata/api_client/models/existing_asset_input.py +109 -0
  159. rapidata/api_client/models/existing_asset_input_metadata_value.py +126 -0
  160. rapidata/api_client/models/feature_flag.py +2 -2
  161. rapidata/api_client/models/feature_flag_model.py +6 -6
  162. rapidata/api_client/models/feedback_model.py +7 -7
  163. rapidata/api_client/models/file_asset.py +3 -5
  164. rapidata/api_client/models/file_asset_input_file.py +8 -22
  165. rapidata/api_client/models/file_asset_metadata_value.py +252 -0
  166. rapidata/api_client/models/file_asset_model_metadata_value.py +18 -88
  167. rapidata/api_client/models/file_stream_result.py +122 -0
  168. rapidata/api_client/models/file_type.py +2 -2
  169. rapidata/api_client/models/file_type_metadata.py +11 -6
  170. rapidata/api_client/models/file_type_metadata_model.py +2 -8
  171. rapidata/api_client/models/filter.py +7 -25
  172. rapidata/api_client/models/filter_operator.py +2 -2
  173. rapidata/api_client/models/fork_benchmark_result.py +87 -0
  174. rapidata/api_client/models/form_file_wrapper.py +17 -2
  175. rapidata/api_client/models/free_text_payload.py +10 -3
  176. rapidata/api_client/models/free_text_rapid_blueprint.py +10 -3
  177. rapidata/api_client/models/gender_user_filter_model.py +2 -2
  178. rapidata/api_client/models/gender_user_filter_model_gender.py +38 -0
  179. rapidata/api_client/models/get_asset_metadata_result.py +100 -0
  180. rapidata/api_client/models/get_audience_by_id_result.py +118 -0
  181. rapidata/api_client/models/get_available_validation_sets_result.py +2 -2
  182. rapidata/api_client/models/get_benchmark_by_id_result.py +8 -4
  183. rapidata/api_client/models/get_boost_result.py +97 -0
  184. rapidata/api_client/models/get_boost_result_boost_mode.py +37 -0
  185. rapidata/api_client/models/get_boost_result_boost_status.py +39 -0
  186. rapidata/api_client/models/get_compare_ab_summary_result.py +5 -5
  187. rapidata/api_client/models/get_compare_workflow_results_model.py +7 -7
  188. rapidata/api_client/models/get_compare_workflow_results_result.py +5 -5
  189. rapidata/api_client/models/get_datapoint_by_id_result.py +10 -21
  190. rapidata/api_client/models/get_datapoint_by_id_result_asset.py +170 -0
  191. rapidata/api_client/models/get_dataset_by_id_result.py +2 -2
  192. rapidata/api_client/models/get_dataset_progress_result.py +2 -2
  193. rapidata/api_client/models/get_evaluation_workflow_results_model.py +119 -0
  194. rapidata/api_client/models/get_failed_datapoints_result.py +5 -5
  195. rapidata/api_client/models/get_failed_datapoints_result_datapoint.py +100 -0
  196. rapidata/api_client/models/get_file_metadata_result.py +100 -0
  197. rapidata/api_client/models/get_grouped_ranking_workflow_results_model.py +106 -0
  198. rapidata/api_client/models/get_grouped_ranking_workflow_results_result.py +97 -0
  199. rapidata/api_client/models/get_grouped_ranking_workflow_results_result_paged_result.py +105 -0
  200. rapidata/api_client/models/get_job_by_id_endpoint_output.py +130 -0
  201. rapidata/api_client/models/get_job_definition_by_id_endpoint_output.py +95 -0
  202. rapidata/api_client/models/get_job_revision_endpoint_output.py +133 -0
  203. rapidata/api_client/models/get_leaderboard_by_id_result.py +31 -4
  204. rapidata/api_client/models/get_order_by_id_result.py +12 -5
  205. rapidata/api_client/models/get_participant_by_id_result.py +4 -6
  206. rapidata/api_client/models/get_pipeline_by_id_result.py +5 -5
  207. rapidata/api_client/models/get_public_orders_result.py +2 -2
  208. rapidata/api_client/models/get_public_responses_result.py +95 -0
  209. rapidata/api_client/models/get_public_responses_result_response.py +112 -0
  210. rapidata/api_client/models/get_rapid_responses_result.py +6 -12
  211. rapidata/api_client/models/get_recommended_validation_set_result.py +95 -0
  212. rapidata/api_client/models/get_responses_for_rapid_result.py +106 -0
  213. rapidata/api_client/models/get_responses_for_rapid_result_response.py +103 -0
  214. rapidata/api_client/models/get_responses_for_rapid_result_response_result.py +266 -0
  215. rapidata/api_client/models/get_responses_result.py +5 -5
  216. rapidata/api_client/models/get_responses_result_response.py +103 -0
  217. rapidata/api_client/models/get_sample_by_id_result.py +125 -0
  218. rapidata/api_client/models/get_simple_workflow_results_model.py +20 -15
  219. rapidata/api_client/models/get_standing_by_id_result.py +6 -14
  220. rapidata/api_client/models/get_validation_rapids_result.py +32 -41
  221. rapidata/api_client/models/get_validation_set_by_id_result.py +10 -4
  222. rapidata/api_client/models/get_workflow_by_id_result.py +5 -5
  223. rapidata/api_client/models/get_workflow_by_id_result_workflow.py +23 -9
  224. rapidata/api_client/models/get_workflow_progress_result.py +5 -11
  225. rapidata/api_client/models/get_workflow_results_result.py +34 -23
  226. rapidata/api_client/models/get_workflow_results_result_response.py +103 -0
  227. rapidata/api_client/models/google_one_tap_login_model.py +4 -4
  228. rapidata/api_client/models/grouped_ranking_workflow_config.py +155 -0
  229. rapidata/api_client/models/grouped_ranking_workflow_config_context_assets_value.py +170 -0
  230. rapidata/api_client/models/grouped_ranking_workflow_model.py +147 -0
  231. rapidata/api_client/models/grouped_ranking_workflow_model1.py +121 -0
  232. rapidata/api_client/models/i_artifact_model.py +182 -0
  233. rapidata/api_client/models/i_artifact_model_campaign_artifact_model.py +98 -0
  234. rapidata/api_client/models/i_artifact_model_dataset_artifact_model.py +98 -0
  235. rapidata/api_client/models/i_artifact_model_file_artifact_model.py +98 -0
  236. rapidata/api_client/models/i_artifact_model_workflow_artifact_model.py +98 -0
  237. rapidata/api_client/models/i_artifact_model_workflow_config_artifact_model.py +102 -0
  238. rapidata/api_client/models/i_asset.py +170 -0
  239. rapidata/api_client/models/i_asset_file_asset.py +111 -0
  240. rapidata/api_client/models/i_asset_input.py +156 -0
  241. rapidata/api_client/models/i_asset_input_existing_asset_input.py +118 -0
  242. rapidata/api_client/models/i_asset_input_multi_asset_input.py +128 -0
  243. rapidata/api_client/models/i_asset_input_text_asset_input.py +118 -0
  244. rapidata/api_client/models/i_asset_model.py +170 -0
  245. rapidata/api_client/models/i_asset_model_file_asset_model.py +113 -0
  246. rapidata/api_client/models/i_asset_model_multi_asset_model.py +123 -0
  247. rapidata/api_client/models/i_asset_model_null_asset_model.py +111 -0
  248. rapidata/api_client/models/i_asset_model_text_asset_model.py +113 -0
  249. rapidata/api_client/models/i_asset_multi_asset.py +121 -0
  250. rapidata/api_client/models/i_asset_null_asset.py +109 -0
  251. rapidata/api_client/models/i_asset_text_asset.py +111 -0
  252. rapidata/api_client/models/i_audience_filter.py +184 -0
  253. rapidata/api_client/models/i_audience_filter_and_audience_filter.py +106 -0
  254. rapidata/api_client/models/i_audience_filter_country_audience_filter.py +96 -0
  255. rapidata/api_client/models/i_audience_filter_country_filter.py +96 -0
  256. rapidata/api_client/models/i_audience_filter_language_audience_filter.py +96 -0
  257. rapidata/api_client/models/i_audience_filter_language_filter.py +96 -0
  258. rapidata/api_client/models/i_audience_filter_not_audience_filter.py +102 -0
  259. rapidata/api_client/models/i_audience_filter_or_audience_filter.py +106 -0
  260. rapidata/api_client/models/i_campaign_filter.py +296 -0
  261. rapidata/api_client/models/i_campaign_filter_and_filter.py +117 -0
  262. rapidata/api_client/models/i_campaign_filter_campaign_filter.py +98 -0
  263. rapidata/api_client/models/i_campaign_filter_campaign_session_count_filter.py +101 -0
  264. rapidata/api_client/models/i_campaign_filter_country_filter.py +98 -0
  265. rapidata/api_client/models/i_campaign_filter_demographic_filter.py +100 -0
  266. rapidata/api_client/models/i_campaign_filter_device_filter.py +106 -0
  267. rapidata/api_client/models/i_campaign_filter_language_filter.py +98 -0
  268. rapidata/api_client/models/i_campaign_filter_new_user_filter.py +96 -0
  269. rapidata/api_client/models/i_campaign_filter_not_filter.py +113 -0
  270. rapidata/api_client/models/i_campaign_filter_or_filter.py +117 -0
  271. rapidata/api_client/models/i_campaign_filter_response_count_filter.py +103 -0
  272. rapidata/api_client/models/i_campaign_filter_user_action_restriction_filter.py +106 -0
  273. rapidata/api_client/models/i_campaign_filter_user_score_filter.py +102 -0
  274. rapidata/api_client/models/i_campaign_filter_user_state_filter.py +106 -0
  275. rapidata/api_client/models/i_dataset_metadata_input.py +154 -0
  276. rapidata/api_client/models/i_dataset_metadata_input_prompt_asset_metadata_input.py +100 -0
  277. rapidata/api_client/models/i_dataset_metadata_input_prompt_metadata_input.py +96 -0
  278. rapidata/api_client/models/i_dataset_metadata_input_transcription_metadata_input.py +96 -0
  279. rapidata/api_client/models/i_dataset_model.py +126 -0
  280. rapidata/api_client/models/i_dataset_model_clone_dataset_model.py +98 -0
  281. rapidata/api_client/models/i_metadata.py +252 -0
  282. rapidata/api_client/models/i_metadata_classification_metadata.py +109 -0
  283. rapidata/api_client/models/i_metadata_count_metadata.py +109 -0
  284. rapidata/api_client/models/i_metadata_duration_metadata.py +110 -0
  285. rapidata/api_client/models/i_metadata_file_type_metadata.py +110 -0
  286. rapidata/api_client/models/i_metadata_image_dimension_metadata.py +111 -0
  287. rapidata/api_client/models/i_metadata_input.py +126 -0
  288. rapidata/api_client/models/i_metadata_input_text_metadata_input.py +111 -0
  289. rapidata/api_client/models/i_metadata_location_metadata.py +111 -0
  290. rapidata/api_client/models/i_metadata_model.py +252 -0
  291. rapidata/api_client/models/i_metadata_model_classification_metadata_model.py +96 -0
  292. rapidata/api_client/models/i_metadata_model_count_metadata_model.py +96 -0
  293. rapidata/api_client/models/i_metadata_model_file_type_metadata_model.py +97 -0
  294. rapidata/api_client/models/i_metadata_model_image_dimension_metadata_model.py +98 -0
  295. rapidata/api_client/models/i_metadata_model_location_metadata_model.py +98 -0
  296. rapidata/api_client/models/i_metadata_model_original_filename_metadata_model.py +96 -0
  297. rapidata/api_client/models/i_metadata_model_source_url_metadata_model.py +96 -0
  298. rapidata/api_client/models/i_metadata_model_streams_metadata_model.py +100 -0
  299. rapidata/api_client/models/i_metadata_model_text_metadata_model.py +101 -0
  300. rapidata/api_client/models/i_metadata_model_video_duration_metadata_model.py +97 -0
  301. rapidata/api_client/models/i_metadata_original_filename_metadata.py +109 -0
  302. rapidata/api_client/models/i_metadata_source_url_metadata.py +109 -0
  303. rapidata/api_client/models/i_metadata_streams_metadata.py +113 -0
  304. rapidata/api_client/models/i_metadata_text_metadata.py +114 -0
  305. rapidata/api_client/models/i_metadata_video_duration_metadata.py +110 -0
  306. rapidata/api_client/models/i_order_workflow_model.py +168 -0
  307. rapidata/api_client/models/i_order_workflow_model_compare_workflow_model.py +146 -0
  308. rapidata/api_client/models/i_order_workflow_model_evaluation_workflow_model.py +108 -0
  309. rapidata/api_client/models/i_order_workflow_model_grouped_ranking_workflow_model.py +147 -0
  310. rapidata/api_client/models/i_order_workflow_model_simple_workflow_model.py +110 -0
  311. rapidata/api_client/models/i_pair_maker_config.py +126 -0
  312. rapidata/api_client/models/i_pair_maker_config_model.py +126 -0
  313. rapidata/api_client/models/i_pair_maker_config_model_online_pair_maker_config_model.py +98 -0
  314. rapidata/api_client/models/i_pair_maker_config_online_pair_maker_config.py +98 -0
  315. rapidata/api_client/models/i_pair_maker_information.py +126 -0
  316. rapidata/api_client/models/i_pair_maker_information_online_pair_maker_information.py +100 -0
  317. rapidata/api_client/models/i_pipeline_artifact_model.py +126 -0
  318. rapidata/api_client/models/i_pipeline_artifact_model_create_dataset_artifact_model.py +102 -0
  319. rapidata/api_client/models/i_pipeline_model.py +126 -0
  320. rapidata/api_client/models/i_pipeline_model_create_simple_pipeline_model.py +116 -0
  321. rapidata/api_client/models/i_pipeline_step_model.py +168 -0
  322. rapidata/api_client/models/i_pipeline_step_model_dataset_evaluation_step_model.py +102 -0
  323. rapidata/api_client/models/i_pipeline_step_model_send_completion_mail_step_model.py +98 -0
  324. rapidata/api_client/models/i_pipeline_step_model_workflow_aggregation_step_model.py +103 -0
  325. rapidata/api_client/models/i_pipeline_step_model_workflow_labeling_step_model.py +96 -0
  326. rapidata/api_client/models/i_rapid_blueprint.py +252 -0
  327. rapidata/api_client/models/i_rapid_blueprint_attach_category_rapid_blueprint.py +108 -0
  328. rapidata/api_client/models/i_rapid_blueprint_bounding_box_rapid_blueprint.py +96 -0
  329. rapidata/api_client/models/i_rapid_blueprint_compare_rapid_blueprint.py +98 -0
  330. rapidata/api_client/models/i_rapid_blueprint_free_text_rapid_blueprint.py +105 -0
  331. rapidata/api_client/models/i_rapid_blueprint_line_rapid_blueprint.py +96 -0
  332. rapidata/api_client/models/i_rapid_blueprint_locate_rapid_blueprint.py +96 -0
  333. rapidata/api_client/models/i_rapid_blueprint_named_entity_rapid_blueprint.py +98 -0
  334. rapidata/api_client/models/i_rapid_blueprint_polygon_rapid_blueprint.py +96 -0
  335. rapidata/api_client/models/i_rapid_blueprint_scrub_rapid_blueprint.py +96 -0
  336. rapidata/api_client/models/i_rapid_blueprint_transcription_rapid_blueprint.py +96 -0
  337. rapidata/api_client/models/i_rapid_payload.py +252 -0
  338. rapidata/api_client/models/i_rapid_payload_bounding_box_payload.py +96 -0
  339. rapidata/api_client/models/i_rapid_payload_classify_payload.py +106 -0
  340. rapidata/api_client/models/i_rapid_payload_compare_payload.py +96 -0
  341. rapidata/api_client/models/i_rapid_payload_free_text_payload.py +105 -0
  342. rapidata/api_client/models/i_rapid_payload_line_payload.py +96 -0
  343. rapidata/api_client/models/i_rapid_payload_locate_payload.py +96 -0
  344. rapidata/api_client/models/i_rapid_payload_named_entity_payload.py +98 -0
  345. rapidata/api_client/models/i_rapid_payload_polygon_payload.py +96 -0
  346. rapidata/api_client/models/i_rapid_payload_scrub_payload.py +96 -0
  347. rapidata/api_client/models/i_rapid_payload_transcription_payload.py +106 -0
  348. rapidata/api_client/models/i_rapid_result.py +266 -0
  349. rapidata/api_client/models/i_rapid_result_attach_category_result.py +98 -0
  350. rapidata/api_client/models/i_rapid_result_bounding_box_result.py +106 -0
  351. rapidata/api_client/models/i_rapid_result_compare_result.py +98 -0
  352. rapidata/api_client/models/i_rapid_result_free_text_result.py +98 -0
  353. rapidata/api_client/models/i_rapid_result_line_result.py +106 -0
  354. rapidata/api_client/models/i_rapid_result_locate_result.py +106 -0
  355. rapidata/api_client/models/i_rapid_result_named_entity_result.py +106 -0
  356. rapidata/api_client/models/i_rapid_result_polygon_result.py +106 -0
  357. rapidata/api_client/models/i_rapid_result_scrub_result.py +98 -0
  358. rapidata/api_client/models/i_rapid_result_skip_result.py +96 -0
  359. rapidata/api_client/models/i_rapid_result_transcription_result.py +106 -0
  360. rapidata/api_client/models/i_referee_config.py +154 -0
  361. rapidata/api_client/models/i_referee_config_naive_referee_config.py +96 -0
  362. rapidata/api_client/models/i_referee_config_never_ending_referee_config.py +94 -0
  363. rapidata/api_client/models/i_referee_config_probabilistic_attach_category_referee_config.py +98 -0
  364. rapidata/api_client/models/i_referee_info.py +154 -0
  365. rapidata/api_client/models/i_referee_info_naive_referee_info.py +96 -0
  366. rapidata/api_client/models/i_referee_info_never_ending_referee_info.py +94 -0
  367. rapidata/api_client/models/i_referee_info_probabilistic_attach_category_referee_info.py +98 -0
  368. rapidata/api_client/models/i_referee_model.py +140 -0
  369. rapidata/api_client/models/i_referee_model_early_stopping_referee_model.py +98 -0
  370. rapidata/api_client/models/i_referee_model_naive_referee_model.py +96 -0
  371. rapidata/api_client/models/i_selection.py +240 -0
  372. rapidata/api_client/models/i_selection_ab_test_selection.py +122 -0
  373. rapidata/api_client/models/i_selection_capped_selection.py +108 -0
  374. rapidata/api_client/models/i_selection_conditional_validation_selection.py +110 -0
  375. rapidata/api_client/models/i_selection_demographic_selection.py +98 -0
  376. rapidata/api_client/models/i_selection_effort_capped_selection.py +101 -0
  377. rapidata/api_client/models/i_selection_labeling_selection.py +103 -0
  378. rapidata/api_client/models/i_selection_shuffling_selection.py +106 -0
  379. rapidata/api_client/models/i_selection_static_selection.py +96 -0
  380. rapidata/api_client/models/i_selection_validation_selection.py +98 -0
  381. rapidata/api_client/models/i_user_filter_model.py +296 -0
  382. rapidata/api_client/models/i_user_filter_model_age_user_filter_model.py +104 -0
  383. rapidata/api_client/models/i_user_filter_model_and_user_filter_model.py +106 -0
  384. rapidata/api_client/models/i_user_filter_model_campaign_user_filter_model.py +96 -0
  385. rapidata/api_client/models/i_user_filter_model_country_user_filter_model.py +96 -0
  386. rapidata/api_client/models/i_user_filter_model_custom_user_filter_model.py +98 -0
  387. rapidata/api_client/models/i_user_filter_model_device_user_filter_model.py +104 -0
  388. rapidata/api_client/models/i_user_filter_model_gender_user_filter_model.py +104 -0
  389. rapidata/api_client/models/i_user_filter_model_language_user_filter_model.py +96 -0
  390. rapidata/api_client/models/i_user_filter_model_new_user_filter_model.py +94 -0
  391. rapidata/api_client/models/i_user_filter_model_not_user_filter_model.py +102 -0
  392. rapidata/api_client/models/i_user_filter_model_or_user_filter_model.py +106 -0
  393. rapidata/api_client/models/i_user_filter_model_response_count_user_filter_model.py +101 -0
  394. rapidata/api_client/models/i_user_filter_model_user_score_user_filter_model.py +105 -0
  395. rapidata/api_client/models/i_validation_metadata_input.py +140 -0
  396. rapidata/api_client/models/i_validation_metadata_input_prompt_asset_metadata_input.py +100 -0
  397. rapidata/api_client/models/i_validation_metadata_input_prompt_metadata_input.py +96 -0
  398. rapidata/api_client/models/i_validation_truth.py +280 -0
  399. rapidata/api_client/models/i_validation_truth_attach_category_truth.py +96 -0
  400. rapidata/api_client/models/i_validation_truth_bounding_box_truth.py +102 -0
  401. rapidata/api_client/models/i_validation_truth_compare_truth.py +96 -0
  402. rapidata/api_client/models/i_validation_truth_empty_validation_truth.py +94 -0
  403. rapidata/api_client/models/i_validation_truth_line_truth.py +94 -0
  404. rapidata/api_client/models/i_validation_truth_locate_box_truth.py +108 -0
  405. rapidata/api_client/models/i_validation_truth_model.py +294 -0
  406. rapidata/api_client/models/i_validation_truth_model_attach_category_truth_model.py +96 -0
  407. rapidata/api_client/models/i_validation_truth_model_bounding_box_truth_model.py +102 -0
  408. rapidata/api_client/models/i_validation_truth_model_classify_truth_model.py +96 -0
  409. rapidata/api_client/models/i_validation_truth_model_compare_truth_model.py +96 -0
  410. rapidata/api_client/models/i_validation_truth_model_empty_validation_truth_model.py +94 -0
  411. rapidata/api_client/models/i_validation_truth_model_line_truth_model.py +94 -0
  412. rapidata/api_client/models/i_validation_truth_model_locate_box_truth_model.py +108 -0
  413. rapidata/api_client/models/i_validation_truth_model_multi_compare_truth_model.py +96 -0
  414. rapidata/api_client/models/i_validation_truth_model_named_entity_truth_model.py +104 -0
  415. rapidata/api_client/models/i_validation_truth_model_polygon_truth_model.py +94 -0
  416. rapidata/api_client/models/i_validation_truth_model_scrub_truth_model.py +104 -0
  417. rapidata/api_client/models/i_validation_truth_model_skip_truth_model.py +94 -0
  418. rapidata/api_client/models/i_validation_truth_model_transcription_truth_model.py +115 -0
  419. rapidata/api_client/models/i_validation_truth_multi_compare_truth.py +96 -0
  420. rapidata/api_client/models/i_validation_truth_named_entity_truth.py +104 -0
  421. rapidata/api_client/models/i_validation_truth_polygon_truth.py +94 -0
  422. rapidata/api_client/models/i_validation_truth_scrub_truth.py +104 -0
  423. rapidata/api_client/models/i_validation_truth_skip_truth.py +94 -0
  424. rapidata/api_client/models/i_validation_truth_transcription_truth.py +115 -0
  425. rapidata/api_client/models/i_workflow_config.py +168 -0
  426. rapidata/api_client/models/i_workflow_config_compare_workflow_config.py +142 -0
  427. rapidata/api_client/models/i_workflow_config_evaluation_workflow_config.py +114 -0
  428. rapidata/api_client/models/i_workflow_config_grouped_ranking_workflow_config.py +155 -0
  429. rapidata/api_client/models/i_workflow_config_simple_workflow_config.py +116 -0
  430. rapidata/api_client/models/i_workflow_model.py +168 -0
  431. rapidata/api_client/models/i_workflow_model_compare_workflow_model.py +145 -0
  432. rapidata/api_client/models/i_workflow_model_evaluation_workflow_model.py +115 -0
  433. rapidata/api_client/models/i_workflow_model_grouped_ranking_workflow_model.py +121 -0
  434. rapidata/api_client/models/i_workflow_model_simple_workflow_model.py +119 -0
  435. rapidata/api_client/models/image_dimension_metadata.py +12 -1
  436. rapidata/api_client/models/inquire_file_metadata_result.py +100 -0
  437. rapidata/api_client/models/inspect_report_result.py +2 -2
  438. rapidata/api_client/models/job_definition_revision_state.py +38 -0
  439. rapidata/api_client/models/json_web_key.py +2 -36
  440. rapidata/api_client/models/json_web_key_set.py +2 -22
  441. rapidata/api_client/models/labeling_selection.py +11 -13
  442. rapidata/api_client/models/language_filter.py +98 -0
  443. rapidata/api_client/models/leaderboard_query_result.py +29 -2
  444. rapidata/api_client/models/leaderboards_query_result.py +135 -0
  445. rapidata/api_client/models/line_result.py +3 -3
  446. rapidata/api_client/models/line_result_line.py +97 -0
  447. rapidata/api_client/models/line_result_line_point.py +89 -0
  448. rapidata/api_client/models/locate_coordinate.py +4 -13
  449. rapidata/api_client/models/location_metadata.py +12 -1
  450. rapidata/api_client/models/logic_operator.py +2 -2
  451. rapidata/api_client/models/metadata_i_order_metadata_input.py +154 -0
  452. rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_asset_metadata_input.py +100 -0
  453. rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_metadata_input.py +96 -0
  454. rapidata/api_client/models/metadata_i_order_metadata_input_metadata_transcription_metadata_input.py +96 -0
  455. rapidata/api_client/models/metadata_prompt_asset_metadata_input.py +100 -0
  456. rapidata/api_client/models/metadata_prompt_metadata_input.py +96 -0
  457. rapidata/api_client/models/metadata_transcription_metadata_input.py +96 -0
  458. rapidata/api_client/models/multi_asset.py +6 -6
  459. rapidata/api_client/models/multi_asset_assets_inner.py +170 -0
  460. rapidata/api_client/models/multi_asset_input.py +21 -1
  461. rapidata/api_client/models/multi_asset_input1_assets_inner.py +40 -12
  462. rapidata/api_client/models/multi_asset_input3_assets_inner.py +40 -12
  463. rapidata/api_client/models/multi_asset_input_assets_inner.py +16 -30
  464. rapidata/api_client/models/multi_asset_model.py +3 -3
  465. rapidata/api_client/models/naive_referee_model.py +2 -2
  466. rapidata/api_client/models/named_classification.py +4 -13
  467. rapidata/api_client/models/new_user_filter.py +96 -0
  468. rapidata/api_client/models/newsletter_model.py +6 -6
  469. rapidata/api_client/models/not_available_yet_result.py +4 -13
  470. rapidata/api_client/models/not_filter.py +117 -0
  471. rapidata/api_client/models/null_asset.py +3 -5
  472. rapidata/api_client/models/online_pair_maker_config_model.py +3 -3
  473. rapidata/api_client/models/option_of_aggregator_type.py +49 -0
  474. rapidata/api_client/models/or_filter.py +121 -0
  475. rapidata/api_client/models/order_model.py +15 -14
  476. rapidata/api_client/models/order_state.py +2 -2
  477. rapidata/api_client/models/original_filename_metadata.py +12 -1
  478. rapidata/api_client/models/page_info.py +2 -7
  479. rapidata/api_client/models/paged_result_aggregated_orders_model.py +105 -0
  480. rapidata/api_client/models/paged_result_benchmark_query_result.py +105 -0
  481. rapidata/api_client/models/paged_result_campaign_query_result.py +105 -0
  482. rapidata/api_client/models/paged_result_clients_query_result.py +105 -0
  483. rapidata/api_client/models/paged_result_datapoint_model.py +105 -0
  484. rapidata/api_client/models/paged_result_get_compare_workflow_results_result.py +105 -0
  485. rapidata/api_client/models/paged_result_get_grouped_ranking_workflow_results_result.py +105 -0
  486. rapidata/api_client/models/paged_result_get_validation_rapids_result.py +105 -0
  487. rapidata/api_client/models/paged_result_get_workflow_results_result.py +105 -0
  488. rapidata/api_client/models/paged_result_i_workflow_model.py +105 -0
  489. rapidata/api_client/models/paged_result_leaderboard_query_result.py +105 -0
  490. rapidata/api_client/models/paged_result_leaderboards_query_result.py +105 -0
  491. rapidata/api_client/models/paged_result_of_aggregated_orders_model.py +103 -0
  492. rapidata/api_client/models/paged_result_of_benchmark_query_result.py +103 -0
  493. rapidata/api_client/models/paged_result_of_campaign_query_result.py +103 -0
  494. rapidata/api_client/models/paged_result_of_clients_query_result.py +103 -0
  495. rapidata/api_client/models/paged_result_of_get_compare_workflow_results_result.py +103 -0
  496. rapidata/api_client/models/paged_result_of_get_grouped_ranking_workflow_results_result.py +103 -0
  497. rapidata/api_client/models/paged_result_of_get_validation_rapids_result.py +103 -0
  498. rapidata/api_client/models/paged_result_of_get_workflow_results_result.py +103 -0
  499. rapidata/api_client/models/paged_result_of_i_workflow_model.py +103 -0
  500. rapidata/api_client/models/paged_result_of_leaderboards_query_result.py +103 -0
  501. rapidata/api_client/models/paged_result_of_order_model.py +103 -0
  502. rapidata/api_client/models/paged_result_of_participant_by_benchmark.py +103 -0
  503. rapidata/api_client/models/paged_result_of_prompt_by_benchmark_result.py +103 -0
  504. rapidata/api_client/models/paged_result_of_query_audiences_result.py +103 -0
  505. rapidata/api_client/models/paged_result_of_query_datapoints_by_dataset_id_result.py +103 -0
  506. rapidata/api_client/models/paged_result_of_query_job_definitions_result.py +103 -0
  507. rapidata/api_client/models/paged_result_of_query_job_revisions_result.py +103 -0
  508. rapidata/api_client/models/paged_result_of_query_jobs_result.py +103 -0
  509. rapidata/api_client/models/paged_result_of_query_rapids_for_audience_result.py +103 -0
  510. rapidata/api_client/models/paged_result_of_query_validation_rapid_eligibility_result.py +103 -0
  511. rapidata/api_client/models/paged_result_of_rapid_model.py +103 -0
  512. rapidata/api_client/models/paged_result_of_runs_by_leaderboard_result.py +103 -0
  513. rapidata/api_client/models/paged_result_of_sample_by_identifier.py +103 -0
  514. rapidata/api_client/models/paged_result_of_sample_by_participant.py +103 -0
  515. rapidata/api_client/models/paged_result_of_standing_by_leaderboard.py +103 -0
  516. rapidata/api_client/models/paged_result_of_validation_set_model.py +103 -0
  517. rapidata/api_client/models/paged_result_order_model.py +105 -0
  518. rapidata/api_client/models/paged_result_participant_by_benchmark.py +105 -0
  519. rapidata/api_client/models/paged_result_potential_validation_rapid.py +105 -0
  520. rapidata/api_client/models/paged_result_prompt_by_benchmark_result.py +105 -0
  521. rapidata/api_client/models/paged_result_query_audiences_result.py +105 -0
  522. rapidata/api_client/models/paged_result_query_datapoints_by_dataset_id_result.py +105 -0
  523. rapidata/api_client/models/paged_result_query_validation_rapid_eligibility_result.py +105 -0
  524. rapidata/api_client/models/paged_result_rapid_model.py +105 -0
  525. rapidata/api_client/models/paged_result_runs_by_leaderboard_result.py +105 -0
  526. rapidata/api_client/models/paged_result_sample_by_identifier.py +105 -0
  527. rapidata/api_client/models/paged_result_sample_by_participant.py +105 -0
  528. rapidata/api_client/models/paged_result_standing_by_leaderboard.py +105 -0
  529. rapidata/api_client/models/paged_result_validation_set_model.py +105 -0
  530. rapidata/api_client/models/participant_by_benchmark.py +6 -14
  531. rapidata/api_client/models/participant_status.py +2 -2
  532. rapidata/api_client/models/polygon_result.py +3 -3
  533. rapidata/api_client/models/polygon_result_coordinate.py +89 -0
  534. rapidata/api_client/models/polygon_result_shape.py +95 -0
  535. rapidata/api_client/models/preliminary_download_model.py +5 -5
  536. rapidata/api_client/models/preview_order_model.py +5 -5
  537. rapidata/api_client/models/problem_details.py +2 -20
  538. rapidata/api_client/models/prompt_asset_metadata_input.py +4 -6
  539. rapidata/api_client/models/prompt_asset_metadata_input_asset.py +25 -41
  540. rapidata/api_client/models/prompt_by_benchmark_result.py +5 -5
  541. rapidata/api_client/models/prompt_metadata.py +12 -1
  542. rapidata/api_client/models/prompt_metadata_input.py +5 -7
  543. rapidata/api_client/models/prompt_type.py +38 -0
  544. rapidata/api_client/models/proxy_file_wrapper.py +17 -2
  545. rapidata/api_client/models/public_order_model.py +2 -2
  546. rapidata/api_client/models/public_rapid_response.py +112 -0
  547. rapidata/api_client/models/query_audiences_result.py +118 -0
  548. rapidata/api_client/models/query_datapoints_by_dataset_id_result.py +95 -0
  549. rapidata/api_client/models/query_job_definitions_result.py +97 -0
  550. rapidata/api_client/models/query_job_revisions_result.py +95 -0
  551. rapidata/api_client/models/query_jobs_result.py +103 -0
  552. rapidata/api_client/models/query_model.py +10 -5
  553. rapidata/api_client/models/query_rapids_for_audience_result.py +150 -0
  554. rapidata/api_client/models/query_validation_rapid_eligibility_model_query_validation_model.py +107 -0
  555. rapidata/api_client/models/query_validation_rapid_eligibility_result.py +103 -0
  556. rapidata/api_client/models/query_validation_rapid_eligibility_result_truth.py +280 -0
  557. rapidata/api_client/models/rapid_issue.py +2 -2
  558. rapidata/api_client/models/rapid_modality.py +46 -0
  559. rapidata/api_client/models/rapid_model.py +33 -49
  560. rapidata/api_client/models/rapid_result_model.py +7 -7
  561. rapidata/api_client/models/rapid_skipped_model.py +5 -5
  562. rapidata/api_client/models/rapid_state.py +2 -2
  563. rapidata/api_client/models/read_bridge_token_keys_result.py +10 -24
  564. rapidata/api_client/models/reference_asset_input.py +100 -0
  565. rapidata/api_client/models/report_model.py +9 -15
  566. rapidata/api_client/models/response_count_filter.py +103 -0
  567. rapidata/api_client/models/response_count_user_filter_model.py +2 -8
  568. rapidata/api_client/models/retrieval_mode.py +2 -2
  569. rapidata/api_client/models/root_filter.py +5 -14
  570. rapidata/api_client/models/run_status.py +2 -2
  571. rapidata/api_client/models/runs_by_leaderboard_result.py +6 -12
  572. rapidata/api_client/models/sample_by_identifier.py +125 -0
  573. rapidata/api_client/models/sample_by_identifier_paged_result.py +105 -0
  574. rapidata/api_client/models/sample_by_participant.py +7 -8
  575. rapidata/api_client/models/scrub_range.py +2 -2
  576. rapidata/api_client/models/send_survey_model.py +87 -0
  577. rapidata/api_client/models/simple_workflow_config.py +15 -5
  578. rapidata/api_client/models/simple_workflow_config_blueprint.py +37 -23
  579. rapidata/api_client/models/simple_workflow_config_model.py +11 -3
  580. rapidata/api_client/models/simple_workflow_model.py +14 -4
  581. rapidata/api_client/models/simple_workflow_model1.py +4 -11
  582. rapidata/api_client/models/simple_workflow_model_blueprint.py +1 -1
  583. rapidata/api_client/models/sort_criterion.py +5 -11
  584. rapidata/api_client/models/sort_direction.py +2 -2
  585. rapidata/api_client/models/source_url_metadata.py +12 -1
  586. rapidata/api_client/models/standing_by_benchmark.py +113 -0
  587. rapidata/api_client/models/standing_by_leaderboard.py +19 -21
  588. rapidata/api_client/models/standing_status.py +2 -2
  589. rapidata/api_client/models/standings_by_benchmark_result.py +95 -0
  590. rapidata/api_client/models/standings_by_leaderboard_result.py +2 -2
  591. rapidata/api_client/models/start_preliminary_download_result.py +87 -0
  592. rapidata/api_client/models/sticky_state.py +3 -2
  593. rapidata/api_client/models/stream_file_wrapper.py +25 -3
  594. rapidata/api_client/models/streams_metadata.py +12 -1
  595. rapidata/api_client/models/string_segment.py +105 -0
  596. rapidata/api_client/models/submit_order_model.py +5 -5
  597. rapidata/api_client/models/submit_participant_result.py +2 -2
  598. rapidata/api_client/models/submit_prompt_model.py +9 -14
  599. rapidata/api_client/models/submit_prompt_model_prompt_asset.py +40 -12
  600. rapidata/api_client/models/tags_by_benchmark_result.py +2 -2
  601. rapidata/api_client/models/text_asset.py +3 -5
  602. rapidata/api_client/models/text_asset_input.py +21 -1
  603. rapidata/api_client/models/text_metadata.py +18 -2
  604. rapidata/api_client/models/text_metadata_input.py +111 -0
  605. rapidata/api_client/models/text_metadata_model.py +7 -2
  606. rapidata/api_client/models/transcription_metadata.py +9 -1
  607. rapidata/api_client/models/transcription_metadata_input.py +5 -7
  608. rapidata/api_client/models/transcription_word.py +2 -2
  609. rapidata/api_client/models/translated_string.py +2 -2
  610. rapidata/api_client/models/unlock_order_result.py +2 -2
  611. rapidata/api_client/models/update_audience_request.py +113 -0
  612. rapidata/api_client/models/update_benchmark_model.py +99 -0
  613. rapidata/api_client/models/update_benchmark_name_model.py +5 -5
  614. rapidata/api_client/models/update_campaign_model.py +11 -11
  615. rapidata/api_client/models/update_dataset_name_model.py +5 -5
  616. rapidata/api_client/models/update_dimensions_model.py +3 -3
  617. rapidata/api_client/models/update_job_definition_endpoint_input.py +92 -0
  618. rapidata/api_client/models/update_leaderboard_model.py +106 -0
  619. rapidata/api_client/models/update_leaderboard_name_model.py +5 -5
  620. rapidata/api_client/models/update_leaderboard_response_config_model.py +5 -5
  621. rapidata/api_client/models/update_order_name_model.py +5 -5
  622. rapidata/api_client/models/update_participant_model.py +92 -0
  623. rapidata/api_client/models/update_participant_name_model.py +5 -5
  624. rapidata/api_client/models/update_priority_model.py +87 -0
  625. rapidata/api_client/models/update_prompt_tags_model.py +5 -5
  626. rapidata/api_client/models/update_should_alert_model.py +4 -4
  627. rapidata/api_client/models/update_validation_rapid_model.py +35 -14
  628. rapidata/api_client/models/update_validation_rapid_model_context_asset.py +160 -0
  629. rapidata/api_client/models/update_validation_set_model.py +120 -0
  630. rapidata/api_client/models/upload_asset_result.py +102 -0
  631. rapidata/api_client/models/upload_file_from_url_result.py +87 -0
  632. rapidata/api_client/models/upload_file_result.py +87 -0
  633. rapidata/api_client/models/user_action_restriction.py +37 -0
  634. rapidata/api_client/models/user_action_restriction_filter.py +101 -0
  635. rapidata/api_client/models/user_score_filter.py +102 -0
  636. rapidata/api_client/models/user_state.py +38 -0
  637. rapidata/api_client/models/user_state_filter.py +101 -0
  638. rapidata/api_client/models/validation_chance.py +20 -3
  639. rapidata/api_client/models/validation_problem_details.py +117 -0
  640. rapidata/api_client/models/validation_set_model.py +39 -5
  641. rapidata/api_client/models/validation_set_overview_model.py +2 -2
  642. rapidata/api_client/models/video_duration_metadata.py +12 -1
  643. rapidata/api_client/models/workflow_aggregation_step_model.py +3 -12
  644. rapidata/api_client/models/workflow_config_artifact_model_workflow_config.py +23 -9
  645. rapidata/api_client/models/workflow_state.py +2 -2
  646. rapidata/api_client/models/zip_entry_file_wrapper.py +33 -2
  647. rapidata/api_client/rest.py +2 -2
  648. rapidata/api_client_README.md +384 -318
  649. rapidata/rapidata_client/__init__.py +17 -22
  650. rapidata/rapidata_client/api/rapidata_api_client.py +253 -0
  651. rapidata/rapidata_client/audience/__init__.py +2 -0
  652. rapidata/rapidata_client/audience/audience_example_handler.py +168 -0
  653. rapidata/rapidata_client/audience/rapidata_audience.py +287 -0
  654. rapidata/rapidata_client/audience/rapidata_audience_manager.py +162 -0
  655. rapidata/rapidata_client/benchmark/_detail_mapper.py +11 -9
  656. rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py +98 -54
  657. rapidata/rapidata_client/benchmark/participant/_participant.py +90 -46
  658. rapidata/rapidata_client/benchmark/rapidata_benchmark.py +388 -225
  659. rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py +172 -65
  660. rapidata/rapidata_client/config/__init__.py +4 -0
  661. rapidata/rapidata_client/config/logger.py +135 -0
  662. rapidata/rapidata_client/config/logging_config.py +55 -0
  663. rapidata/rapidata_client/config/managed_print.py +6 -0
  664. rapidata/rapidata_client/config/order_config.py +14 -0
  665. rapidata/rapidata_client/config/rapidata_config.py +36 -0
  666. rapidata/rapidata_client/config/tracer.py +184 -0
  667. rapidata/rapidata_client/config/upload_config.py +64 -0
  668. rapidata/rapidata_client/datapoints/__init__.py +8 -3
  669. rapidata/rapidata_client/datapoints/_asset_uploader.py +184 -0
  670. rapidata/rapidata_client/datapoints/_datapoint.py +92 -0
  671. rapidata/rapidata_client/datapoints/_datapoint_uploader.py +47 -0
  672. rapidata/rapidata_client/datapoints/_datapoints_validator.py +70 -0
  673. rapidata/rapidata_client/datapoints/assets/__init__.py +0 -10
  674. rapidata/rapidata_client/datapoints/assets/constants.py +7 -0
  675. rapidata/rapidata_client/datapoints/metadata/__init__.py +0 -2
  676. rapidata/rapidata_client/datapoints/metadata/_private_text_metadata.py +5 -6
  677. rapidata/rapidata_client/datapoints/metadata/_prompt_identifier_metadata.py +4 -5
  678. rapidata/rapidata_client/datapoints/metadata/_public_text_metadata.py +5 -6
  679. rapidata/rapidata_client/datapoints/metadata/_select_words_metadata.py +3 -4
  680. rapidata/rapidata_client/dataset/__init__.py +1 -0
  681. rapidata/rapidata_client/dataset/_rapidata_dataset.py +55 -0
  682. rapidata/rapidata_client/demographic/demographic_manager.py +44 -19
  683. rapidata/rapidata_client/exceptions/failed_upload_exception.py +15 -41
  684. rapidata/rapidata_client/filter/_backend_filter_mapper.py +134 -0
  685. rapidata/rapidata_client/filter/_base_filter.py +13 -8
  686. rapidata/rapidata_client/filter/age_filter.py +26 -10
  687. rapidata/rapidata_client/filter/and_filter.py +36 -11
  688. rapidata/rapidata_client/filter/campaign_filter.py +21 -10
  689. rapidata/rapidata_client/filter/country_filter.py +46 -12
  690. rapidata/rapidata_client/filter/custom_filter.py +25 -12
  691. rapidata/rapidata_client/filter/gender_filter.py +25 -10
  692. rapidata/rapidata_client/filter/language_filter.py +51 -21
  693. rapidata/rapidata_client/filter/models/age_group.py +14 -12
  694. rapidata/rapidata_client/filter/models/gender.py +12 -8
  695. rapidata/rapidata_client/filter/new_user_filter.py +14 -4
  696. rapidata/rapidata_client/filter/not_filter.py +35 -11
  697. rapidata/rapidata_client/filter/or_filter.py +36 -11
  698. rapidata/rapidata_client/filter/rapidata_filters.py +17 -23
  699. rapidata/rapidata_client/filter/response_count_filter.py +51 -20
  700. rapidata/rapidata_client/filter/user_score_filter.py +62 -24
  701. rapidata/rapidata_client/job/__init__.py +3 -0
  702. rapidata/rapidata_client/job/job_definition.py +110 -0
  703. rapidata/rapidata_client/job/job_manager.py +758 -0
  704. rapidata/rapidata_client/job/rapidata_job.py +326 -0
  705. rapidata/rapidata_client/order/__init__.py +2 -0
  706. rapidata/rapidata_client/order/_rapidata_order_builder.py +273 -122
  707. rapidata/rapidata_client/order/rapidata_order.py +316 -160
  708. rapidata/rapidata_client/order/rapidata_order_manager.py +680 -421
  709. rapidata/rapidata_client/rapidata_client.py +115 -37
  710. rapidata/rapidata_client/referee/__init__.py +1 -1
  711. rapidata/rapidata_client/referee/_base_referee.py +14 -3
  712. rapidata/rapidata_client/referee/_early_stopping_referee.py +32 -17
  713. rapidata/rapidata_client/referee/_naive_referee.py +24 -3
  714. rapidata/rapidata_client/results/__init__.py +3 -0
  715. rapidata/rapidata_client/{order → results}/rapidata_results.py +86 -63
  716. rapidata/rapidata_client/selection/__init__.py +1 -1
  717. rapidata/rapidata_client/selection/_base_selection.py +9 -2
  718. rapidata/rapidata_client/selection/ab_test_selection.py +28 -20
  719. rapidata/rapidata_client/selection/capped_selection.py +23 -16
  720. rapidata/rapidata_client/selection/conditional_validation_selection.py +43 -24
  721. rapidata/rapidata_client/selection/demographic_selection.py +21 -6
  722. rapidata/rapidata_client/selection/effort_selection.py +31 -8
  723. rapidata/rapidata_client/selection/labeling_selection.py +34 -11
  724. rapidata/rapidata_client/selection/{retrieval_modes.py → rapidata_retrieval_modes.py} +7 -4
  725. rapidata/rapidata_client/selection/rapidata_selections.py +23 -14
  726. rapidata/rapidata_client/selection/shuffling_selection.py +21 -13
  727. rapidata/rapidata_client/selection/static_selection.py +19 -8
  728. rapidata/rapidata_client/selection/validation_selection.py +20 -4
  729. rapidata/rapidata_client/settings/__init__.py +2 -0
  730. rapidata/rapidata_client/settings/_rapidata_setting.py +22 -3
  731. rapidata/rapidata_client/settings/alert_on_fast_response.py +8 -5
  732. rapidata/rapidata_client/settings/allow_neither_both.py +3 -0
  733. rapidata/rapidata_client/settings/custom_setting.py +3 -2
  734. rapidata/rapidata_client/settings/free_text_minimum_characters.py +9 -4
  735. rapidata/rapidata_client/settings/models/translation_behaviour_options.py +3 -2
  736. rapidata/rapidata_client/settings/mute_video.py +15 -0
  737. rapidata/rapidata_client/settings/no_shuffle.py +4 -2
  738. rapidata/rapidata_client/settings/play_video_until_the_end.py +7 -4
  739. rapidata/rapidata_client/settings/rapidata_settings.py +22 -9
  740. rapidata/rapidata_client/settings/swap_context_instruction.py +20 -0
  741. rapidata/rapidata_client/settings/translation_behaviour.py +7 -5
  742. rapidata/rapidata_client/utils/__init__.py +3 -0
  743. rapidata/rapidata_client/utils/threaded_uploader.py +153 -0
  744. rapidata/rapidata_client/validation/__init__.py +2 -0
  745. rapidata/rapidata_client/validation/rapidata_validation_set.py +96 -18
  746. rapidata/rapidata_client/validation/rapids/__init__.py +2 -0
  747. rapidata/rapidata_client/validation/rapids/_validation_rapid_uploader.py +48 -0
  748. rapidata/rapidata_client/validation/rapids/box.py +37 -12
  749. rapidata/rapidata_client/validation/rapids/rapids.py +29 -83
  750. rapidata/rapidata_client/validation/rapids/rapids_manager.py +369 -211
  751. rapidata/rapidata_client/validation/validation_set_manager.py +505 -276
  752. rapidata/rapidata_client/workflow/__init__.py +2 -2
  753. rapidata/rapidata_client/workflow/_base_workflow.py +25 -7
  754. rapidata/rapidata_client/workflow/_classify_workflow.py +58 -15
  755. rapidata/rapidata_client/workflow/_compare_workflow.py +44 -9
  756. rapidata/rapidata_client/workflow/_draw_workflow.py +40 -10
  757. rapidata/rapidata_client/workflow/_evaluation_workflow.py +28 -7
  758. rapidata/rapidata_client/workflow/_free_text_workflow.py +46 -9
  759. rapidata/rapidata_client/workflow/_locate_workflow.py +40 -10
  760. rapidata/rapidata_client/workflow/_multi_ranking_workflow.py +90 -0
  761. rapidata/rapidata_client/workflow/_select_words_workflow.py +51 -11
  762. rapidata/rapidata_client/workflow/_timestamp_workflow.py +42 -11
  763. rapidata/service/__init__.py +0 -1
  764. rapidata/service/credential_manager.py +14 -14
  765. rapidata/service/openapi_service.py +119 -34
  766. rapidata/types/__init__.py +149 -0
  767. rapidata-3.0.0a8.dist-info/METADATA +32 -0
  768. rapidata-3.0.0a8.dist-info/RECORD +1083 -0
  769. {rapidata-2.35.1.dist-info → rapidata-3.0.0a8.dist-info}/WHEEL +1 -1
  770. rapidata/rapidata_client/api/rapidata_exception.py +0 -107
  771. rapidata/rapidata_client/country_codes/__init__.py +0 -1
  772. rapidata/rapidata_client/country_codes/country_codes.py +0 -19
  773. rapidata/rapidata_client/datapoints/assets/_base_asset.py +0 -11
  774. rapidata/rapidata_client/datapoints/assets/_media_asset.py +0 -306
  775. rapidata/rapidata_client/datapoints/assets/_multi_asset.py +0 -61
  776. rapidata/rapidata_client/datapoints/assets/_sessions.py +0 -35
  777. rapidata/rapidata_client/datapoints/assets/_text_asset.py +0 -34
  778. rapidata/rapidata_client/datapoints/assets/data_type_enum.py +0 -8
  779. rapidata/rapidata_client/datapoints/datapoint.py +0 -108
  780. rapidata/rapidata_client/datapoints/metadata/_media_asset_metadata.py +0 -22
  781. rapidata/rapidata_client/datapoints/metadata/_prompt_metadata.py +0 -18
  782. rapidata/rapidata_client/logging/__init__.py +0 -2
  783. rapidata/rapidata_client/logging/logger.py +0 -122
  784. rapidata/rapidata_client/logging/output_manager.py +0 -20
  785. rapidata/rapidata_client/order/_rapidata_dataset.py +0 -396
  786. rapidata/rapidata_client/workflow/_ranking_workflow.py +0 -47
  787. rapidata/service/local_file_service.py +0 -25
  788. rapidata-2.35.1.dist-info/METADATA +0 -35
  789. rapidata-2.35.1.dist-info/RECORD +0 -657
  790. {rapidata-2.35.1.dist-info → rapidata-3.0.0a8.dist-info/licenses}/LICENSE +0 -0
@@ -1,24 +1,39 @@
1
+ from __future__ import annotations
2
+
3
+
1
4
  # Standard library imports
2
5
  import json
3
6
  import urllib.parse
4
7
  import webbrowser
5
8
  from time import sleep
6
- from typing import cast
9
+ from typing import cast, Callable, TypeVar, TYPE_CHECKING
7
10
  from colorama import Fore
8
11
  from datetime import datetime
9
12
  from tqdm import tqdm
10
13
 
11
14
  # Local/application imports
12
- from rapidata.api_client.exceptions import ApiException
13
- from rapidata.api_client.models.campaign_artifact_model import CampaignArtifactModel
14
- from rapidata.api_client.models.order_state import OrderState
15
- from rapidata.api_client.models.preview_order_model import PreviewOrderModel
16
- from rapidata.api_client.models.submit_order_model import SubmitOrderModel
17
- from rapidata.api_client.models.preliminary_download_model import PreliminaryDownloadModel
18
- from rapidata.api_client.models.workflow_artifact_model import WorkflowArtifactModel
19
- from rapidata.rapidata_client.order.rapidata_results import RapidataResults
20
15
  from rapidata.service.openapi_service import OpenAPIService
21
- from rapidata.rapidata_client.logging import logger, managed_print, RapidataOutputManager
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.results.rapidata_results import RapidataResults
35
+
36
+ T = TypeVar("T")
22
37
 
23
38
 
24
39
  class RapidataOrder:
@@ -43,50 +58,203 @@ class RapidataOrder:
43
58
  self.id = order_id
44
59
  self.name = name
45
60
  self.__created_at: datetime | None = None
46
- self.__openapi_service = openapi_service
61
+ self._openapi_service = openapi_service
47
62
  self.__workflow_id: str = ""
48
63
  self.__campaign_id: str = ""
49
64
  self.__pipeline_id: str = ""
50
- self._max_retries = 10
51
- self._retry_delay = 2
52
- self.order_details_page = f"https://app.{self.__openapi_service.environment}/order/detail/{self.id}"
65
+ self.order_details_page = (
66
+ f"https://app.{self._openapi_service.environment}/order/detail/{self.id}"
67
+ )
53
68
  logger.debug("RapidataOrder initialized")
54
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
95
+
96
+ Raises:
97
+ Exception: If the operation fails after all retries, includes order failure message if available
98
+ """
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:
123
+ """
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
+
55
141
  @property
56
142
  def created_at(self) -> datetime:
57
143
  """Returns the creation date of the order."""
58
144
  if not self.__created_at:
59
- self.__created_at = self.__openapi_service.order_api.order_order_id_get(self.id).order_date
145
+ self.__created_at = self._openapi_service.order_api.order_order_id_get(
146
+ self.id
147
+ ).order_date
60
148
  return self.__created_at
61
-
62
- def run(self) -> "RapidataOrder":
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:
63
221
  """Runs the order to start collecting responses."""
64
- logger.info(f"Starting order '{self}'")
65
- self.__openapi_service.order_api.order_order_id_submit_post(self.id, SubmitOrderModel(ignoreFailedDatapoints=True))
66
- logger.debug(f"Order '{self}' has been started.")
67
- managed_print(f"Order '{self.name}' is now viewable under: {self.order_details_page}")
68
- return self
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
69
234
 
70
235
  def pause(self) -> None:
71
236
  """Pauses the order."""
72
- logger.info(f"Pausing order '{self}'")
73
- self.__openapi_service.order_api.order_order_id_pause_post(self.id)
74
- logger.debug(f"Order '{self}' has been paused.")
75
- managed_print(f"Order '{self}' has been paused.")
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.")
76
242
 
77
243
  def unpause(self) -> None:
78
244
  """Unpauses/resumes the order."""
79
- logger.info(f"Unpausing order '{self}'")
80
- self.__openapi_service.order_api.order_order_id_resume_post(self.id)
81
- logger.debug(f"Order '{self}' has been unpaused.")
82
- managed_print(f"Order '{self}' has been unpaused.")
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.")
83
250
 
84
251
  def delete(self) -> None:
85
252
  """Deletes the order."""
86
- logger.info(f"Deleting order '{self}'")
87
- self.__openapi_service.order_api.order_order_id_delete(self.id)
88
- logger.debug(f"Order '{self}' has been deleted.")
89
- managed_print(f"Order '{self}' has been deleted.")
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.")
90
258
 
91
259
  def get_status(self) -> str:
92
260
  """
@@ -102,36 +270,51 @@ class RapidataOrder:
102
270
  Completed: The order has been completed.\n
103
271
  Failed: The order has failed.
104
272
  """
105
- return self.__openapi_service.order_api.order_order_id_get(self.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
106
275
 
107
- def display_progress_bar(self, refresh_rate: int=5) -> None:
276
+ def display_progress_bar(self, refresh_rate: int = 5) -> None:
108
277
  """
109
278
  Displays a progress bar for the order processing using tqdm.
110
-
111
- Args:
279
+
280
+ Args:
112
281
  refresh_rate: How often to refresh the progress bar, in seconds.
113
282
  """
283
+ from rapidata.api_client.models.order_state import OrderState
284
+
114
285
  if refresh_rate < 1:
115
286
  raise ValueError("refresh_rate must be at least 1")
116
-
287
+
117
288
  if self.get_status() == OrderState.CREATED:
118
289
  raise Exception("Order has not been started yet. Please start it first.")
119
-
290
+
291
+ # Wait for submission review
120
292
  while self.get_status() == OrderState.SUBMITTED:
121
- managed_print(f"Order '{self}' is submitted and being reviewed. Standby...", end="\r")
293
+ managed_print(
294
+ f"Order '{self}' is submitted and being reviewed. Standby...", end="\r"
295
+ )
122
296
  sleep(1)
123
297
 
124
298
  if self.get_status() == OrderState.MANUALREVIEW:
125
299
  raise Exception(
126
300
  f"Order '{self}' is in manual review. It might take some time to start. "
127
- "To speed up the process, contact support (info@rapidata.ai).\n"
128
- "Once started, run this method again to display the progress bar."
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."
129
303
  )
130
-
131
- with tqdm(total=100, desc="Processing order", unit="%", bar_format="{desc}: {percentage:3.0f}%|{bar}| completed [{elapsed}<{remaining}, {rate_fmt}]", disable=RapidataOutputManager.silent_mode) as pbar:
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:
132
312
  last_percentage = 0
133
313
  while True:
134
- current_percentage = self._workflow_progress.completion_percentage
314
+ current_percentage = (
315
+ self.__get_workflow_progress().completion_percentage
316
+ )
317
+
135
318
  if current_percentage > last_percentage:
136
319
  pbar.update(current_percentage - last_percentage)
137
320
  last_percentage = current_percentage
@@ -141,142 +324,115 @@ class RapidataOrder:
141
324
 
142
325
  sleep(refresh_rate)
143
326
 
144
- @property
145
- def _workflow_progress(self):
146
- """
147
- Gets the workflow progress.
148
- """
149
- progress = None
150
- for _ in range(self._max_retries // 2):
151
- try:
152
- workflow_id = self.__get_workflow_id()
153
- progress = self.__openapi_service.workflow_api.workflow_workflow_id_progress_get(workflow_id)
154
- break
155
- except Exception:
156
- sleep(self._retry_delay * 2)
157
- if not progress:
158
- raise Exception("Failed to get progress. Please try again later.")
159
- return progress
160
-
161
327
  def get_results(self, preliminary_results: bool = False) -> RapidataResults:
162
328
  """
163
- Gets the results of the order.
329
+ Gets the results of the order.
164
330
  If the order is still processing, this method will block until the order is completed and then return the results.
165
331
 
166
332
  Args:
167
- preliminary_results: If True, returns the preliminary results of the order. Defaults to False.
168
- Note that preliminary results are not final and may not contain all the datapoints & responses. Only the onese that are already available.
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.
169
335
  """
170
- logger.info(f"Getting results for order '{self}'...")
171
- if preliminary_results and self.get_status() not in [OrderState.COMPLETED]:
172
- return self.__get_preliminary_results()
173
-
174
- elif preliminary_results and self.get_status() in [OrderState.COMPLETED]:
175
- managed_print("Order is already completed. Returning final results.")
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.results.rapidata_results import RapidataResults
176
340
 
177
- while self.get_status() not in [OrderState.COMPLETED, OrderState.PAUSED, OrderState.MANUALREVIEW, OrderState.FAILED]:
178
- sleep(5)
341
+ logger.info("Getting results for order '%s'...", self)
179
342
 
180
- try:
181
- return RapidataResults(json.loads(self.__openapi_service.order_api.order_order_id_download_results_get(order_id=self.id)))
182
- except (ApiException, json.JSONDecodeError) as e:
183
- raise Exception(f"Failed to get order results: {str(e)}") from e
184
-
185
- def view(self) -> None:
186
- """
187
- Opens the order details page in the browser.
188
-
189
- Raises:
190
- Exception: If the order is not in processing state.
191
- """
192
- logger.info("Opening order details page in browser...")
193
- could_open_browser = webbrowser.open(self.order_details_page)
194
- if not could_open_browser:
195
- encoded_url = urllib.parse.quote(self.order_details_page, safe="%/:=&?~#+!$,;'@()*[]")
196
- managed_print(Fore.RED + f'Please open this URL in your browser: "{encoded_url}"' + Fore.RESET)
197
-
198
- def preview(self) -> None:
199
- """
200
- Opens a preview of the order in the browser.
201
-
202
- Raises:
203
- Exception: If the order is not in processing state.
204
- """
205
- logger.info("Opening order preview in browser...")
206
- if self.get_status() == OrderState.CREATED:
207
- logger.info("Order is still in state created. Setting it to preview.")
208
- self.__openapi_service.order_api.order_order_id_preview_post(self.id, PreviewOrderModel(ignoreFailedDatapoints=True))
209
- logger.info("Order is now in preview state.")
343
+ if preliminary_results and self.get_status() not in [OrderState.COMPLETED]:
344
+ return self._get_preliminary_results()
210
345
 
211
- campaign_id = self.__get_campaign_id()
212
- auth_url = f"https://app.{self.__openapi_service.environment}/order/detail/{self.id}/preview?campaignId={campaign_id}"
213
- could_open_browser = webbrowser.open(auth_url)
214
- if not could_open_browser:
215
- encoded_url = urllib.parse.quote(auth_url, safe="%/:=&?~#+!$,;'@()*[]")
216
- managed_print(Fore.RED + f'Please open this URL in your browser: "{encoded_url}"' + Fore.RESET)
346
+ if preliminary_results and self.get_status() == OrderState.COMPLETED:
347
+ managed_print("Order is already completed. Returning final results.")
217
348
 
218
- def __get_pipeline_id(self) -> str:
219
- """Internal method to fetch and cache the pipeline ID."""
220
- if not self.__pipeline_id:
221
- for _ in range(self._max_retries):
222
- try:
223
- self.__pipeline_id = self.__openapi_service.order_api.order_order_id_get(self.id).pipeline_id
224
- break
225
- except Exception:
226
- sleep(self._retry_delay)
227
- else:
228
- raise Exception("Failed to fetch pipeline ID after retries.")
229
- return self.__pipeline_id
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
+ )
230
358
 
231
- def __get_workflow_id(self) -> str:
232
- """Internal method to fetch and cache the workflow ID."""
233
- if not self.__workflow_id:
234
- self.__fetch_workflow_and_campaign_ids()
235
- return self.__workflow_id
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
236
368
 
237
- def __get_campaign_id(self) -> str:
238
- """Internal method to fetch and cache the campaign ID."""
239
- if not self.__campaign_id:
240
- self.__fetch_workflow_and_campaign_ids()
241
- return self.__campaign_id
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.results.rapidata_results import RapidataResults
242
376
 
243
- def __fetch_workflow_and_campaign_ids(self) -> None:
244
- """Fetches workflow and campaign IDs from the pipeline."""
245
- if self.__workflow_id and self.__campaign_id:
246
- return
247
- pipeline_id = self.__get_pipeline_id()
248
- for _ in range(self._max_retries):
249
- try:
250
- pipeline = self.__openapi_service.pipeline_api.pipeline_pipeline_id_get(pipeline_id)
251
- self.__workflow_id = cast(WorkflowArtifactModel, pipeline.artifacts["workflow-artifact"].actual_instance).workflow_id
252
- self.__campaign_id = cast(CampaignArtifactModel, pipeline.artifacts["campaign-artifact"].actual_instance).campaign_id
253
- return
254
- except Exception:
255
- sleep(self._retry_delay)
256
- raise Exception("Failed to fetch workflow and campaign IDs after retries.")
257
-
258
- def __get_preliminary_results(self) -> RapidataResults:
259
- """Internal method to fetch preliminary results."""
260
377
  try:
261
378
  pipeline_id = self.__get_pipeline_id()
262
- download_id = self.__openapi_service.pipeline_api.pipeline_pipeline_id_preliminary_download_post(
379
+ download_id = self._openapi_service.pipeline_api.pipeline_pipeline_id_preliminary_download_post(
263
380
  pipeline_id, PreliminaryDownloadModel(sendEmail=False)
264
381
  ).download_id
265
-
266
- elapsed = 0
267
- timeout = 60
268
- while elapsed < timeout:
269
- preliminary_results = self.__openapi_service.pipeline_api.pipeline_preliminary_download_preliminary_download_id_get(
382
+
383
+ def check_results():
384
+ results = self._openapi_service.pipeline_api.pipeline_preliminary_download_preliminary_download_id_get(
270
385
  preliminary_download_id=download_id
271
386
  )
272
- if preliminary_results:
273
- return RapidataResults(json.loads(preliminary_results.decode()))
274
- sleep(1)
275
- elapsed += 1
276
- raise Exception("Timeout waiting for preliminary results.")
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
+
277
395
  except (ApiException, json.JSONDecodeError) as e:
278
396
  raise Exception(f"Failed to get preliminary results: {str(e)}") from e
279
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
+ )
435
+
280
436
  def __str__(self) -> str:
281
437
  return f"RapidataOrder(name='{self.name}', order_id='{self.id}')"
282
438