rapidata 2.23.2__py3-none-any.whl → 3.0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of rapidata might be problematic. Click here for more details.

Files changed (865) hide show
  1. rapidata/__init__.py +31 -14
  2. rapidata/api_client/__init__.py +84 -312
  3. rapidata/api_client/api/__init__.py +12 -3
  4. rapidata/api_client/api/asset_api.py +853 -0
  5. rapidata/api_client/api/audience_api.py +3044 -0
  6. rapidata/api_client/api/benchmark_api.py +4307 -0
  7. rapidata/api_client/api/campaign_api.py +232 -207
  8. rapidata/api_client/api/client_api.py +166 -145
  9. rapidata/api_client/api/coco_api.py +0 -571
  10. rapidata/api_client/api/compare_workflow_api.py +11 -10
  11. rapidata/api_client/api/customer_rapid_api.py +2216 -0
  12. rapidata/api_client/api/datapoint_api.py +8 -797
  13. rapidata/api_client/api/dataset_api.py +276 -2858
  14. rapidata/api_client/api/evaluation_workflow_api.py +29 -82
  15. rapidata/api_client/api/feedback_api.py +11 -281
  16. rapidata/api_client/api/grouped_ranking_workflow_api.py +319 -0
  17. rapidata/api_client/api/identity_api.py +83 -1171
  18. rapidata/api_client/api/job_api.py +4200 -0
  19. rapidata/api_client/api/job_definition_api.py +319 -0
  20. rapidata/api_client/api/job_revision_api.py +335 -0
  21. rapidata/api_client/api/leaderboard_api.py +2855 -0
  22. rapidata/api_client/api/newsletter_api.py +30 -317
  23. rapidata/api_client/api/order_api.py +758 -5487
  24. rapidata/api_client/api/participant_api.py +2181 -0
  25. rapidata/api_client/api/pipeline_api.py +24 -1783
  26. rapidata/api_client/api/prompt_api.py +320 -0
  27. rapidata/api_client/api/rapidata_identity_api_api.py +5 -4
  28. rapidata/api_client/api/sample_api.py +300 -0
  29. rapidata/api_client/api/simple_workflow_api.py +11 -10
  30. rapidata/api_client/api/survey_api.py +304 -0
  31. rapidata/api_client/api/user_rapid_api.py +1389 -0
  32. rapidata/api_client/api/validation_set_api.py +510 -3230
  33. rapidata/api_client/api/workflow_api.py +32 -825
  34. rapidata/api_client/api_client.py +2 -2
  35. rapidata/api_client/configuration.py +16 -29
  36. rapidata/api_client/exceptions.py +2 -2
  37. rapidata/api_client/models/__init__.py +65 -291
  38. rapidata/api_client/models/ab_test_selection_a_inner.py +27 -13
  39. rapidata/api_client/models/add_campaign_model.py +8 -3
  40. rapidata/api_client/models/add_rapid_to_audience_model.py +144 -0
  41. rapidata/api_client/models/add_user_response_result.py +10 -5
  42. rapidata/api_client/models/add_validation_rapid_model.py +49 -28
  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_truth.py +32 -12
  47. rapidata/api_client/models/add_validation_rapid_new_model.py +137 -0
  48. rapidata/api_client/models/add_validation_rapid_new_model_asset.py +182 -0
  49. rapidata/api_client/models/add_validation_rapid_new_model_truth.py +286 -0
  50. rapidata/api_client/models/add_validation_text_rapid_model.py +4 -6
  51. rapidata/api_client/models/age_user_filter_model.py +2 -2
  52. rapidata/api_client/models/age_user_filter_model_age_group.py +41 -0
  53. rapidata/api_client/models/aggregated_orders_model.py +98 -0
  54. rapidata/api_client/models/aggregator_type.py +4 -2
  55. rapidata/api_client/models/and_filter.py +121 -0
  56. rapidata/api_client/models/and_filter_filters_inner.py +282 -0
  57. rapidata/api_client/models/and_user_filter_model.py +106 -0
  58. rapidata/api_client/models/and_user_filter_model_filters_inner.py +282 -0
  59. rapidata/api_client/models/are_rapids_active_result.py +2 -2
  60. rapidata/api_client/models/asset_metadata.py +106 -0
  61. rapidata/api_client/models/asset_metadata_asset.py +170 -0
  62. rapidata/api_client/models/asset_metadata_model.py +96 -0
  63. rapidata/api_client/models/asset_metadata_model_asset.py +170 -0
  64. rapidata/api_client/models/asset_type.py +40 -0
  65. rapidata/api_client/models/attach_category_rapid_blueprint.py +13 -3
  66. rapidata/api_client/models/attach_category_rapid_blueprint_category.py +89 -0
  67. rapidata/api_client/models/audience_job_state.py +38 -0
  68. rapidata/api_client/models/audience_status.py +39 -0
  69. rapidata/api_client/models/benchmark_query_result.py +98 -0
  70. rapidata/api_client/models/benchmark_query_result_paged_result.py +105 -0
  71. rapidata/api_client/models/boost_leaderboard_model.py +89 -0
  72. rapidata/api_client/models/boost_mode.py +37 -0
  73. rapidata/api_client/models/boost_query_result.py +97 -0
  74. rapidata/api_client/models/boost_query_result_boost_mode.py +37 -0
  75. rapidata/api_client/models/boost_query_result_boost_status.py +39 -0
  76. rapidata/api_client/models/boost_status.py +39 -0
  77. rapidata/api_client/models/boosting_profile.py +91 -0
  78. rapidata/api_client/models/box_shape.py +4 -33
  79. rapidata/api_client/models/campaign_filter.py +98 -0
  80. rapidata/api_client/models/campaign_query_result.py +15 -13
  81. rapidata/api_client/models/campaign_status.py +2 -2
  82. rapidata/api_client/models/change_boost_model.py +89 -0
  83. rapidata/api_client/models/classification_metadata.py +12 -1
  84. rapidata/api_client/models/classify_payload.py +14 -15
  85. rapidata/api_client/models/classify_payload_category.py +89 -0
  86. rapidata/api_client/models/client_model.py +181 -0
  87. rapidata/api_client/models/clients_query_result.py +5 -5
  88. rapidata/api_client/models/clone_order_model.py +6 -8
  89. rapidata/api_client/models/clone_order_result.py +9 -4
  90. rapidata/api_client/models/compare_rapid_blueprint.py +5 -3
  91. rapidata/api_client/models/compare_rapid_blueprint1.py +96 -0
  92. rapidata/api_client/models/compare_result.py +1 -10
  93. rapidata/api_client/models/compare_workflow_config.py +34 -23
  94. rapidata/api_client/models/compare_workflow_config_context_asset.py +174 -0
  95. rapidata/api_client/models/compare_workflow_config_metadata_value.py +75 -17
  96. rapidata/api_client/models/compare_workflow_config_model.py +15 -5
  97. rapidata/api_client/models/compare_workflow_model.py +34 -6
  98. rapidata/api_client/models/compare_workflow_model1.py +20 -9
  99. rapidata/api_client/models/compare_workflow_model_context_asset.py +160 -0
  100. rapidata/api_client/models/compare_workflow_model_metadata_inner.py +154 -0
  101. rapidata/api_client/models/compare_workflow_model_pair_maker_config.py +1 -1
  102. rapidata/api_client/models/comparison_operator.py +2 -2
  103. rapidata/api_client/models/conditional_validation_selection.py +8 -11
  104. rapidata/api_client/models/conditional_validation_selection_validation_chance.py +103 -0
  105. rapidata/api_client/models/confidence_interval.py +89 -0
  106. rapidata/api_client/models/count_metadata.py +12 -1
  107. rapidata/api_client/models/country_filter.py +98 -0
  108. rapidata/api_client/models/create_audience_request.py +122 -0
  109. rapidata/api_client/models/create_audience_result.py +87 -0
  110. rapidata/api_client/models/create_benchmark_model.py +87 -0
  111. rapidata/api_client/models/create_benchmark_participant_model.py +87 -0
  112. rapidata/api_client/models/create_benchmark_participant_result.py +89 -0
  113. rapidata/api_client/models/create_benchmark_prompt_result.py +87 -0
  114. rapidata/api_client/models/create_benchmark_result.py +87 -0
  115. rapidata/api_client/models/create_bridge_token_result.py +2 -2
  116. rapidata/api_client/models/create_client_model.py +6 -13
  117. rapidata/api_client/models/create_complex_order_model.py +9 -9
  118. rapidata/api_client/models/create_complex_order_result.py +6 -4
  119. rapidata/api_client/models/create_customer_client_result.py +89 -0
  120. rapidata/api_client/models/create_datapoint_from_files_model_metadata_inner.py +25 -11
  121. rapidata/api_client/models/create_datapoint_model.py +124 -0
  122. rapidata/api_client/models/create_datapoint_model_asset.py +154 -0
  123. rapidata/api_client/models/create_datapoint_model_context_asset.py +160 -0
  124. rapidata/api_client/models/create_datapoint_model_metadata_inner.py +154 -0
  125. rapidata/api_client/models/create_datapoint_result.py +6 -18
  126. rapidata/api_client/models/create_dataset_endpoint_input.py +87 -0
  127. rapidata/api_client/models/create_dataset_endpoint_output.py +87 -0
  128. rapidata/api_client/models/create_demographic_rapid_model.py +45 -7
  129. rapidata/api_client/models/create_demographic_rapid_model_asset.py +160 -0
  130. rapidata/api_client/models/create_demographic_rapid_model_context_asset.py +160 -0
  131. rapidata/api_client/models/create_demographic_rapid_model_new.py +119 -0
  132. rapidata/api_client/models/create_empty_validation_set_result.py +2 -2
  133. rapidata/api_client/models/create_job_definition_endpoint_input.py +119 -0
  134. rapidata/api_client/models/create_job_definition_endpoint_output.py +89 -0
  135. rapidata/api_client/models/create_job_endpoint_input.py +100 -0
  136. rapidata/api_client/models/create_job_endpoint_output.py +89 -0
  137. rapidata/api_client/models/create_job_revision_endpoint_input.py +127 -0
  138. rapidata/api_client/models/create_job_revision_endpoint_output.py +89 -0
  139. rapidata/api_client/models/create_leaderboard_model.py +147 -0
  140. rapidata/api_client/models/create_leaderboard_participant_model.py +87 -0
  141. rapidata/api_client/models/create_leaderboard_participant_result.py +89 -0
  142. rapidata/api_client/models/create_leaderboard_result.py +99 -0
  143. rapidata/api_client/models/create_order_definition_model.py +119 -0
  144. rapidata/api_client/models/create_order_definition_result.py +87 -0
  145. rapidata/api_client/models/create_order_definition_revision_model.py +117 -0
  146. rapidata/api_client/models/create_order_definition_revision_result.py +87 -0
  147. rapidata/api_client/models/create_order_model.py +30 -103
  148. rapidata/api_client/models/create_order_model_referee.py +12 -12
  149. rapidata/api_client/models/create_order_model_workflow.py +35 -21
  150. rapidata/api_client/models/create_order_result.py +6 -4
  151. rapidata/api_client/models/create_rapid_result.py +2 -2
  152. rapidata/api_client/models/create_sample_model.py +93 -0
  153. rapidata/api_client/models/create_sample_model_asset.py +154 -0
  154. rapidata/api_client/models/create_sample_model_obsolete.py +87 -0
  155. rapidata/api_client/models/create_simple_pipeline_model_pipeline_steps_inner.py +8 -22
  156. rapidata/api_client/models/create_unsupported_order_model.py +6 -6
  157. rapidata/api_client/models/create_validation_set_model.py +5 -5
  158. rapidata/api_client/models/datapoint_metadata_model.py +3 -3
  159. rapidata/api_client/models/datapoint_model.py +3 -3
  160. rapidata/api_client/models/datapoint_model_paged_result.py +105 -0
  161. rapidata/api_client/models/datapoint_state.py +2 -2
  162. rapidata/api_client/models/dataset_dataset_id_datapoints_post_request_metadata_inner.py +182 -0
  163. rapidata/api_client/models/definition_type.py +49 -0
  164. rapidata/api_client/models/demographic_filter.py +100 -0
  165. rapidata/api_client/models/dynamic_client_registration_request.py +160 -0
  166. rapidata/api_client/models/early_stopping_referee_model.py +3 -3
  167. rapidata/api_client/models/effort_capped_selection.py +106 -0
  168. rapidata/api_client/models/elo_config.py +2 -2
  169. rapidata/api_client/models/elo_config_model.py +6 -6
  170. rapidata/api_client/models/entity_tag_header_value.py +93 -0
  171. rapidata/api_client/models/evaluation_workflow_config.py +13 -3
  172. rapidata/api_client/models/evaluation_workflow_model.py +16 -6
  173. rapidata/api_client/models/existing_asset_input.py +109 -0
  174. rapidata/api_client/models/existing_asset_input_metadata_value.py +126 -0
  175. rapidata/api_client/models/feature_flag.py +2 -2
  176. rapidata/api_client/models/feature_flag_model.py +6 -6
  177. rapidata/api_client/models/feedback_model.py +7 -7
  178. rapidata/api_client/models/file_asset.py +15 -12
  179. rapidata/api_client/models/file_asset_input.py +104 -0
  180. rapidata/api_client/models/file_asset_input1.py +104 -0
  181. rapidata/api_client/models/file_asset_input1_file.py +168 -0
  182. rapidata/api_client/models/file_asset_input2.py +104 -0
  183. rapidata/api_client/models/file_asset_input3.py +104 -0
  184. rapidata/api_client/models/file_asset_input_file.py +168 -0
  185. rapidata/api_client/models/file_asset_metadata_value.py +252 -0
  186. rapidata/api_client/models/file_asset_model_metadata_value.py +37 -51
  187. rapidata/api_client/models/file_stream_result.py +122 -0
  188. rapidata/api_client/models/file_type.py +39 -0
  189. rapidata/api_client/models/file_type_metadata.py +110 -0
  190. rapidata/api_client/models/file_type_metadata_model.py +97 -0
  191. rapidata/api_client/models/filter.py +7 -25
  192. rapidata/api_client/models/filter_operator.py +3 -2
  193. rapidata/api_client/models/fork_benchmark_result.py +87 -0
  194. rapidata/api_client/models/form_file_wrapper.py +135 -0
  195. rapidata/api_client/models/free_text_payload.py +10 -3
  196. rapidata/api_client/models/free_text_rapid_blueprint.py +10 -3
  197. rapidata/api_client/models/gender_user_filter_model.py +2 -2
  198. rapidata/api_client/models/gender_user_filter_model_gender.py +38 -0
  199. rapidata/api_client/models/get_asset_metadata_result.py +100 -0
  200. rapidata/api_client/models/get_audience_by_id_result.py +118 -0
  201. rapidata/api_client/models/get_audience_user_state_metrics_result.py +87 -0
  202. rapidata/api_client/models/get_available_validation_sets_result.py +2 -2
  203. rapidata/api_client/models/get_benchmark_by_id_query.py +96 -0
  204. rapidata/api_client/models/get_benchmark_by_id_query_result.py +94 -0
  205. rapidata/api_client/models/get_benchmark_by_id_query_result_paged_result.py +105 -0
  206. rapidata/api_client/models/get_benchmark_by_id_result.py +98 -0
  207. rapidata/api_client/models/get_boost_result.py +97 -0
  208. rapidata/api_client/models/get_boost_result_boost_mode.py +37 -0
  209. rapidata/api_client/models/get_boost_result_boost_status.py +39 -0
  210. rapidata/api_client/models/get_compare_ab_summary_result.py +5 -5
  211. rapidata/api_client/models/get_compare_workflow_results_model.py +7 -7
  212. rapidata/api_client/models/get_compare_workflow_results_result.py +5 -5
  213. rapidata/api_client/models/get_datapoint_by_id_result.py +10 -21
  214. rapidata/api_client/models/get_datapoint_by_id_result_asset.py +170 -0
  215. rapidata/api_client/models/get_dataset_by_id_result.py +2 -2
  216. rapidata/api_client/models/get_dataset_progress_result.py +2 -2
  217. rapidata/api_client/models/get_evaluation_workflow_results_model.py +119 -0
  218. rapidata/api_client/models/get_failed_datapoints_result.py +5 -5
  219. rapidata/api_client/models/get_failed_datapoints_result_datapoint.py +100 -0
  220. rapidata/api_client/models/get_file_metadata_result.py +100 -0
  221. rapidata/api_client/models/get_grouped_ranking_workflow_results_model.py +106 -0
  222. rapidata/api_client/models/get_grouped_ranking_workflow_results_result.py +97 -0
  223. rapidata/api_client/models/get_grouped_ranking_workflow_results_result_paged_result.py +105 -0
  224. rapidata/api_client/models/get_job_by_id_endpoint_output.py +130 -0
  225. rapidata/api_client/models/get_job_definition_by_id_endpoint_output.py +95 -0
  226. rapidata/api_client/models/get_job_revision_endpoint_output.py +133 -0
  227. rapidata/api_client/models/get_leaderboard_by_id_result.py +135 -0
  228. rapidata/api_client/models/get_order_by_id_result.py +12 -5
  229. rapidata/api_client/models/get_participant_by_id_result.py +91 -0
  230. rapidata/api_client/models/get_pipeline_by_id_result.py +5 -5
  231. rapidata/api_client/models/get_public_orders_result.py +2 -2
  232. rapidata/api_client/models/get_public_responses_result.py +95 -0
  233. rapidata/api_client/models/get_public_responses_result_response.py +112 -0
  234. rapidata/api_client/models/get_rapid_responses_result.py +6 -12
  235. rapidata/api_client/models/get_recommended_validation_set_result.py +95 -0
  236. rapidata/api_client/models/get_responses_for_rapid_result.py +106 -0
  237. rapidata/api_client/models/get_responses_for_rapid_result_response.py +103 -0
  238. rapidata/api_client/models/get_responses_for_rapid_result_response_result.py +266 -0
  239. rapidata/api_client/models/get_responses_result.py +5 -5
  240. rapidata/api_client/models/get_responses_result_response.py +103 -0
  241. rapidata/api_client/models/get_sample_by_id_result.py +125 -0
  242. rapidata/api_client/models/get_simple_workflow_results_model.py +20 -15
  243. rapidata/api_client/models/get_standing_by_id_result.py +96 -0
  244. rapidata/api_client/models/get_validation_rapids_result.py +33 -33
  245. rapidata/api_client/models/get_validation_rapids_result_truth.py +25 -11
  246. rapidata/api_client/models/get_validation_set_by_id_result.py +10 -4
  247. rapidata/api_client/models/get_workflow_by_id_result.py +5 -5
  248. rapidata/api_client/models/get_workflow_by_id_result_workflow.py +23 -9
  249. rapidata/api_client/models/get_workflow_progress_result.py +5 -11
  250. rapidata/api_client/models/get_workflow_results_result.py +34 -23
  251. rapidata/api_client/models/get_workflow_results_result_response.py +103 -0
  252. rapidata/api_client/models/google_one_tap_login_model.py +4 -4
  253. rapidata/api_client/models/grouped_ranking_workflow_config.py +155 -0
  254. rapidata/api_client/models/grouped_ranking_workflow_config_context_assets_value.py +170 -0
  255. rapidata/api_client/models/grouped_ranking_workflow_model.py +147 -0
  256. rapidata/api_client/models/grouped_ranking_workflow_model1.py +121 -0
  257. rapidata/api_client/models/i_artifact_model.py +182 -0
  258. rapidata/api_client/models/i_artifact_model_campaign_artifact_model.py +98 -0
  259. rapidata/api_client/models/i_artifact_model_dataset_artifact_model.py +98 -0
  260. rapidata/api_client/models/i_artifact_model_file_artifact_model.py +98 -0
  261. rapidata/api_client/models/i_artifact_model_workflow_artifact_model.py +98 -0
  262. rapidata/api_client/models/i_artifact_model_workflow_config_artifact_model.py +102 -0
  263. rapidata/api_client/models/i_asset.py +170 -0
  264. rapidata/api_client/models/i_asset_file_asset.py +111 -0
  265. rapidata/api_client/models/i_asset_input.py +156 -0
  266. rapidata/api_client/models/i_asset_input_existing_asset_input.py +118 -0
  267. rapidata/api_client/models/i_asset_input_multi_asset_input.py +128 -0
  268. rapidata/api_client/models/i_asset_input_text_asset_input.py +118 -0
  269. rapidata/api_client/models/i_asset_model.py +170 -0
  270. rapidata/api_client/models/i_asset_model_file_asset_model.py +113 -0
  271. rapidata/api_client/models/i_asset_model_multi_asset_model.py +123 -0
  272. rapidata/api_client/models/i_asset_model_null_asset_model.py +111 -0
  273. rapidata/api_client/models/i_asset_model_text_asset_model.py +113 -0
  274. rapidata/api_client/models/i_asset_multi_asset.py +121 -0
  275. rapidata/api_client/models/i_asset_null_asset.py +109 -0
  276. rapidata/api_client/models/i_asset_text_asset.py +111 -0
  277. rapidata/api_client/models/i_audience_filter.py +184 -0
  278. rapidata/api_client/models/i_audience_filter_and_audience_filter.py +106 -0
  279. rapidata/api_client/models/i_audience_filter_country_audience_filter.py +96 -0
  280. rapidata/api_client/models/i_audience_filter_country_filter.py +96 -0
  281. rapidata/api_client/models/i_audience_filter_language_audience_filter.py +96 -0
  282. rapidata/api_client/models/i_audience_filter_language_filter.py +96 -0
  283. rapidata/api_client/models/i_audience_filter_not_audience_filter.py +102 -0
  284. rapidata/api_client/models/i_audience_filter_or_audience_filter.py +106 -0
  285. rapidata/api_client/models/i_campaign_filter.py +296 -0
  286. rapidata/api_client/models/i_campaign_filter_and_filter.py +117 -0
  287. rapidata/api_client/models/i_campaign_filter_campaign_filter.py +98 -0
  288. rapidata/api_client/models/i_campaign_filter_campaign_session_count_filter.py +101 -0
  289. rapidata/api_client/models/i_campaign_filter_country_filter.py +98 -0
  290. rapidata/api_client/models/i_campaign_filter_demographic_filter.py +100 -0
  291. rapidata/api_client/models/i_campaign_filter_device_filter.py +106 -0
  292. rapidata/api_client/models/i_campaign_filter_language_filter.py +98 -0
  293. rapidata/api_client/models/i_campaign_filter_new_user_filter.py +96 -0
  294. rapidata/api_client/models/i_campaign_filter_not_filter.py +113 -0
  295. rapidata/api_client/models/i_campaign_filter_or_filter.py +117 -0
  296. rapidata/api_client/models/i_campaign_filter_response_count_filter.py +103 -0
  297. rapidata/api_client/models/i_campaign_filter_user_action_restriction_filter.py +106 -0
  298. rapidata/api_client/models/i_campaign_filter_user_score_filter.py +102 -0
  299. rapidata/api_client/models/i_campaign_filter_user_state_filter.py +106 -0
  300. rapidata/api_client/models/i_dataset_metadata_input.py +154 -0
  301. rapidata/api_client/models/i_dataset_metadata_input_prompt_asset_metadata_input.py +100 -0
  302. rapidata/api_client/models/i_dataset_metadata_input_prompt_metadata_input.py +96 -0
  303. rapidata/api_client/models/i_dataset_metadata_input_transcription_metadata_input.py +96 -0
  304. rapidata/api_client/models/i_dataset_model.py +126 -0
  305. rapidata/api_client/models/i_dataset_model_clone_dataset_model.py +98 -0
  306. rapidata/api_client/models/i_metadata.py +252 -0
  307. rapidata/api_client/models/i_metadata_classification_metadata.py +109 -0
  308. rapidata/api_client/models/i_metadata_count_metadata.py +109 -0
  309. rapidata/api_client/models/i_metadata_duration_metadata.py +110 -0
  310. rapidata/api_client/models/i_metadata_file_type_metadata.py +110 -0
  311. rapidata/api_client/models/i_metadata_image_dimension_metadata.py +111 -0
  312. rapidata/api_client/models/i_metadata_input.py +126 -0
  313. rapidata/api_client/models/i_metadata_input_text_metadata_input.py +111 -0
  314. rapidata/api_client/models/i_metadata_location_metadata.py +111 -0
  315. rapidata/api_client/models/i_metadata_model.py +252 -0
  316. rapidata/api_client/models/i_metadata_model_classification_metadata_model.py +96 -0
  317. rapidata/api_client/models/i_metadata_model_count_metadata_model.py +96 -0
  318. rapidata/api_client/models/i_metadata_model_file_type_metadata_model.py +97 -0
  319. rapidata/api_client/models/i_metadata_model_image_dimension_metadata_model.py +98 -0
  320. rapidata/api_client/models/i_metadata_model_location_metadata_model.py +98 -0
  321. rapidata/api_client/models/i_metadata_model_original_filename_metadata_model.py +96 -0
  322. rapidata/api_client/models/i_metadata_model_source_url_metadata_model.py +96 -0
  323. rapidata/api_client/models/i_metadata_model_streams_metadata_model.py +100 -0
  324. rapidata/api_client/models/i_metadata_model_text_metadata_model.py +101 -0
  325. rapidata/api_client/models/i_metadata_model_video_duration_metadata_model.py +97 -0
  326. rapidata/api_client/models/i_metadata_original_filename_metadata.py +109 -0
  327. rapidata/api_client/models/i_metadata_source_url_metadata.py +109 -0
  328. rapidata/api_client/models/i_metadata_streams_metadata.py +113 -0
  329. rapidata/api_client/models/i_metadata_text_metadata.py +114 -0
  330. rapidata/api_client/models/i_metadata_video_duration_metadata.py +110 -0
  331. rapidata/api_client/models/i_order_workflow_model.py +168 -0
  332. rapidata/api_client/models/i_order_workflow_model_compare_workflow_model.py +146 -0
  333. rapidata/api_client/models/i_order_workflow_model_evaluation_workflow_model.py +108 -0
  334. rapidata/api_client/models/i_order_workflow_model_grouped_ranking_workflow_model.py +147 -0
  335. rapidata/api_client/models/i_order_workflow_model_simple_workflow_model.py +110 -0
  336. rapidata/api_client/models/i_pair_maker_config.py +126 -0
  337. rapidata/api_client/models/i_pair_maker_config_model.py +126 -0
  338. rapidata/api_client/models/i_pair_maker_config_model_online_pair_maker_config_model.py +98 -0
  339. rapidata/api_client/models/i_pair_maker_config_online_pair_maker_config.py +98 -0
  340. rapidata/api_client/models/i_pair_maker_information.py +126 -0
  341. rapidata/api_client/models/i_pair_maker_information_online_pair_maker_information.py +100 -0
  342. rapidata/api_client/models/i_pipeline_artifact_model.py +126 -0
  343. rapidata/api_client/models/i_pipeline_artifact_model_create_dataset_artifact_model.py +102 -0
  344. rapidata/api_client/models/i_pipeline_model.py +126 -0
  345. rapidata/api_client/models/i_pipeline_model_create_simple_pipeline_model.py +116 -0
  346. rapidata/api_client/models/i_pipeline_step_model.py +168 -0
  347. rapidata/api_client/models/i_pipeline_step_model_dataset_evaluation_step_model.py +102 -0
  348. rapidata/api_client/models/i_pipeline_step_model_send_completion_mail_step_model.py +98 -0
  349. rapidata/api_client/models/i_pipeline_step_model_workflow_aggregation_step_model.py +103 -0
  350. rapidata/api_client/models/i_pipeline_step_model_workflow_labeling_step_model.py +96 -0
  351. rapidata/api_client/models/i_rapid_blueprint.py +252 -0
  352. rapidata/api_client/models/i_rapid_blueprint_attach_category_rapid_blueprint.py +108 -0
  353. rapidata/api_client/models/i_rapid_blueprint_bounding_box_rapid_blueprint.py +96 -0
  354. rapidata/api_client/models/i_rapid_blueprint_compare_rapid_blueprint.py +98 -0
  355. rapidata/api_client/models/i_rapid_blueprint_free_text_rapid_blueprint.py +105 -0
  356. rapidata/api_client/models/i_rapid_blueprint_line_rapid_blueprint.py +96 -0
  357. rapidata/api_client/models/i_rapid_blueprint_locate_rapid_blueprint.py +96 -0
  358. rapidata/api_client/models/i_rapid_blueprint_named_entity_rapid_blueprint.py +98 -0
  359. rapidata/api_client/models/i_rapid_blueprint_polygon_rapid_blueprint.py +96 -0
  360. rapidata/api_client/models/i_rapid_blueprint_scrub_rapid_blueprint.py +96 -0
  361. rapidata/api_client/models/i_rapid_blueprint_transcription_rapid_blueprint.py +96 -0
  362. rapidata/api_client/models/i_rapid_payload.py +252 -0
  363. rapidata/api_client/models/i_rapid_payload_bounding_box_payload.py +96 -0
  364. rapidata/api_client/models/i_rapid_payload_classify_payload.py +106 -0
  365. rapidata/api_client/models/i_rapid_payload_compare_payload.py +96 -0
  366. rapidata/api_client/models/i_rapid_payload_free_text_payload.py +105 -0
  367. rapidata/api_client/models/i_rapid_payload_line_payload.py +96 -0
  368. rapidata/api_client/models/i_rapid_payload_locate_payload.py +96 -0
  369. rapidata/api_client/models/i_rapid_payload_named_entity_payload.py +98 -0
  370. rapidata/api_client/models/i_rapid_payload_polygon_payload.py +96 -0
  371. rapidata/api_client/models/i_rapid_payload_scrub_payload.py +96 -0
  372. rapidata/api_client/models/i_rapid_payload_transcription_payload.py +106 -0
  373. rapidata/api_client/models/i_rapid_result.py +266 -0
  374. rapidata/api_client/models/i_rapid_result_attach_category_result.py +98 -0
  375. rapidata/api_client/models/i_rapid_result_bounding_box_result.py +106 -0
  376. rapidata/api_client/models/i_rapid_result_compare_result.py +98 -0
  377. rapidata/api_client/models/i_rapid_result_free_text_result.py +98 -0
  378. rapidata/api_client/models/i_rapid_result_line_result.py +106 -0
  379. rapidata/api_client/models/i_rapid_result_locate_result.py +106 -0
  380. rapidata/api_client/models/i_rapid_result_named_entity_result.py +106 -0
  381. rapidata/api_client/models/i_rapid_result_polygon_result.py +106 -0
  382. rapidata/api_client/models/i_rapid_result_scrub_result.py +98 -0
  383. rapidata/api_client/models/i_rapid_result_skip_result.py +96 -0
  384. rapidata/api_client/models/i_rapid_result_transcription_result.py +106 -0
  385. rapidata/api_client/models/i_referee_config.py +154 -0
  386. rapidata/api_client/models/i_referee_config_naive_referee_config.py +96 -0
  387. rapidata/api_client/models/i_referee_config_never_ending_referee_config.py +94 -0
  388. rapidata/api_client/models/i_referee_config_probabilistic_attach_category_referee_config.py +98 -0
  389. rapidata/api_client/models/i_referee_info.py +154 -0
  390. rapidata/api_client/models/i_referee_info_naive_referee_info.py +96 -0
  391. rapidata/api_client/models/i_referee_info_never_ending_referee_info.py +94 -0
  392. rapidata/api_client/models/i_referee_info_probabilistic_attach_category_referee_info.py +98 -0
  393. rapidata/api_client/models/i_referee_model.py +140 -0
  394. rapidata/api_client/models/i_referee_model_early_stopping_referee_model.py +98 -0
  395. rapidata/api_client/models/i_referee_model_naive_referee_model.py +96 -0
  396. rapidata/api_client/models/i_selection.py +240 -0
  397. rapidata/api_client/models/i_selection_ab_test_selection.py +122 -0
  398. rapidata/api_client/models/i_selection_capped_selection.py +108 -0
  399. rapidata/api_client/models/i_selection_conditional_validation_selection.py +110 -0
  400. rapidata/api_client/models/i_selection_demographic_selection.py +98 -0
  401. rapidata/api_client/models/i_selection_effort_capped_selection.py +101 -0
  402. rapidata/api_client/models/i_selection_labeling_selection.py +103 -0
  403. rapidata/api_client/models/i_selection_shuffling_selection.py +106 -0
  404. rapidata/api_client/models/i_selection_static_selection.py +96 -0
  405. rapidata/api_client/models/i_selection_validation_selection.py +98 -0
  406. rapidata/api_client/models/i_user_filter_model.py +296 -0
  407. rapidata/api_client/models/i_user_filter_model_age_user_filter_model.py +104 -0
  408. rapidata/api_client/models/i_user_filter_model_and_user_filter_model.py +106 -0
  409. rapidata/api_client/models/i_user_filter_model_campaign_user_filter_model.py +96 -0
  410. rapidata/api_client/models/i_user_filter_model_country_user_filter_model.py +96 -0
  411. rapidata/api_client/models/i_user_filter_model_custom_user_filter_model.py +98 -0
  412. rapidata/api_client/models/i_user_filter_model_device_user_filter_model.py +104 -0
  413. rapidata/api_client/models/i_user_filter_model_gender_user_filter_model.py +104 -0
  414. rapidata/api_client/models/i_user_filter_model_language_user_filter_model.py +96 -0
  415. rapidata/api_client/models/i_user_filter_model_new_user_filter_model.py +94 -0
  416. rapidata/api_client/models/i_user_filter_model_not_user_filter_model.py +102 -0
  417. rapidata/api_client/models/i_user_filter_model_or_user_filter_model.py +106 -0
  418. rapidata/api_client/models/i_user_filter_model_response_count_user_filter_model.py +101 -0
  419. rapidata/api_client/models/i_user_filter_model_user_score_user_filter_model.py +105 -0
  420. rapidata/api_client/models/i_validation_metadata_input.py +140 -0
  421. rapidata/api_client/models/i_validation_metadata_input_prompt_asset_metadata_input.py +100 -0
  422. rapidata/api_client/models/i_validation_metadata_input_prompt_metadata_input.py +96 -0
  423. rapidata/api_client/models/i_validation_truth.py +280 -0
  424. rapidata/api_client/models/i_validation_truth_attach_category_truth.py +96 -0
  425. rapidata/api_client/models/i_validation_truth_bounding_box_truth.py +102 -0
  426. rapidata/api_client/models/i_validation_truth_compare_truth.py +96 -0
  427. rapidata/api_client/models/i_validation_truth_empty_validation_truth.py +94 -0
  428. rapidata/api_client/models/i_validation_truth_line_truth.py +94 -0
  429. rapidata/api_client/models/i_validation_truth_locate_box_truth.py +108 -0
  430. rapidata/api_client/models/i_validation_truth_model.py +294 -0
  431. rapidata/api_client/models/i_validation_truth_model_attach_category_truth_model.py +96 -0
  432. rapidata/api_client/models/i_validation_truth_model_bounding_box_truth_model.py +102 -0
  433. rapidata/api_client/models/i_validation_truth_model_classify_truth_model.py +96 -0
  434. rapidata/api_client/models/i_validation_truth_model_compare_truth_model.py +96 -0
  435. rapidata/api_client/models/i_validation_truth_model_empty_validation_truth_model.py +94 -0
  436. rapidata/api_client/models/i_validation_truth_model_line_truth_model.py +94 -0
  437. rapidata/api_client/models/i_validation_truth_model_locate_box_truth_model.py +108 -0
  438. rapidata/api_client/models/i_validation_truth_model_multi_compare_truth_model.py +96 -0
  439. rapidata/api_client/models/i_validation_truth_model_named_entity_truth_model.py +104 -0
  440. rapidata/api_client/models/i_validation_truth_model_polygon_truth_model.py +94 -0
  441. rapidata/api_client/models/i_validation_truth_model_scrub_truth_model.py +104 -0
  442. rapidata/api_client/models/i_validation_truth_model_skip_truth_model.py +94 -0
  443. rapidata/api_client/models/i_validation_truth_model_transcription_truth_model.py +115 -0
  444. rapidata/api_client/models/i_validation_truth_multi_compare_truth.py +96 -0
  445. rapidata/api_client/models/i_validation_truth_named_entity_truth.py +104 -0
  446. rapidata/api_client/models/i_validation_truth_polygon_truth.py +94 -0
  447. rapidata/api_client/models/i_validation_truth_scrub_truth.py +104 -0
  448. rapidata/api_client/models/i_validation_truth_skip_truth.py +94 -0
  449. rapidata/api_client/models/i_validation_truth_transcription_truth.py +115 -0
  450. rapidata/api_client/models/i_workflow_config.py +168 -0
  451. rapidata/api_client/models/i_workflow_config_compare_workflow_config.py +142 -0
  452. rapidata/api_client/models/i_workflow_config_evaluation_workflow_config.py +114 -0
  453. rapidata/api_client/models/i_workflow_config_grouped_ranking_workflow_config.py +155 -0
  454. rapidata/api_client/models/i_workflow_config_simple_workflow_config.py +116 -0
  455. rapidata/api_client/models/i_workflow_model.py +168 -0
  456. rapidata/api_client/models/i_workflow_model_compare_workflow_model.py +145 -0
  457. rapidata/api_client/models/i_workflow_model_evaluation_workflow_model.py +115 -0
  458. rapidata/api_client/models/i_workflow_model_grouped_ranking_workflow_model.py +121 -0
  459. rapidata/api_client/models/i_workflow_model_simple_workflow_model.py +119 -0
  460. rapidata/api_client/models/image_dimension_metadata.py +12 -1
  461. rapidata/api_client/models/inquire_file_metadata_result.py +100 -0
  462. rapidata/api_client/models/inspect_report_result.py +2 -2
  463. rapidata/api_client/models/job_definition_revision_state.py +38 -0
  464. rapidata/api_client/models/json_web_key.py +224 -0
  465. rapidata/api_client/models/json_web_key_set.py +95 -0
  466. rapidata/api_client/models/labeling_selection.py +11 -13
  467. rapidata/api_client/models/language_filter.py +98 -0
  468. rapidata/api_client/models/leaderboard_query_result.py +135 -0
  469. rapidata/api_client/models/leaderboard_query_result_paged_result.py +105 -0
  470. rapidata/api_client/models/leaderboards_query_result.py +135 -0
  471. rapidata/api_client/models/line_result.py +3 -3
  472. rapidata/api_client/models/line_result_line.py +97 -0
  473. rapidata/api_client/models/line_result_line_point.py +89 -0
  474. rapidata/api_client/models/local_file_wrapper.py +120 -0
  475. rapidata/api_client/models/locate_coordinate.py +4 -13
  476. rapidata/api_client/models/location_metadata.py +12 -1
  477. rapidata/api_client/models/logic_operator.py +2 -2
  478. rapidata/api_client/models/metadata_i_order_metadata_input.py +154 -0
  479. rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_asset_metadata_input.py +100 -0
  480. rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_metadata_input.py +96 -0
  481. rapidata/api_client/models/metadata_i_order_metadata_input_metadata_transcription_metadata_input.py +96 -0
  482. rapidata/api_client/models/metadata_prompt_asset_metadata_input.py +100 -0
  483. rapidata/api_client/models/metadata_prompt_metadata_input.py +96 -0
  484. rapidata/api_client/models/metadata_transcription_metadata_input.py +96 -0
  485. rapidata/api_client/models/multi_asset.py +17 -12
  486. rapidata/api_client/models/multi_asset_assets_inner.py +170 -0
  487. rapidata/api_client/models/multi_asset_input.py +130 -0
  488. rapidata/api_client/models/multi_asset_input1.py +110 -0
  489. rapidata/api_client/models/multi_asset_input1_assets_inner.py +198 -0
  490. rapidata/api_client/models/multi_asset_input2.py +110 -0
  491. rapidata/api_client/models/multi_asset_input3.py +110 -0
  492. rapidata/api_client/models/multi_asset_input3_assets_inner.py +198 -0
  493. rapidata/api_client/models/multi_asset_input_assets_inner.py +156 -0
  494. rapidata/api_client/models/multi_asset_model.py +3 -3
  495. rapidata/api_client/models/multi_compare_truth.py +96 -0
  496. rapidata/api_client/models/naive_referee_info.py +96 -0
  497. rapidata/api_client/models/naive_referee_model.py +2 -2
  498. rapidata/api_client/models/named_classification.py +4 -13
  499. rapidata/api_client/models/never_ending_referee_info.py +94 -0
  500. rapidata/api_client/models/new_user_filter.py +96 -0
  501. rapidata/api_client/models/newsletter_model.py +6 -6
  502. rapidata/api_client/models/not_available_yet_result.py +4 -13
  503. rapidata/api_client/models/not_filter.py +117 -0
  504. rapidata/api_client/models/not_user_filter_model.py +3 -3
  505. rapidata/api_client/models/null_asset.py +14 -9
  506. rapidata/api_client/models/online_pair_maker_config_model.py +3 -3
  507. rapidata/api_client/models/option_of_aggregator_type.py +49 -0
  508. rapidata/api_client/models/or_filter.py +121 -0
  509. rapidata/api_client/models/or_user_filter_model.py +3 -3
  510. rapidata/api_client/models/order_model.py +15 -14
  511. rapidata/api_client/models/order_state.py +2 -2
  512. rapidata/api_client/models/original_filename_metadata.py +12 -1
  513. rapidata/api_client/models/page_info.py +2 -7
  514. rapidata/api_client/models/paged_result_aggregated_orders_model.py +105 -0
  515. rapidata/api_client/models/paged_result_benchmark_query_result.py +105 -0
  516. rapidata/api_client/models/paged_result_campaign_query_result.py +105 -0
  517. rapidata/api_client/models/paged_result_clients_query_result.py +105 -0
  518. rapidata/api_client/models/paged_result_datapoint_model.py +105 -0
  519. rapidata/api_client/models/paged_result_get_compare_workflow_results_result.py +105 -0
  520. rapidata/api_client/models/paged_result_get_grouped_ranking_workflow_results_result.py +105 -0
  521. rapidata/api_client/models/paged_result_get_validation_rapids_result.py +105 -0
  522. rapidata/api_client/models/paged_result_get_workflow_results_result.py +105 -0
  523. rapidata/api_client/models/paged_result_i_workflow_model.py +105 -0
  524. rapidata/api_client/models/paged_result_leaderboard_query_result.py +105 -0
  525. rapidata/api_client/models/paged_result_leaderboards_query_result.py +105 -0
  526. rapidata/api_client/models/paged_result_of_aggregated_orders_model.py +103 -0
  527. rapidata/api_client/models/paged_result_of_benchmark_query_result.py +103 -0
  528. rapidata/api_client/models/paged_result_of_campaign_query_result.py +103 -0
  529. rapidata/api_client/models/paged_result_of_clients_query_result.py +103 -0
  530. rapidata/api_client/models/paged_result_of_get_compare_workflow_results_result.py +103 -0
  531. rapidata/api_client/models/paged_result_of_get_grouped_ranking_workflow_results_result.py +103 -0
  532. rapidata/api_client/models/paged_result_of_get_validation_rapids_result.py +103 -0
  533. rapidata/api_client/models/paged_result_of_get_workflow_results_result.py +103 -0
  534. rapidata/api_client/models/paged_result_of_i_workflow_model.py +103 -0
  535. rapidata/api_client/models/paged_result_of_leaderboards_query_result.py +103 -0
  536. rapidata/api_client/models/paged_result_of_order_model.py +103 -0
  537. rapidata/api_client/models/paged_result_of_participant_by_benchmark.py +103 -0
  538. rapidata/api_client/models/paged_result_of_prompt_by_benchmark_result.py +103 -0
  539. rapidata/api_client/models/paged_result_of_query_audiences_result.py +103 -0
  540. rapidata/api_client/models/paged_result_of_query_datapoints_by_dataset_id_result.py +103 -0
  541. rapidata/api_client/models/paged_result_of_query_job_definitions_result.py +103 -0
  542. rapidata/api_client/models/paged_result_of_query_job_revisions_result.py +103 -0
  543. rapidata/api_client/models/paged_result_of_query_jobs_result.py +103 -0
  544. rapidata/api_client/models/paged_result_of_query_rapids_for_audience_result.py +103 -0
  545. rapidata/api_client/models/paged_result_of_query_validation_rapid_eligibility_result.py +103 -0
  546. rapidata/api_client/models/paged_result_of_rapid_model.py +103 -0
  547. rapidata/api_client/models/paged_result_of_runs_by_leaderboard_result.py +103 -0
  548. rapidata/api_client/models/paged_result_of_sample_by_identifier.py +103 -0
  549. rapidata/api_client/models/paged_result_of_sample_by_participant.py +103 -0
  550. rapidata/api_client/models/paged_result_of_standing_by_leaderboard.py +103 -0
  551. rapidata/api_client/models/paged_result_of_validation_set_model.py +103 -0
  552. rapidata/api_client/models/paged_result_order_model.py +105 -0
  553. rapidata/api_client/models/paged_result_participant_by_benchmark.py +105 -0
  554. rapidata/api_client/models/paged_result_potential_validation_rapid.py +105 -0
  555. rapidata/api_client/models/paged_result_prompt_by_benchmark_result.py +105 -0
  556. rapidata/api_client/models/paged_result_query_audiences_result.py +105 -0
  557. rapidata/api_client/models/paged_result_query_datapoints_by_dataset_id_result.py +105 -0
  558. rapidata/api_client/models/paged_result_query_validation_rapid_eligibility_result.py +105 -0
  559. rapidata/api_client/models/paged_result_rapid_model.py +105 -0
  560. rapidata/api_client/models/paged_result_runs_by_leaderboard_result.py +105 -0
  561. rapidata/api_client/models/paged_result_sample_by_identifier.py +105 -0
  562. rapidata/api_client/models/paged_result_sample_by_participant.py +105 -0
  563. rapidata/api_client/models/paged_result_standing_by_leaderboard.py +105 -0
  564. rapidata/api_client/models/paged_result_validation_set_model.py +105 -0
  565. rapidata/api_client/models/participant_by_benchmark.py +94 -0
  566. rapidata/api_client/models/participant_by_benchmark_paged_result.py +105 -0
  567. rapidata/api_client/models/participant_by_leaderboard.py +113 -0
  568. rapidata/api_client/models/participant_by_leaderboard_paged_result.py +105 -0
  569. rapidata/api_client/models/participant_status.py +38 -0
  570. rapidata/api_client/models/pipeline_id_workflow_config_put_request.py +140 -0
  571. rapidata/api_client/models/polygon_result.py +3 -3
  572. rapidata/api_client/models/polygon_result_coordinate.py +89 -0
  573. rapidata/api_client/models/polygon_result_shape.py +95 -0
  574. rapidata/api_client/models/potential_validation_rapid.py +103 -0
  575. rapidata/api_client/models/potential_validation_rapid_paged_result.py +105 -0
  576. rapidata/api_client/models/potential_validation_rapid_truth.py +280 -0
  577. rapidata/api_client/models/preliminary_download_model.py +5 -5
  578. rapidata/api_client/models/preview_order_model.py +92 -0
  579. rapidata/api_client/models/probabilistic_attach_category_referee_info.py +98 -0
  580. rapidata/api_client/models/problem_details.py +2 -20
  581. rapidata/api_client/models/prompt_asset_metadata_input.py +100 -0
  582. rapidata/api_client/models/prompt_asset_metadata_input_asset.py +154 -0
  583. rapidata/api_client/models/prompt_by_benchmark_result.py +112 -0
  584. rapidata/api_client/models/prompt_by_benchmark_result_paged_result.py +105 -0
  585. rapidata/api_client/models/prompt_by_leaderboard_result.py +90 -0
  586. rapidata/api_client/models/prompt_by_leaderboard_result_paged_result.py +105 -0
  587. rapidata/api_client/models/prompt_metadata.py +12 -1
  588. rapidata/api_client/models/prompt_metadata_input.py +2 -2
  589. rapidata/api_client/models/prompt_type.py +38 -0
  590. rapidata/api_client/models/proxy_file_wrapper.py +129 -0
  591. rapidata/api_client/models/public_order_model.py +2 -2
  592. rapidata/api_client/models/public_rapid_response.py +112 -0
  593. rapidata/api_client/models/query_audiences_result.py +118 -0
  594. rapidata/api_client/models/query_datapoints_by_dataset_id_result.py +95 -0
  595. rapidata/api_client/models/query_job_definitions_result.py +97 -0
  596. rapidata/api_client/models/query_job_revisions_result.py +95 -0
  597. rapidata/api_client/models/query_jobs_result.py +103 -0
  598. rapidata/api_client/models/query_model.py +10 -5
  599. rapidata/api_client/models/query_rapids_for_audience_result.py +150 -0
  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/rapid_issue.py +2 -2
  605. rapidata/api_client/models/rapid_modality.py +46 -0
  606. rapidata/api_client/models/rapid_model.py +157 -0
  607. rapidata/api_client/models/rapid_model_paged_result.py +105 -0
  608. rapidata/api_client/models/rapid_model_referee.py +154 -0
  609. rapidata/api_client/models/rapid_result_model.py +7 -7
  610. rapidata/api_client/models/rapid_skipped_model.py +5 -5
  611. rapidata/api_client/models/rapid_state.py +3 -2
  612. rapidata/api_client/models/read_bridge_token_keys_result.py +10 -24
  613. rapidata/api_client/models/reference_asset_input.py +100 -0
  614. rapidata/api_client/models/report_model.py +9 -15
  615. rapidata/api_client/models/response_count_filter.py +103 -0
  616. rapidata/api_client/models/response_count_user_filter_model.py +2 -8
  617. rapidata/api_client/models/retrieval_mode.py +2 -2
  618. rapidata/api_client/models/root_filter.py +5 -14
  619. rapidata/api_client/models/run_status.py +39 -0
  620. rapidata/api_client/models/runs_by_leaderboard_result.py +104 -0
  621. rapidata/api_client/models/runs_by_leaderboard_result_paged_result.py +105 -0
  622. rapidata/api_client/models/sample_by_identifier.py +125 -0
  623. rapidata/api_client/models/sample_by_identifier_paged_result.py +105 -0
  624. rapidata/api_client/models/sample_by_participant.py +121 -0
  625. rapidata/api_client/models/sample_by_participant_paged_result.py +105 -0
  626. rapidata/api_client/models/scrub_range.py +2 -2
  627. rapidata/api_client/models/send_survey_model.py +87 -0
  628. rapidata/api_client/models/simple_workflow_config.py +15 -7
  629. rapidata/api_client/models/simple_workflow_config_blueprint.py +37 -23
  630. rapidata/api_client/models/simple_workflow_config_model.py +11 -3
  631. rapidata/api_client/models/simple_workflow_model.py +14 -4
  632. rapidata/api_client/models/simple_workflow_model1.py +4 -11
  633. rapidata/api_client/models/simple_workflow_model_blueprint.py +1 -1
  634. rapidata/api_client/models/sort_criterion.py +5 -11
  635. rapidata/api_client/models/sort_direction.py +2 -2
  636. rapidata/api_client/models/source_url_metadata.py +12 -1
  637. rapidata/api_client/models/standing_by_benchmark.py +113 -0
  638. rapidata/api_client/models/standing_by_leaderboard.py +113 -0
  639. rapidata/api_client/models/standing_by_leaderboard_paged_result.py +105 -0
  640. rapidata/api_client/models/standing_status.py +38 -0
  641. rapidata/api_client/models/standings_by_benchmark_result.py +95 -0
  642. rapidata/api_client/models/standings_by_leaderboard_result.py +95 -0
  643. rapidata/api_client/models/start_preliminary_download_result.py +87 -0
  644. rapidata/api_client/models/sticky_state.py +3 -2
  645. rapidata/api_client/models/stream_file_wrapper.py +138 -0
  646. rapidata/api_client/models/streams_metadata.py +113 -0
  647. rapidata/api_client/models/streams_metadata_model.py +100 -0
  648. rapidata/api_client/models/string_segment.py +105 -0
  649. rapidata/api_client/models/submit_coco_model.py +1 -3
  650. rapidata/api_client/models/submit_order_model.py +92 -0
  651. rapidata/api_client/models/submit_participant_result.py +89 -0
  652. rapidata/api_client/models/submit_prompt_model.py +107 -0
  653. rapidata/api_client/models/submit_prompt_model_prompt_asset.py +202 -0
  654. rapidata/api_client/models/tags_by_benchmark_result.py +87 -0
  655. rapidata/api_client/models/text_asset.py +15 -10
  656. rapidata/api_client/models/text_asset_input.py +120 -0
  657. rapidata/api_client/models/text_metadata.py +18 -2
  658. rapidata/api_client/models/text_metadata_input.py +111 -0
  659. rapidata/api_client/models/text_metadata_model.py +7 -2
  660. rapidata/api_client/models/transcription_metadata.py +9 -1
  661. rapidata/api_client/models/transcription_metadata_input.py +2 -2
  662. rapidata/api_client/models/transcription_word.py +2 -2
  663. rapidata/api_client/models/translated_string.py +2 -2
  664. rapidata/api_client/models/unlock_order_result.py +2 -2
  665. rapidata/api_client/models/update_access_model.py +1 -1
  666. rapidata/api_client/models/update_audience_request.py +113 -0
  667. rapidata/api_client/models/update_benchmark_model.py +99 -0
  668. rapidata/api_client/models/update_benchmark_name_model.py +87 -0
  669. rapidata/api_client/models/update_campaign_model.py +11 -11
  670. rapidata/api_client/models/update_dataset_name_model.py +5 -5
  671. rapidata/api_client/models/update_dimensions_model.py +3 -3
  672. rapidata/api_client/models/update_job_definition_endpoint_input.py +92 -0
  673. rapidata/api_client/models/update_job_endpoint_input.py +92 -0
  674. rapidata/api_client/models/update_leaderboard_model.py +106 -0
  675. rapidata/api_client/models/update_leaderboard_name_model.py +87 -0
  676. rapidata/api_client/models/update_leaderboard_response_config_model.py +89 -0
  677. rapidata/api_client/models/update_order_name_model.py +5 -5
  678. rapidata/api_client/models/update_participant_model.py +92 -0
  679. rapidata/api_client/models/update_participant_name_model.py +87 -0
  680. rapidata/api_client/models/update_priority_model.py +87 -0
  681. rapidata/api_client/models/update_prompt_tags_model.py +87 -0
  682. rapidata/api_client/models/update_should_alert_model.py +87 -0
  683. rapidata/api_client/models/update_validation_rapid_model.py +28 -12
  684. rapidata/api_client/models/update_validation_rapid_model_context_asset.py +160 -0
  685. rapidata/api_client/models/update_validation_rapid_model_truth.py +26 -12
  686. rapidata/api_client/models/update_validation_set_model.py +120 -0
  687. rapidata/api_client/models/upload_asset_result.py +102 -0
  688. rapidata/api_client/models/upload_file_from_url_result.py +87 -0
  689. rapidata/api_client/models/upload_file_result.py +87 -0
  690. rapidata/api_client/models/upload_files_from_s3_bucket_model.py +12 -2
  691. rapidata/api_client/models/upload_text_sources_to_dataset_model.py +3 -3
  692. rapidata/api_client/models/url_asset_input.py +100 -0
  693. rapidata/api_client/models/user_action_restriction.py +37 -0
  694. rapidata/api_client/models/user_action_restriction_filter.py +101 -0
  695. rapidata/api_client/models/user_score_filter.py +102 -0
  696. rapidata/api_client/models/user_state.py +38 -0
  697. rapidata/api_client/models/user_state_filter.py +101 -0
  698. rapidata/api_client/models/validation_chance.py +20 -3
  699. rapidata/api_client/models/validation_problem_details.py +117 -0
  700. rapidata/api_client/models/validation_set_model.py +39 -5
  701. rapidata/api_client/models/validation_set_overview_model.py +2 -2
  702. rapidata/api_client/models/validation_set_validation_set_id_rapid_post_payload_parameter.py +252 -0
  703. rapidata/api_client/models/validation_set_validation_set_id_rapid_post_truth_parameter.py +280 -0
  704. rapidata/api_client/models/validation_set_zip_post_request_blueprint.py +252 -0
  705. rapidata/api_client/models/video_duration_metadata.py +109 -0
  706. rapidata/api_client/models/video_duration_metadata_model.py +96 -0
  707. rapidata/api_client/models/vote_matrix_result.py +91 -0
  708. rapidata/api_client/models/workflow_aggregation_step_model.py +3 -12
  709. rapidata/api_client/models/workflow_config_artifact_model_workflow_config.py +23 -9
  710. rapidata/api_client/models/workflow_state.py +2 -2
  711. rapidata/api_client/models/zip_entry_file_wrapper.py +151 -0
  712. rapidata/api_client/rest.py +2 -2
  713. rapidata/api_client_README.md +469 -309
  714. rapidata/rapidata_client/__init__.py +23 -22
  715. rapidata/rapidata_client/api/rapidata_api_client.py +253 -0
  716. rapidata/rapidata_client/audience/__init__.py +2 -0
  717. rapidata/rapidata_client/audience/audience_example_handler.py +168 -0
  718. rapidata/rapidata_client/audience/rapidata_audience.py +287 -0
  719. rapidata/rapidata_client/audience/rapidata_audience_manager.py +162 -0
  720. rapidata/rapidata_client/benchmark/__init__.py +0 -0
  721. rapidata/rapidata_client/benchmark/_detail_mapper.py +34 -0
  722. rapidata/rapidata_client/benchmark/leaderboard/__init__.py +0 -0
  723. rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py +257 -0
  724. rapidata/rapidata_client/benchmark/participant/__init__.py +0 -0
  725. rapidata/rapidata_client/benchmark/participant/_participant.py +146 -0
  726. rapidata/rapidata_client/benchmark/rapidata_benchmark.py +592 -0
  727. rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py +216 -0
  728. rapidata/rapidata_client/config/__init__.py +4 -0
  729. rapidata/rapidata_client/config/logger.py +135 -0
  730. rapidata/rapidata_client/config/logging_config.py +55 -0
  731. rapidata/rapidata_client/config/managed_print.py +6 -0
  732. rapidata/rapidata_client/config/order_config.py +14 -0
  733. rapidata/rapidata_client/config/rapidata_config.py +36 -0
  734. rapidata/rapidata_client/config/tracer.py +184 -0
  735. rapidata/rapidata_client/config/upload_config.py +64 -0
  736. rapidata/rapidata_client/datapoints/__init__.py +8 -0
  737. rapidata/rapidata_client/datapoints/_asset_uploader.py +194 -0
  738. rapidata/rapidata_client/datapoints/_datapoint.py +92 -0
  739. rapidata/rapidata_client/datapoints/_datapoint_uploader.py +47 -0
  740. rapidata/rapidata_client/datapoints/_datapoints_validator.py +70 -0
  741. rapidata/rapidata_client/datapoints/_single_flight_cache.py +82 -0
  742. rapidata/rapidata_client/datapoints/assets/__init__.py +0 -0
  743. rapidata/rapidata_client/datapoints/assets/constants.py +7 -0
  744. rapidata/rapidata_client/{metadata → datapoints/metadata}/__init__.py +1 -1
  745. rapidata/rapidata_client/datapoints/metadata/_private_text_metadata.py +16 -0
  746. rapidata/rapidata_client/datapoints/metadata/_prompt_identifier_metadata.py +14 -0
  747. rapidata/rapidata_client/datapoints/metadata/_public_text_metadata.py +16 -0
  748. rapidata/rapidata_client/{metadata → datapoints/metadata}/_select_words_metadata.py +4 -5
  749. rapidata/rapidata_client/dataset/__init__.py +1 -0
  750. rapidata/rapidata_client/dataset/_rapidata_dataset.py +55 -0
  751. rapidata/rapidata_client/demographic/demographic_manager.py +44 -19
  752. rapidata/rapidata_client/exceptions/__init__.py +1 -0
  753. rapidata/rapidata_client/exceptions/failed_upload_exception.py +27 -0
  754. rapidata/rapidata_client/filter/__init__.py +3 -0
  755. rapidata/rapidata_client/filter/_backend_filter_mapper.py +134 -0
  756. rapidata/rapidata_client/filter/_base_filter.py +58 -2
  757. rapidata/rapidata_client/filter/age_filter.py +26 -10
  758. rapidata/rapidata_client/filter/and_filter.py +55 -0
  759. rapidata/rapidata_client/filter/campaign_filter.py +21 -10
  760. rapidata/rapidata_client/filter/country_filter.py +46 -12
  761. rapidata/rapidata_client/filter/custom_filter.py +25 -12
  762. rapidata/rapidata_client/filter/device_filter.py +38 -0
  763. rapidata/rapidata_client/filter/gender_filter.py +25 -10
  764. rapidata/rapidata_client/filter/language_filter.py +51 -21
  765. rapidata/rapidata_client/filter/models/age_group.py +14 -12
  766. rapidata/rapidata_client/filter/models/device_type.py +20 -0
  767. rapidata/rapidata_client/filter/models/gender.py +12 -8
  768. rapidata/rapidata_client/filter/new_user_filter.py +14 -4
  769. rapidata/rapidata_client/filter/not_filter.py +35 -11
  770. rapidata/rapidata_client/filter/or_filter.py +36 -11
  771. rapidata/rapidata_client/filter/rapidata_filters.py +30 -25
  772. rapidata/rapidata_client/filter/response_count_filter.py +51 -20
  773. rapidata/rapidata_client/filter/user_score_filter.py +62 -24
  774. rapidata/rapidata_client/job/__init__.py +3 -0
  775. rapidata/rapidata_client/job/job_definition.py +110 -0
  776. rapidata/rapidata_client/job/job_manager.py +758 -0
  777. rapidata/rapidata_client/job/rapidata_job.py +326 -0
  778. rapidata/rapidata_client/order/__init__.py +2 -0
  779. rapidata/rapidata_client/order/_rapidata_order_builder.py +286 -193
  780. rapidata/rapidata_client/order/rapidata_order.py +329 -153
  781. rapidata/rapidata_client/order/rapidata_order_manager.py +722 -420
  782. rapidata/rapidata_client/rapidata_client.py +130 -26
  783. rapidata/rapidata_client/referee/__init__.py +1 -1
  784. rapidata/rapidata_client/referee/_base_referee.py +14 -3
  785. rapidata/rapidata_client/referee/_early_stopping_referee.py +32 -17
  786. rapidata/rapidata_client/referee/_naive_referee.py +24 -3
  787. rapidata/rapidata_client/results/__init__.py +3 -0
  788. rapidata/rapidata_client/{order → results}/rapidata_results.py +98 -67
  789. rapidata/rapidata_client/selection/__init__.py +2 -1
  790. rapidata/rapidata_client/selection/_base_selection.py +9 -2
  791. rapidata/rapidata_client/selection/ab_test_selection.py +28 -20
  792. rapidata/rapidata_client/selection/capped_selection.py +23 -16
  793. rapidata/rapidata_client/selection/conditional_validation_selection.py +43 -24
  794. rapidata/rapidata_client/selection/demographic_selection.py +21 -6
  795. rapidata/rapidata_client/selection/effort_selection.py +49 -0
  796. rapidata/rapidata_client/selection/labeling_selection.py +36 -12
  797. rapidata/rapidata_client/selection/{retrieval_modes.py → rapidata_retrieval_modes.py} +10 -7
  798. rapidata/rapidata_client/selection/rapidata_selections.py +31 -21
  799. rapidata/rapidata_client/selection/shuffling_selection.py +21 -13
  800. rapidata/rapidata_client/selection/static_selection.py +20 -9
  801. rapidata/rapidata_client/selection/validation_selection.py +20 -4
  802. rapidata/rapidata_client/settings/__init__.py +4 -1
  803. rapidata/rapidata_client/settings/_rapidata_setting.py +22 -3
  804. rapidata/rapidata_client/settings/alert_on_fast_response.py +8 -5
  805. rapidata/rapidata_client/settings/allow_neither_both.py +17 -0
  806. rapidata/rapidata_client/settings/custom_setting.py +3 -2
  807. rapidata/rapidata_client/settings/free_text_minimum_characters.py +9 -4
  808. rapidata/rapidata_client/settings/models/translation_behaviour_options.py +3 -2
  809. rapidata/rapidata_client/settings/mute_video.py +15 -0
  810. rapidata/rapidata_client/settings/no_shuffle.py +4 -2
  811. rapidata/rapidata_client/settings/play_video_until_the_end.py +7 -4
  812. rapidata/rapidata_client/settings/rapidata_settings.py +28 -16
  813. rapidata/rapidata_client/settings/swap_context_instruction.py +20 -0
  814. rapidata/rapidata_client/settings/translation_behaviour.py +7 -5
  815. rapidata/rapidata_client/utils/__init__.py +3 -0
  816. rapidata/rapidata_client/utils/threaded_uploader.py +153 -0
  817. rapidata/rapidata_client/validation/__init__.py +2 -0
  818. rapidata/rapidata_client/validation/rapidata_validation_set.py +106 -12
  819. rapidata/rapidata_client/validation/rapids/__init__.py +2 -0
  820. rapidata/rapidata_client/validation/rapids/_validation_rapid_uploader.py +48 -0
  821. rapidata/rapidata_client/validation/rapids/box.py +37 -12
  822. rapidata/rapidata_client/validation/rapids/rapids.py +29 -104
  823. rapidata/rapidata_client/validation/rapids/rapids_manager.py +371 -214
  824. rapidata/rapidata_client/validation/validation_set_manager.py +529 -227
  825. rapidata/rapidata_client/workflow/__init__.py +2 -2
  826. rapidata/rapidata_client/workflow/_base_workflow.py +25 -7
  827. rapidata/rapidata_client/workflow/_classify_workflow.py +58 -15
  828. rapidata/rapidata_client/workflow/_compare_workflow.py +44 -9
  829. rapidata/rapidata_client/workflow/_draw_workflow.py +40 -10
  830. rapidata/rapidata_client/workflow/_evaluation_workflow.py +28 -7
  831. rapidata/rapidata_client/workflow/_free_text_workflow.py +46 -9
  832. rapidata/rapidata_client/workflow/_locate_workflow.py +40 -10
  833. rapidata/rapidata_client/workflow/_multi_ranking_workflow.py +90 -0
  834. rapidata/rapidata_client/workflow/_select_words_workflow.py +51 -11
  835. rapidata/rapidata_client/workflow/_timestamp_workflow.py +42 -11
  836. rapidata/service/__init__.py +0 -1
  837. rapidata/service/credential_manager.py +18 -18
  838. rapidata/service/openapi_service.py +128 -28
  839. rapidata/types/__init__.py +149 -0
  840. rapidata-3.0.1.dist-info/METADATA +32 -0
  841. rapidata-3.0.1.dist-info/RECORD +1089 -0
  842. {rapidata-2.23.2.dist-info → rapidata-3.0.1.dist-info}/WHEEL +1 -1
  843. rapidata/rapidata_client/api/rapidata_exception.py +0 -107
  844. rapidata/rapidata_client/assets/__init__.py +0 -10
  845. rapidata/rapidata_client/assets/_base_asset.py +0 -11
  846. rapidata/rapidata_client/assets/_media_asset.py +0 -306
  847. rapidata/rapidata_client/assets/_multi_asset.py +0 -66
  848. rapidata/rapidata_client/assets/_sessions.py +0 -35
  849. rapidata/rapidata_client/assets/_text_asset.py +0 -34
  850. rapidata/rapidata_client/assets/data_type_enum.py +0 -7
  851. rapidata/rapidata_client/country_codes/__init__.py +0 -1
  852. rapidata/rapidata_client/country_codes/country_codes.py +0 -19
  853. rapidata/rapidata_client/logging/__init__.py +0 -2
  854. rapidata/rapidata_client/logging/logger.py +0 -47
  855. rapidata/rapidata_client/logging/output_manager.py +0 -16
  856. rapidata/rapidata_client/metadata/_private_text_metadata.py +0 -17
  857. rapidata/rapidata_client/metadata/_prompt_metadata.py +0 -18
  858. rapidata/rapidata_client/metadata/_public_text_metadata.py +0 -17
  859. rapidata/rapidata_client/order/_rapidata_dataset.py +0 -443
  860. rapidata/rapidata_client/workflow/_ranking_workflow.py +0 -51
  861. rapidata/service/local_file_service.py +0 -25
  862. rapidata-2.23.2.dist-info/METADATA +0 -34
  863. rapidata-2.23.2.dist-info/RECORD +0 -523
  864. /rapidata/rapidata_client/{metadata → datapoints/metadata}/_base_metadata.py +0 -0
  865. {rapidata-2.23.2.dist-info → rapidata-3.0.1.dist-info/licenses}/LICENSE +0 -0
@@ -1,77 +1,103 @@
1
+ from __future__ import annotations
2
+
1
3
  import os
2
- from rapidata.api_client import AttachCategoryTruth, BoundingBoxTruth, BoxShape, ClassifyPayload, ComparePayload, CompareTruth, LinePayload, LocateBoxTruth, LocatePayload, ScrubPayload, ScrubRange, ScrubTruth, TranscriptionPayload, TranscriptionTruth, TranscriptionWord
3
- from rapidata.rapidata_client.assets.data_type_enum import RapidataDataTypes
4
- from rapidata.rapidata_client.assets import MediaAsset, TextAsset, MultiAsset
5
- from rapidata.rapidata_client.metadata import Metadata
6
- from rapidata.rapidata_client.validation.rapids.box import Box
4
+ from typing import Literal, TYPE_CHECKING
7
5
 
8
- from typing import Sequence
6
+ if TYPE_CHECKING:
7
+ from rapidata.rapidata_client.validation.rapids.rapids import Rapid
8
+ from rapidata.service.openapi_service import OpenAPIService
9
+
10
+ from rapidata.rapidata_client.validation.rapids.box import Box
9
11
 
10
- from rapidata.rapidata_client.validation.rapids.rapids import Rapid
11
12
 
12
13
  class RapidsManager:
13
14
  """
14
15
  Can be used to build different types of rapids. That can then be added to Validation sets
15
16
  """
16
- def __init__(self):
17
- pass
18
-
19
- def classification_rapid(self,
20
- instruction: str,
21
- answer_options: list[str],
22
- datapoint: str,
23
- truths: list[str],
24
- data_type: str = RapidataDataTypes.MEDIA,
25
- metadata: Sequence[Metadata] = [],
26
- explanation: str | None = None,
17
+
18
+ def __init__(self, openapi_service: OpenAPIService):
19
+ self._openapi_service = openapi_service
20
+
21
+ def classification_rapid(
22
+ self,
23
+ instruction: str,
24
+ answer_options: list[str],
25
+ datapoint: str,
26
+ truths: list[str],
27
+ data_type: Literal["media", "text"] = "media",
28
+ context: str | None = None,
29
+ media_context: str | None = None,
30
+ explanation: str | None = None,
27
31
  ) -> Rapid:
28
32
  """Build a classification rapid
29
-
33
+
30
34
  Args:
31
35
  instruction (str): The instruction/question to be shown to the labeler.
32
36
  answer_options (list[str]): The options that the labeler can choose from to answer the question.
33
37
  datapoint (str): The datapoint that the labeler will be labeling.
34
38
  truths (list[str]): The correct answers to the question.
35
- data_type (str, optional): The type of the datapoint. Defaults to RapidataDataTypes.MEDIA.
36
- metadata (Sequence[Metadata], optional): The metadata that is attached to the rapid. Defaults to [].
39
+ data_type (str, optional): The type of the datapoint. Defaults to "media" (any form of image, video or audio).
40
+ context (str, optional): The context is text that will be shown in addition to the instruction. Defaults to None.
41
+ media_context (str, optional): The media context is a link to an image / video that will be shown in addition to the instruction (can be combined with context). Defaults to None.
42
+ explanation (str, optional): The explanation that will be shown to the labeler if the answer is wrong. Defaults to None.
37
43
  """
38
-
39
- if data_type == RapidataDataTypes.MEDIA:
40
- asset = MediaAsset(datapoint)
41
- elif data_type == RapidataDataTypes.TEXT:
42
- asset = TextAsset(datapoint)
43
- else:
44
- raise ValueError(f"Unsupported data type: {data_type}")
44
+ from rapidata.api_client.models.i_rapid_payload import IRapidPayload
45
+ from rapidata.api_client.models.i_rapid_payload_classify_payload import (
46
+ IRapidPayloadClassifyPayload,
47
+ )
48
+ from rapidata.api_client.models.classify_payload_category import (
49
+ ClassifyPayloadCategory,
50
+ )
51
+ from rapidata.api_client.models.i_validation_truth_model import (
52
+ IValidationTruthModel,
53
+ )
54
+ from rapidata.api_client.models.i_validation_truth_model_attach_category_truth_model import (
55
+ IValidationTruthModelAttachCategoryTruthModel,
56
+ )
57
+ from rapidata.rapidata_client.validation.rapids.rapids import Rapid
45
58
 
46
59
  if not isinstance(truths, list):
47
60
  raise ValueError("Truths must be a list of strings")
48
-
61
+
49
62
  if not all(truth in answer_options for truth in truths):
50
63
  raise ValueError("Truths must be part of the answer options")
51
64
 
52
- payload = ClassifyPayload(
53
- _t="ClassifyPayload", possibleCategories=answer_options, title=instruction
65
+ payload = IRapidPayload(
66
+ actual_instance=IRapidPayloadClassifyPayload(
67
+ _t="ClassifyPayload",
68
+ categories=[
69
+ ClassifyPayloadCategory(label=option, value=option)
70
+ for option in answer_options
71
+ ],
72
+ title=instruction,
73
+ )
54
74
  )
55
- model_truth = AttachCategoryTruth(
56
- correctCategories=truths, _t="AttachCategoryTruth"
75
+ model_truth = IValidationTruthModel(
76
+ actual_instance=IValidationTruthModelAttachCategoryTruthModel(
77
+ correctCategories=truths, _t="AttachCategoryTruth"
78
+ )
57
79
  )
58
80
 
59
81
  return Rapid(
60
- asset=asset,
61
- metadata=metadata,
62
- explanation=explanation,
63
- payload=payload,
64
- truth=model_truth,
65
- randomCorrectProbability=len(truths) / len(answer_options)
66
- )
67
-
68
- def compare_rapid(self,
69
- instruction: str,
70
- truth: str,
71
- datapoint: list[str],
72
- data_type: str = RapidataDataTypes.MEDIA,
73
- metadata: Sequence[Metadata] = [],
74
- explanation: str | None = None,
82
+ asset=datapoint,
83
+ data_type=data_type,
84
+ context=context,
85
+ media_context=media_context,
86
+ explanation=explanation,
87
+ payload=payload,
88
+ truth=model_truth,
89
+ random_correct_probability=len(truths) / len(answer_options),
90
+ )
91
+
92
+ def compare_rapid(
93
+ self,
94
+ instruction: str,
95
+ truth: str,
96
+ datapoint: list[str],
97
+ data_type: Literal["media", "text"] = "media",
98
+ context: str | None = None,
99
+ media_context: str | None = None,
100
+ explanation: str | None = None,
75
101
  ) -> Rapid:
76
102
  """Build a compare rapid
77
103
 
@@ -79,46 +105,58 @@ class RapidsManager:
79
105
  instruction (str): The instruction that the labeler will be comparing the assets on.
80
106
  truth (str): The correct answer to the comparison. (has to be one of the assets)
81
107
  datapoint (list[str]): The two assets that the labeler will be comparing.
82
- data_type (str, optional): The type of the datapoint. Defaults to RapidataDataTypes.MEDIA.
83
- metadata (Sequence[Metadata], optional): The metadata that is attached to the rapid. Defaults to [].
108
+ data_type (str, optional): The type of the datapoint. Defaults to "media" (any form of image, video or audio).
109
+ context (str, optional): The context is text that will be shown in addition to the instruction. Defaults to None.
110
+ media_context (str, optional): The media context is a link to an image / video that will be shown in addition to the instruction (can be combined with context). Defaults to None.
111
+ explanation (str, optional): The explanation that will be shown to the labeler if the answer is wrong. Defaults to None.
84
112
  """
113
+ from rapidata.api_client.models.i_rapid_payload import IRapidPayload
114
+ from rapidata.api_client.models.i_rapid_payload_compare_payload import (
115
+ IRapidPayloadComparePayload,
116
+ )
117
+ from rapidata.api_client.models.i_validation_truth_model import (
118
+ IValidationTruthModel,
119
+ )
120
+ from rapidata.api_client.models.i_validation_truth_model_compare_truth_model import (
121
+ IValidationTruthModelCompareTruthModel,
122
+ )
123
+ from rapidata.rapidata_client.validation.rapids.rapids import Rapid
85
124
 
86
- if data_type == RapidataDataTypes.MEDIA:
87
- assets = [MediaAsset(image) for image in datapoint]
88
- elif data_type == RapidataDataTypes.TEXT:
89
- assets = [TextAsset(text) for text in datapoint]
90
- else:
91
- raise ValueError(f"Unsupported data type: {data_type}")
92
-
93
- asset = MultiAsset(assets)
94
-
95
- payload = ComparePayload(_t="ComparePayload", criteria=instruction)
96
- # take only last part of truth path
97
- truth = os.path.basename(truth)
98
- model_truth = CompareTruth(_t="CompareTruth", winnerId=truth)
99
-
100
- if len(asset) != 2:
101
- raise ValueError("Compare rapid requires exactly two media paths")
125
+ payload = IRapidPayload(
126
+ actual_instance=IRapidPayloadComparePayload(
127
+ _t="ComparePayload", criteria=instruction
128
+ )
129
+ )
130
+ truth_basename = os.path.basename(truth)
131
+ model_truth = IValidationTruthModel(
132
+ actual_instance=IValidationTruthModelCompareTruthModel(
133
+ _t="CompareTruth", winnerId=truth_basename
134
+ )
135
+ )
102
136
 
137
+ if len(datapoint) != 2:
138
+ raise ValueError("Compare rapid requires exactly two media paths")
103
139
 
104
140
  return Rapid(
105
- asset=asset,
106
- truth=model_truth,
107
- metadata=metadata,
108
- payload=payload,
109
- explanation=explanation,
110
- randomCorrectProbability= 1 / len(asset.assets)
111
- )
112
-
113
- def select_words_rapid(self,
114
- instruction: str,
115
- truths: list[int],
116
- datapoint: str,
117
- sentence: str,
118
- required_precision: float = 1,
119
- required_completeness: float = 1,
120
- metadata: Sequence[Metadata] = [],
121
- explanation: str | None = None,
141
+ asset=datapoint,
142
+ data_type=data_type,
143
+ truth=model_truth,
144
+ context=context,
145
+ media_context=media_context,
146
+ payload=payload,
147
+ explanation=explanation,
148
+ random_correct_probability=0.5,
149
+ )
150
+
151
+ def select_words_rapid(
152
+ self,
153
+ instruction: str,
154
+ truths: list[int],
155
+ datapoint: str,
156
+ sentence: str,
157
+ required_precision: float = 1,
158
+ required_completeness: float = 1,
159
+ explanation: str | None = None,
122
160
  ) -> Rapid:
123
161
  """Build a select words rapid
124
162
 
@@ -129,10 +167,21 @@ class RapidsManager:
129
167
  sentence (str): The sentence that the labeler will be selecting words from. (split up by spaces)
130
168
  required_precision (float): The required precision for the labeler to get the rapid correct (minimum ratio of the words selected that need to be correct). defaults to 1. (no wrong words can be selected)
131
169
  required_completeness (float): The required completeness for the labeler to get the rapid correct (miminum ratio of total correct words selected). defaults to 1. (all correct words need to be selected)
132
- metadata (Sequence[Metadata], optional): The metadata that is attached to the rapid. Defaults to [].
170
+ explanation (str, optional): The explanation that will be shown to the labeler if the answer is wrong. Defaults to None.
133
171
  """
134
-
135
- asset = MediaAsset(datapoint)
172
+ from rapidata.api_client.models.i_rapid_payload import IRapidPayload
173
+ from rapidata.api_client.models.i_rapid_payload_transcription_payload import (
174
+ IRapidPayloadTranscriptionPayload,
175
+ )
176
+ from rapidata.api_client.models.transcription_word import TranscriptionWord
177
+ from rapidata.api_client.models.i_validation_truth_model import (
178
+ IValidationTruthModel,
179
+ )
180
+ from rapidata.api_client.models.i_validation_truth_model_transcription_truth_model import (
181
+ IValidationTruthModelTranscriptionTruthModel,
182
+ )
183
+ from rapidata.rapidata_client.validation.rapids.rapids import Rapid
184
+
136
185
  transcription_words = [
137
186
  TranscriptionWord(word=word, wordIndex=i)
138
187
  for i, word in enumerate(sentence.split(" "))
@@ -144,32 +193,41 @@ class RapidsManager:
144
193
  TranscriptionWord(word=transcription_words[index].word, wordIndex=index)
145
194
  )
146
195
 
147
- payload = TranscriptionPayload(
148
- _t="TranscriptionPayload", title=instruction, transcription=transcription_words
196
+ payload = IRapidPayload(
197
+ actual_instance=IRapidPayloadTranscriptionPayload(
198
+ _t="TranscriptionPayload",
199
+ title=instruction,
200
+ transcription=transcription_words,
201
+ )
149
202
  )
150
203
 
151
- model_truth = TranscriptionTruth(
152
- _t="TranscriptionTruth",
153
- correctWords=correct_transcription_words,
154
- requiredPrecision=required_precision,
155
- requiredCompleteness=required_completeness,
204
+ model_truth = IValidationTruthModel(
205
+ actual_instance=IValidationTruthModelTranscriptionTruthModel(
206
+ _t="TranscriptionTruth",
207
+ correctWords=correct_transcription_words,
208
+ requiredPrecision=required_precision,
209
+ requiredCompleteness=required_completeness,
210
+ )
156
211
  )
157
212
 
158
213
  return Rapid(
159
- payload=payload,
160
- truth=model_truth,
161
- asset=asset,
162
- metadata=metadata,
163
- explanation=explanation,
164
- randomCorrectProbability= len(correct_transcription_words) / len(transcription_words)
165
- )
166
-
167
- def locate_rapid(self,
168
- instruction: str,
169
- truths: list[Box],
170
- datapoint: str,
171
- metadata: Sequence[Metadata] = [],
172
- explanation: str | None = None,
214
+ payload=payload,
215
+ truth=model_truth,
216
+ asset=datapoint,
217
+ sentence=sentence,
218
+ explanation=explanation,
219
+ random_correct_probability=len(correct_transcription_words)
220
+ / len(transcription_words),
221
+ )
222
+
223
+ def locate_rapid(
224
+ self,
225
+ instruction: str,
226
+ truths: list[Box],
227
+ datapoint: str,
228
+ context: str | None = None,
229
+ media_context: str | None = None,
230
+ explanation: str | None = None,
173
231
  ) -> Rapid:
174
232
  """Build a locate rapid
175
233
 
@@ -177,47 +235,57 @@ class RapidsManager:
177
235
  instruction (str): The instruction on what the labeler should do.
178
236
  truths (list[Box]): The bounding boxes of the object that the labeler ought to be locating.
179
237
  datapoint (str): The asset that the labeler will be locating the object in.
180
- metadata (Sequence[Metadata], optional): The metadata that is attached to the rapid. Defaults to [].
238
+ context (str, optional): The context is text that will be shown in addition to the instruction. Defaults to None.
239
+ media_context (str, optional): The media context is a link to an image / video that will be shown in addition to the instruction (can be combined with context). Defaults to None.
240
+ explanation (str, optional): The explanation that will be shown to the labeler if the answer is wrong. Defaults to None.
181
241
  """
182
-
183
- asset = MediaAsset(datapoint)
184
- payload = LocatePayload(
185
- _t="LocatePayload", target=instruction
242
+ from rapidata.api_client.models.i_rapid_payload import IRapidPayload
243
+ from rapidata.api_client.models.i_rapid_payload_locate_payload import (
244
+ IRapidPayloadLocatePayload,
186
245
  )
246
+ from rapidata.api_client.models.i_validation_truth_model import (
247
+ IValidationTruthModel,
248
+ )
249
+ from rapidata.api_client.models.i_validation_truth_model_locate_box_truth_model import (
250
+ IValidationTruthModelLocateBoxTruthModel,
251
+ )
252
+ from rapidata.rapidata_client.validation.rapids.rapids import Rapid
187
253
 
188
- img_dimensions = asset.get_image_dimension()
189
-
190
- if not img_dimensions:
191
- raise ValueError("Failed to get image dimensions")
254
+ payload = IRapidPayload(
255
+ actual_instance=IRapidPayloadLocatePayload(
256
+ _t="LocatePayload", target=instruction
257
+ )
258
+ )
192
259
 
193
- model_truth = LocateBoxTruth(
194
- _t="LocateBoxTruth",
195
- boundingBoxes=[BoxShape(
196
- _t="BoxShape",
197
- xMin=truth.x_min / img_dimensions[0] * 100,
198
- xMax=truth.x_max / img_dimensions[0] * 100,
199
- yMax=truth.y_max / img_dimensions[1] * 100,
200
- yMin=truth.y_min / img_dimensions[1] * 100,
201
- ) for truth in truths]
260
+ model_truth = IValidationTruthModel(
261
+ actual_instance=IValidationTruthModelLocateBoxTruthModel(
262
+ _t="LocateBoxTruth",
263
+ boundingBoxes=[truth.to_model() for truth in truths],
264
+ )
202
265
  )
203
266
 
204
- coverage = self._calculate_boxes_coverage(truths, img_dimensions[0], img_dimensions[1])
267
+ coverage = self._calculate_boxes_coverage(
268
+ truths,
269
+ )
205
270
 
206
271
  return Rapid(
207
- payload=payload,
208
- truth=model_truth,
209
- asset=asset,
210
- metadata=metadata,
211
- explanation=explanation,
212
- randomCorrectProbability=coverage
213
- )
214
-
215
- def draw_rapid(self,
216
- instruction: str,
217
- truths: list[Box],
218
- datapoint: str,
219
- metadata: Sequence[Metadata] = [],
220
- explanation: str | None = None
272
+ payload=payload,
273
+ truth=model_truth,
274
+ asset=datapoint,
275
+ context=context,
276
+ media_context=media_context,
277
+ explanation=explanation,
278
+ random_correct_probability=coverage,
279
+ )
280
+
281
+ def draw_rapid(
282
+ self,
283
+ instruction: str,
284
+ truths: list[Box],
285
+ datapoint: str,
286
+ context: str | None = None,
287
+ media_context: str | None = None,
288
+ explanation: str | None = None,
221
289
  ) -> Rapid:
222
290
  """Build a draw rapid
223
291
 
@@ -225,46 +293,60 @@ class RapidsManager:
225
293
  instruction (str): The instructions on what the labeler
226
294
  truths (list[Box]): The bounding boxes of the object that the labeler ought to be drawing.
227
295
  datapoint (str): The asset that the labeler will be drawing the object in.
228
- metadata (Sequence[Metadata], optional): The metadata that is attached to the rapid. Defaults to [].
296
+ context (str, optional): The context is text that will be shown in addition to the instruction. Defaults to None.
297
+ media_context (str, optional): The media context is a link to an image / video that will be shown in addition to the instruction (can be combined with context). Defaults to None.
298
+ explanation (str, optional): The explanation that will be shown to the labeler if the answer is wrong. Defaults to None.
229
299
  """
230
-
231
- asset = MediaAsset(datapoint)
232
-
233
- payload = LinePayload(
234
- _t="LinePayload", target=instruction
300
+ from rapidata.api_client.models.i_rapid_payload import IRapidPayload
301
+ from rapidata.api_client.models.i_rapid_payload_line_payload import (
302
+ IRapidPayloadLinePayload,
235
303
  )
304
+ from rapidata.api_client.models.i_validation_truth_model import (
305
+ IValidationTruthModel,
306
+ )
307
+ from rapidata.api_client.models.i_validation_truth_model_bounding_box_truth_model import (
308
+ IValidationTruthModelBoundingBoxTruthModel,
309
+ )
310
+ from rapidata.rapidata_client.validation.rapids.rapids import Rapid
236
311
 
237
- img_dimensions = asset.get_image_dimension()
238
-
239
- if not img_dimensions:
240
- raise ValueError("Failed to get image dimensions")
312
+ payload = IRapidPayload(
313
+ actual_instance=IRapidPayloadLinePayload(
314
+ _t="LinePayload", target=instruction
315
+ )
316
+ )
241
317
 
242
- model_truth = BoundingBoxTruth(
243
- _t="BoundingBoxTruth",
244
- xMax=truths[0].x_max / img_dimensions[0] * 100,
245
- xMin=truths[0].x_min / img_dimensions[0] * 100,
246
- yMax=truths[0].y_max / img_dimensions[1] * 100,
247
- yMin=truths[0].y_min / img_dimensions[1] * 100,
318
+ model_truth = IValidationTruthModel(
319
+ actual_instance=IValidationTruthModelBoundingBoxTruthModel(
320
+ _t="BoundingBoxTruth",
321
+ xMax=truths[0].x_max * 100,
322
+ xMin=truths[0].x_min * 100,
323
+ yMax=truths[0].y_max * 100,
324
+ yMin=truths[0].y_min * 100,
325
+ )
248
326
  )
249
327
 
250
- coverage = self._calculate_boxes_coverage(truths, img_dimensions[0], img_dimensions[1])
328
+ coverage = self._calculate_boxes_coverage(
329
+ truths,
330
+ )
251
331
 
252
332
  return Rapid(
253
333
  payload=payload,
254
334
  truth=model_truth,
255
- asset=asset,
256
- metadata=metadata,
335
+ asset=datapoint,
336
+ context=context,
337
+ media_context=media_context,
257
338
  explanation=explanation,
258
- randomCorrectProbability=coverage
339
+ random_correct_probability=coverage,
259
340
  )
260
341
 
261
-
262
- def timestamp_rapid(self,
263
- instruction: str,
264
- truths: list[tuple[int, int]],
265
- datapoint: str,
266
- metadata: Sequence[Metadata] = [],
267
- explanation: str | None = None
342
+ def timestamp_rapid(
343
+ self,
344
+ instruction: str,
345
+ truths: list[tuple[int, int]],
346
+ datapoint: str,
347
+ context: str | None = None,
348
+ media_context: str | None = None,
349
+ explanation: str | None = None,
268
350
  ) -> Rapid:
269
351
  """Build a timestamp rapid
270
352
 
@@ -273,90 +355,165 @@ class RapidsManager:
273
355
  truths (list[tuple[int, int]]): The possible accepted timestamps intervals for the labeler (in miliseconds).
274
356
  The first element of the tuple is the start of the interval and the second element is the end of the interval.
275
357
  datapoint (str): The asset that the labeler will be timestamping.
276
- metadata (Sequence[Metadata], optional): The metadata that is attached to the rapid. Defaults to [].
358
+ context (str, optional): The context is text that will be shown in addition to the instruction. Defaults to None.
359
+ media_context (str, optional): The media context is a link to an image / video that will be shown in addition to the instruction (can be combined with context). Defaults to None.
360
+ explanation (str, optional): The explanation that will be shown to the labeler if the answer is wrong. Defaults to None.
277
361
  """
278
-
279
- asset = MediaAsset(datapoint)
280
-
362
+ from rapidata.api_client.models.i_rapid_payload import IRapidPayload
363
+ from rapidata.api_client.models.i_rapid_payload_scrub_payload import (
364
+ IRapidPayloadScrubPayload,
365
+ )
366
+ from rapidata.api_client.models.scrub_range import ScrubRange
367
+ from rapidata.api_client.models.i_validation_truth_model import (
368
+ IValidationTruthModel,
369
+ )
370
+ from rapidata.api_client.models.i_validation_truth_model_scrub_truth_model import (
371
+ IValidationTruthModelScrubTruthModel,
372
+ )
373
+ from rapidata.rapidata_client.validation.rapids.rapids import Rapid
374
+
281
375
  for truth in truths:
282
376
  if len(truth) != 2:
283
- raise ValueError("The truths per datapoint must be a tuple of exactly two integers.")
377
+ raise ValueError(
378
+ "The truths per datapoint must be a tuple of exactly two integers."
379
+ )
284
380
  if truth[0] > truth[1]:
285
- raise ValueError("The start of the interval must be smaller than the end of the interval.")
286
-
287
- payload = ScrubPayload(
288
- _t="ScrubPayload",
289
- target=instruction
381
+ raise ValueError(
382
+ "The start of the interval must be smaller than the end of the interval."
383
+ )
384
+
385
+ payload = IRapidPayload(
386
+ actual_instance=IRapidPayloadScrubPayload(
387
+ _t="ScrubPayload", target=instruction
388
+ )
290
389
  )
291
390
 
292
- model_truth = ScrubTruth(
293
- _t="ScrubTruth",
294
- validRanges=[ScrubRange(
295
- start=truth[0],
296
- end=truth[1]
297
- ) for truth in truths]
391
+ model_truth = IValidationTruthModel(
392
+ actual_instance=IValidationTruthModelScrubTruthModel(
393
+ _t="ScrubTruth",
394
+ validRanges=[
395
+ ScrubRange(start=truth[0], end=truth[1]) for truth in truths
396
+ ],
397
+ )
298
398
  )
299
399
 
300
400
  return Rapid(
301
- payload=payload,
302
- truth=model_truth,
303
- asset=asset,
304
- metadata=metadata,
305
- explanation=explanation,
306
- randomCorrectProbability=self._calculate_coverage_ratio(asset.get_duration(), truths),
307
- )
401
+ payload=payload,
402
+ truth=model_truth,
403
+ asset=datapoint,
404
+ context=context,
405
+ media_context=media_context,
406
+ explanation=explanation,
407
+ random_correct_probability=0.5, # TODO: implement coverage ratio
408
+ )
409
+
410
+ def _calculate_boxes_coverage(self, boxes: list[Box]) -> float:
411
+ """
412
+ Calculate the ratio of area covered by a list of boxes.
413
+
414
+ Args:
415
+ boxes: List of Box objects with coordinates in range [0, 1]
308
416
 
309
- def _calculate_boxes_coverage(self, boxes: list[Box], image_width: int, image_height: int) -> float:
417
+ Returns:
418
+ float: Coverage ratio between 0.0 and 1.0
419
+ """
310
420
  if not boxes:
311
421
  return 0.0
312
- # Convert all coordinates to integers for pixel-wise coverage
313
- pixels = set()
314
- for box in boxes:
315
- for x in range(int(box.x_min), int(box.x_max + 1)):
316
- for y in range(int(box.y_min), int(box.y_max + 1)):
317
- if 0 <= x < image_width and 0 <= y < image_height:
318
- pixels.add((x,y))
319
-
320
- total_covered = len(pixels)
321
- return total_covered / (image_width * image_height)
322
-
323
- def _calculate_coverage_ratio(self, total_duration: int, subsections: list[tuple[int, int]]) -> float:
422
+
423
+ # Convert boxes to intervals for sweep line algorithm
424
+ events = []
425
+
426
+ # Create events for x-coordinates
427
+ for i, box in enumerate(boxes):
428
+ events.append((box.x_min, "start", i, box))
429
+ events.append((box.x_max, "end", i, box))
430
+
431
+ # Sort events by x-coordinate
432
+ events.sort(key=lambda x: (x[0], x[1] == "end"))
433
+
434
+ total_area = 0.0
435
+ active_boxes = set()
436
+ prev_x = 0.0
437
+
438
+ for x, event_type, box_id, box in events:
439
+ # Calculate area for the previous x-interval
440
+ if active_boxes and x > prev_x:
441
+ # Merge y-intervals for active boxes
442
+ y_intervals = [(boxes[i].y_min, boxes[i].y_max) for i in active_boxes]
443
+ y_intervals.sort()
444
+
445
+ # Merge overlapping y-intervals
446
+ merged_intervals = []
447
+ for start, end in y_intervals:
448
+ if merged_intervals and start <= merged_intervals[-1][1]:
449
+ # Overlapping intervals - merge them
450
+ merged_intervals[-1] = (
451
+ merged_intervals[-1][0],
452
+ max(merged_intervals[-1][1], end),
453
+ )
454
+ else:
455
+ # Non-overlapping interval
456
+ merged_intervals.append((start, end))
457
+
458
+ # Calculate total y-coverage for this x-interval
459
+ y_coverage = sum(end - start for start, end in merged_intervals)
460
+ total_area += (x - prev_x) * y_coverage
461
+
462
+ # Update active boxes
463
+ if event_type == "start":
464
+ active_boxes.add(box_id)
465
+ else:
466
+ active_boxes.discard(box_id)
467
+
468
+ prev_x = x
469
+
470
+ return total_area
471
+
472
+ @staticmethod
473
+ def _calculate_coverage_ratio(
474
+ total_duration: int, subsections: list[tuple[int, int]]
475
+ ) -> float:
324
476
  """
325
477
  Calculate the ratio of total_duration that is covered by subsections, handling overlaps.
326
-
478
+
327
479
  Args:
328
480
  total_duration: The total duration to consider
329
481
  subsections: List of tuples containing (start, end) times
330
-
482
+
331
483
  Returns:
332
484
  float: Ratio of coverage (0 to 1)
333
485
  """
334
486
  if not subsections:
335
487
  return 0.0
336
-
488
+
337
489
  # Sort subsections by start time and clamp to valid range
338
490
  sorted_ranges = sorted(
339
- (max(0, start), min(end, total_duration))
340
- for start, end in subsections
491
+ (max(0, start), min(end, total_duration)) for start, end in subsections
341
492
  )
342
-
493
+
343
494
  # Merge overlapping ranges
344
495
  merged_ranges = []
345
496
  current_range = list(sorted_ranges[0])
346
-
497
+
347
498
  for next_start, next_end in sorted_ranges[1:]:
348
499
  current_start, current_end = current_range
349
-
500
+
350
501
  # If ranges overlap or are adjacent
351
502
  if next_start <= current_end:
352
503
  current_range[1] = max(current_end, next_end)
353
504
  else:
354
505
  merged_ranges.append(current_range)
355
506
  current_range = [next_start, next_end]
356
-
507
+
357
508
  merged_ranges.append(current_range)
358
-
509
+
359
510
  # Calculate total coverage
360
511
  total_coverage = sum(end - start for start, end in merged_ranges)
361
-
512
+
362
513
  return total_coverage / total_duration
514
+
515
+ def __str__(self) -> str:
516
+ return "RapidsManager"
517
+
518
+ def __repr__(self) -> str:
519
+ return self.__str__()