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,23 +1,43 @@
1
+ from __future__ import annotations
2
+
3
+ import time
4
+ import urllib.parse
5
+ import webbrowser
6
+ from colorama import Fore
7
+ from typing import Literal, TYPE_CHECKING
1
8
  from rapidata.api_client import QueryModel
2
- from rapidata.rapidata_client.validation.rapidata_validation_set import RapidataValidationSet
3
- from rapidata.api_client.models.create_validation_set_model import CreateValidationSetModel
9
+ from rapidata.rapidata_client.validation.rapidata_validation_set import (
10
+ RapidataValidationSet,
11
+ )
12
+ from rapidata.api_client.models.create_validation_set_model import (
13
+ CreateValidationSetModel,
14
+ )
4
15
  from rapidata.service.openapi_service import OpenAPIService
5
- from rapidata.rapidata_client.assets.data_type_enum import RapidataDataTypes
6
16
  from rapidata.rapidata_client.validation.rapids.rapids_manager import RapidsManager
7
- from rapidata.rapidata_client.validation.rapids.rapids import Rapid
8
- from rapidata.rapidata_client.metadata import PromptMetadata
9
17
 
10
18
  from rapidata.api_client.models.page_info import PageInfo
11
19
  from rapidata.api_client.models.root_filter import RootFilter
12
20
  from rapidata.api_client.models.filter import Filter
13
21
  from rapidata.api_client.models.sort_criterion import SortCriterion
14
- from rapidata.api_client.exceptions import BadRequestException
15
- from urllib3._collections import HTTPHeaderDict # type: ignore[import]
22
+ from rapidata.api_client.models.sort_direction import SortDirection
23
+ from rapidata.api_client.models.filter_operator import FilterOperator
16
24
 
17
25
  from rapidata.rapidata_client.validation.rapids.box import Box
18
26
 
19
- from rapidata.rapidata_client.logging import logger, managed_print
27
+ from rapidata.rapidata_client.config import (
28
+ logger,
29
+ managed_print,
30
+ rapidata_config,
31
+ tracer,
32
+ )
20
33
  from tqdm import tqdm
34
+ from rapidata.rapidata_client.validation.rapids.rapids import Rapid
35
+
36
+ if TYPE_CHECKING:
37
+ from rapidata.rapidata_client.workflow import Workflow
38
+ from rapidata.rapidata_client.datapoints._datapoint import Datapoint
39
+ from rapidata.rapidata_client.settings._rapidata_setting import RapidataSetting
40
+ from typing import Sequence
21
41
 
22
42
 
23
43
  class ValidationSetManager:
@@ -27,24 +47,35 @@ class ValidationSetManager:
27
47
  Attributes:
28
48
  rapid (RapidsManager): The RapidsManager instance.
29
49
  """
50
+
30
51
  def __init__(self, openapi_service: OpenAPIService) -> None:
31
- self.__openapi_service = openapi_service
32
- self.rapid = RapidsManager()
52
+ self._openapi_service = openapi_service
53
+ self.rapid = RapidsManager(openapi_service)
33
54
  logger.debug("ValidationSetManager initialized")
34
55
 
35
- def create_classification_set(self,
56
+ def _get_total_and_labeled_rapids_count(
57
+ self, validation_set_id: str
58
+ ) -> tuple[int, int]:
59
+ uploaded_rapids = self._openapi_service.validation_api.validation_set_validation_set_id_rapids_get(
60
+ validation_set_id=validation_set_id
61
+ ).items
62
+ return len(uploaded_rapids), sum(1 for rapid in uploaded_rapids if rapid.truth)
63
+
64
+ def create_classification_set(
65
+ self,
36
66
  name: str,
37
67
  instruction: str,
38
68
  answer_options: list[str],
39
69
  datapoints: list[str],
40
70
  truths: list[list[str]],
41
- data_type: str = RapidataDataTypes.MEDIA,
71
+ data_type: Literal["media", "text"] = "media",
42
72
  contexts: list[str] | None = None,
73
+ media_contexts: list[str] | None = None,
43
74
  explanations: list[str | None] | None = None,
44
75
  dimensions: list[str] = [],
45
76
  ) -> RapidataValidationSet:
46
77
  """Create a classification validation set.
47
-
78
+
48
79
  Args:
49
80
  name (str): The name of the validation set. (will not be shown to the labeler)
50
81
  instruction (str): The instruction by which the labeler will answer.
@@ -55,10 +86,13 @@ class ValidationSetManager:
55
86
  options: ["yes", "no", "maybe"]
56
87
  datapoints: ["datapoint1", "datapoint2"]
57
88
  truths: [["yes"], ["no", "maybe"]] -> first datapoint correct answer is "yes", second datapoint is "no" or "maybe"
58
- data_type (str, optional): The type of data. Defaults to RapidataDataTypes.MEDIA. Other option: RapidataDataTypes.TEXT ("text").
89
+ data_type (str, optional): The type of data. Defaults to "media" (any form of image, video or audio). Other option: "text".
59
90
  contexts (list[str], optional): The contexts for each datapoint. Defaults to None.\n
60
91
  If provided has to be the same length as datapoints and will be shown in addition to the instruction and answer options. (Therefore will be different for each datapoint)
61
92
  Will be match up with the datapoints using the list index.
93
+ media_contexts (list[str], optional): The list of media contexts i.e. links to the images / videos for the comparison. Defaults to None.\n
94
+ If provided has to be the same length as datapoints and will be shown in addition to the instruction. (Therefore will be different for each datapoint)
95
+ Will be matched up with the datapoints using the list index.
62
96
  explanations (list[str | None], optional): The explanations for each datapoint. Will be given to the annotators in case the answer is wrong. Defaults to None.
63
97
  dimensions (list[str], optional): The dimensions to add to the validation set accross which users will be tracked. Defaults to [] which is the default dimension.
64
98
 
@@ -70,44 +104,61 @@ class ValidationSetManager:
70
104
  ```
71
105
  This would mean: first datapoint correct answer is "yes", second datapoint is "no" or "maybe"
72
106
  """
73
-
74
- if len(datapoints) != len(truths):
75
- raise ValueError("The number of datapoints and truths must be equal")
76
-
77
- if not all([isinstance(truth, (list, tuple)) for truth in truths]):
78
- raise ValueError("Truths must be a list of lists or tuples")
79
-
80
- if contexts and len(contexts) != len(datapoints):
81
- raise ValueError("The number of contexts and datapoints must be equal")
82
-
83
- if(explanations and len(explanations) != len(datapoints)):
84
- raise ValueError("The numeber of reasons and datapoints must be equal, the index must align, but can be padded with None")
85
-
86
- logger.debug("Creating classification rapids")
87
- rapids: list[Rapid] = []
88
- for i in range(len(datapoints)):
89
- rapids.append(
90
- self.rapid.classification_rapid(
91
- instruction=instruction,
92
- answer_options=answer_options,
93
- datapoint=datapoints[i],
94
- truths=truths[i],
95
- data_type=data_type,
96
- metadata=[PromptMetadata(contexts[i])] if contexts else [],
97
- explanation=explanations[i] if explanations != None else None
107
+ with tracer.start_as_current_span(
108
+ "ValidationSetManager.create_classification_set"
109
+ ):
110
+ if not datapoints:
111
+ raise ValueError("Datapoints cannot be empty")
112
+
113
+ if len(datapoints) != len(truths):
114
+ raise ValueError("The number of datapoints and truths must be equal")
115
+
116
+ if not all([isinstance(truth, (list, tuple)) for truth in truths]):
117
+ raise ValueError("Truths must be a list of lists or tuples")
118
+
119
+ if contexts and len(contexts) != len(datapoints):
120
+ raise ValueError("The number of contexts and datapoints must be equal")
121
+
122
+ if media_contexts and len(media_contexts) != len(datapoints):
123
+ raise ValueError(
124
+ "The number of media contexts and datapoints must be equal"
125
+ )
126
+
127
+ if explanations and len(explanations) != len(datapoints):
128
+ raise ValueError(
129
+ "The number of explanations and datapoints must be equal, the index must align, but can be padded with None"
130
+ )
131
+
132
+ logger.debug("Creating classification rapids")
133
+ rapids: list[Rapid] = []
134
+ for i in range(len(datapoints)):
135
+ rapids.append(
136
+ self.rapid.classification_rapid(
137
+ instruction=instruction,
138
+ answer_options=answer_options,
139
+ datapoint=datapoints[i],
140
+ truths=truths[i],
141
+ data_type=data_type,
142
+ context=contexts[i] if contexts != None else None,
143
+ media_context=(
144
+ media_contexts[i] if media_contexts != None else None
145
+ ),
146
+ explanation=explanations[i] if explanations != None else None,
147
+ )
98
148
  )
99
- )
100
149
 
101
- logger.debug("Submitting classification rapids")
102
- return self._submit(name=name, rapids=rapids, dimensions=dimensions)
150
+ logger.debug("Submitting classification rapids")
151
+ return self._submit(name=name, rapids=rapids, dimensions=dimensions)
103
152
 
104
- def create_compare_set(self,
153
+ def create_compare_set(
154
+ self,
105
155
  name: str,
106
156
  instruction: str,
107
157
  datapoints: list[list[str]],
108
158
  truths: list[str],
109
- data_type: str = RapidataDataTypes.MEDIA,
159
+ data_type: Literal["media", "text"] = "media",
110
160
  contexts: list[str] | None = None,
161
+ media_contexts: list[str] | None = None,
111
162
  explanation: list[str | None] | None = None,
112
163
  dimensions: list[str] = [],
113
164
  ) -> RapidataValidationSet:
@@ -121,12 +172,15 @@ class ValidationSetManager:
121
172
  instruction: "Which image has a cat?"
122
173
  datapoints = [["image1.jpg", "image2.jpg"], ["image3.jpg", "image4.jpg"]]
123
174
  truths: ["image1.jpg", "image4.jpg"] -> first comparison image1.jpg has a cat, second comparison image4.jpg has a cat
124
- datapoints (list[list[str]]): The compare datapoints to create the validation set with.
175
+ datapoints (list[list[str]]): The compare datapoints to create the validation set with.
125
176
  Outer list is for each comparison, inner list the two images/texts that will be compared.
126
- data_type (str, optional): The type of data. Defaults to RapidataDataTypes.MEDIA. Other option: RapidataDataTypes.TEXT ("text").
177
+ data_type (str, optional): The type of data. Defaults to "media" (any form of image, video or audio). Other option: "text".
127
178
  contexts (list[str], optional): The contexts for each datapoint. Defaults to None.\n
128
179
  If provided has to be the same length as datapoints and will be shown in addition to the instruction and truth. (Therefore will be different for each datapoint)
129
180
  Will be match up with the datapoints using the list index.
181
+ media_contexts (list[str], optional): The list of media contexts i.e. links to the images / videos for the comparison. Defaults to None.\n
182
+ If provided has to be the same length as datapoints and will be shown in addition to the instruction. (Therefore will be different for each datapoint)
183
+ Will be matched up with the datapoints using the list index.
130
184
  explanation (list[str | None], optional): The explanations for each datapoint. Will be given to the annotators in case the answer is wrong. Defaults to None.
131
185
  dimensions (list[str], optional): The dimensions to add to the validation set accross which users will be tracked. Defaults to [] which is the default dimension.
132
186
 
@@ -138,37 +192,51 @@ class ValidationSetManager:
138
192
  ```
139
193
  This would mean: first comparison image1.jpg has a cat, second comparison image4.jpg has a cat
140
194
  """
141
-
142
- if len(datapoints) != len(truths):
143
- raise ValueError("The number of datapoints and truths must be equal")
144
-
145
- if not all([isinstance(truth, str) for truth in truths]):
146
- raise ValueError("Truths must be a list of strings")
147
-
148
- if contexts and len(contexts) != len(datapoints):
149
- raise ValueError("The number of contexts and datapoints must be equal")
150
-
151
- if(explanation and len(explanation) != len(datapoints)):
152
- raise ValueError("The numeber of reasons and datapoints must be equal, the index must align, but can be padded with None")
153
-
154
- logger.debug("Creating comparison rapids")
155
- rapids: list[Rapid] = []
156
- for i in range(len(datapoints)):
157
- rapids.append(
158
- self.rapid.compare_rapid(
159
- instruction=instruction,
160
- truth=truths[i],
161
- datapoint=datapoints[i],
162
- data_type=data_type,
163
- metadata=[PromptMetadata(contexts[i])] if contexts else [],
164
- explanation=explanation[i] if explanation != None else None
195
+ with tracer.start_as_current_span("ValidationSetManager.create_compare_set"):
196
+ if not datapoints:
197
+ raise ValueError("Datapoints cannot be empty")
198
+
199
+ if len(datapoints) != len(truths):
200
+ raise ValueError("The number of datapoints and truths must be equal")
201
+
202
+ if not all([isinstance(truth, str) for truth in truths]):
203
+ raise ValueError("Truths must be a list of strings")
204
+
205
+ if contexts and len(contexts) != len(datapoints):
206
+ raise ValueError("The number of contexts and datapoints must be equal")
207
+
208
+ if media_contexts and len(media_contexts) != len(datapoints):
209
+ raise ValueError(
210
+ "The number of media contexts and datapoints must be equal"
165
211
  )
166
- )
167
-
168
- logger.debug("Submitting comparison rapids")
169
- return self._submit(name=name, rapids=rapids, dimensions=dimensions)
170
-
171
- def create_select_words_set(self,
212
+
213
+ if explanation and len(explanation) != len(datapoints):
214
+ raise ValueError(
215
+ "The number of explanations and datapoints must be equal, the index must align, but can be padded with None"
216
+ )
217
+
218
+ logger.debug("Creating comparison rapids")
219
+ rapids: list[Rapid] = []
220
+ for i in range(len(datapoints)):
221
+ rapids.append(
222
+ self.rapid.compare_rapid(
223
+ instruction=instruction,
224
+ truth=truths[i],
225
+ datapoint=datapoints[i],
226
+ data_type=data_type,
227
+ context=contexts[i] if contexts != None else None,
228
+ media_context=(
229
+ media_contexts[i] if media_contexts != None else None
230
+ ),
231
+ explanation=explanation[i] if explanation != None else None,
232
+ )
233
+ )
234
+
235
+ logger.debug("Submitting comparison rapids")
236
+ return self._submit(name=name, rapids=rapids, dimensions=dimensions)
237
+
238
+ def create_select_words_set(
239
+ self,
172
240
  name: str,
173
241
  instruction: str,
174
242
  truths: list[list[int]],
@@ -204,41 +272,52 @@ class ValidationSetManager:
204
272
  truths: [[0, 1], [2]]
205
273
  ```
206
274
  This would mean: first datapoint the correct words are "this" and "example", second datapoint is "with"
207
- """
208
-
209
- if not all([isinstance(truth, (list, tuple)) for truth in truths]):
210
- raise ValueError("Truths must be a list of lists or tuples")
211
-
212
- if len(datapoints) != len(truths) or len(datapoints) != len(sentences):
213
- raise ValueError("The number of datapoints, truths, and sentences must be equal")
214
-
215
- if(explanation and len(explanation) != len(datapoints)):
216
- raise ValueError("The numeber of reasons and datapoints must be equal, the index must align, but can be padded with None")
217
-
218
- logger.debug("Creating select words rapids")
219
- rapids: list[Rapid] = []
220
- for i in range(len(datapoints)):
221
- rapids.append(
222
- self.rapid.select_words_rapid(
223
- instruction=instruction,
224
- truths=truths[i],
225
- datapoint=datapoints[i],
226
- sentence=sentences[i],
227
- required_precision=required_precision,
228
- required_completeness=required_completeness,
229
- explanation=explanation[i] if explanation != None else None
275
+ """
276
+ with tracer.start_as_current_span(
277
+ "ValidationSetManager.create_select_words_set"
278
+ ):
279
+ if not datapoints:
280
+ raise ValueError("Datapoints cannot be empty")
281
+
282
+ if not all([isinstance(truth, (list, tuple)) for truth in truths]):
283
+ raise ValueError("Truths must be a list of lists or tuples")
284
+
285
+ if len(datapoints) != len(truths) or len(datapoints) != len(sentences):
286
+ raise ValueError(
287
+ "The number of datapoints, truths, and sentences must be equal"
288
+ )
289
+
290
+ if explanation and len(explanation) != len(datapoints):
291
+ raise ValueError(
292
+ "The number of explanations and datapoints must be equal, the index must align, but can be padded with None"
293
+ )
294
+
295
+ logger.debug("Creating select words rapids")
296
+ rapids: list[Rapid] = []
297
+ for i in range(len(datapoints)):
298
+ rapids.append(
299
+ self.rapid.select_words_rapid(
300
+ instruction=instruction,
301
+ truths=truths[i],
302
+ datapoint=datapoints[i],
303
+ sentence=sentences[i],
304
+ required_precision=required_precision,
305
+ required_completeness=required_completeness,
306
+ explanation=explanation[i] if explanation != None else None,
307
+ )
230
308
  )
231
- )
232
309
 
233
- logger.debug("Submitting select words rapids")
234
- return self._submit(name=name, rapids=rapids, dimensions=dimensions)
310
+ logger.debug("Submitting select words rapids")
311
+ return self._submit(name=name, rapids=rapids, dimensions=dimensions)
235
312
 
236
- def create_locate_set(self,
313
+ def create_locate_set(
314
+ self,
237
315
  name: str,
238
316
  instruction: str,
239
317
  truths: list[list[Box]],
240
318
  datapoints: list[str],
241
319
  contexts: list[str] | None = None,
320
+ media_contexts: list[str] | None = None,
242
321
  explanation: list[str | None] | None = None,
243
322
  dimensions: list[str] = [],
244
323
  ) -> RapidataValidationSet:
@@ -253,6 +332,9 @@ class ValidationSetManager:
253
332
  truths: [[Box(0, 0, 100, 100)], [Box(50, 50, 150, 150)]] -> first datapoint the object is in the top left corner, second datapoint the object is in the center
254
333
  datapoints (list[str]): The datapoints that will be used for validation.
255
334
  contexts (list[str], optional): The contexts for each datapoint. Defaults to None.
335
+ media_contexts (list[str], optional): The list of media contexts i.e. links to the images / videos for the comparison. Defaults to None.\n
336
+ If provided has to be the same length as datapoints and will be shown in addition to the instruction. (Therefore will be different for each datapoint)
337
+ Will be matched up with the datapoints using the list index.
256
338
  explanation (list[str | None], optional): The explanations for each datapoint. Will be given to the annotators in case the answer is wrong. Defaults to None.
257
339
  dimensions (list[str], optional): The dimensions to add to the validation set accross which users will be tracked. Defaults to [] which is the default dimension.
258
340
 
@@ -263,43 +345,56 @@ class ValidationSetManager:
263
345
  ```
264
346
  This would mean: first datapoint the object is in the top left corner, second datapoint the object is in the center
265
347
  """
266
-
267
- if len(datapoints) != len(truths):
268
- raise ValueError("The number of datapoints and truths must be equal")
269
-
270
- if not all([isinstance(truth, (list, tuple)) for truth in truths]):
271
- raise ValueError("Truths must be a list of lists or tuples")
272
-
273
- if contexts and len(contexts) != len(datapoints):
274
- raise ValueError("The number of contexts and datapoints must be equal")
275
-
276
- if(explanation and len(explanation) != len(datapoints)):
277
- raise ValueError("The numeber of reasons and datapoints must be equal, the index must align, but can be padded with None")
278
-
279
- logger.debug("Creating locate rapids")
280
- rapids = []
281
- rapids: list[Rapid] = []
282
- for i in range(len(datapoints)):
283
- rapids.append(
284
- self.rapid.locate_rapid(
285
- instruction=instruction,
286
- truths=truths[i],
287
- datapoint=datapoints[i],
288
- metadata=[PromptMetadata(contexts[i])] if contexts else [],
289
- explanation=explanation[i] if explanation != None else None
348
+ with tracer.start_as_current_span("ValidationSetManager.create_locate_set"):
349
+ if not datapoints:
350
+ raise ValueError("Datapoints cannot be empty")
290
351
 
352
+ if len(datapoints) != len(truths):
353
+ raise ValueError("The number of datapoints and truths must be equal")
354
+
355
+ if not all([isinstance(truth, (list, tuple)) for truth in truths]):
356
+ raise ValueError("Truths must be a list of lists or tuples")
357
+
358
+ if contexts and len(contexts) != len(datapoints):
359
+ raise ValueError("The number of contexts and datapoints must be equal")
360
+
361
+ if media_contexts and len(media_contexts) != len(datapoints):
362
+ raise ValueError(
363
+ "The number of media contexts and datapoints must be equal"
291
364
  )
292
- )
293
-
294
- logger.debug("Submitting locate rapids")
295
- return self._submit(name=name, rapids=rapids, dimensions=dimensions)
296
-
297
- def create_draw_set(self,
365
+
366
+ if explanation and len(explanation) != len(datapoints):
367
+ raise ValueError(
368
+ "The number of explanations and datapoints must be equal, the index must align, but can be padded with None"
369
+ )
370
+
371
+ logger.debug("Creating locate rapids")
372
+ rapids: list[Rapid] = []
373
+ for i in range(len(datapoints)):
374
+ rapids.append(
375
+ self.rapid.locate_rapid(
376
+ instruction=instruction,
377
+ truths=truths[i],
378
+ datapoint=datapoints[i],
379
+ context=contexts[i] if contexts != None else None,
380
+ media_context=(
381
+ media_contexts[i] if media_contexts != None else None
382
+ ),
383
+ explanation=explanation[i] if explanation != None else None,
384
+ )
385
+ )
386
+
387
+ logger.debug("Submitting locate rapids")
388
+ return self._submit(name=name, rapids=rapids, dimensions=dimensions)
389
+
390
+ def create_draw_set(
391
+ self,
298
392
  name: str,
299
393
  instruction: str,
300
394
  truths: list[list[Box]],
301
395
  datapoints: list[str],
302
396
  contexts: list[str] | None = None,
397
+ media_contexts: list[str] | None = None,
303
398
  explanation: list[str | None] | None = None,
304
399
  dimensions: list[str] = [],
305
400
  ) -> RapidataValidationSet:
@@ -314,6 +409,9 @@ class ValidationSetManager:
314
409
  truths: [[Box(0, 0, 100, 100)], [Box(50, 50, 150, 150)]] -> first datapoint the object is in the top left corner, second datapoint the object is in the center
315
410
  datapoints (list[str]): The datapoints that will be used for validation.
316
411
  contexts (list[str], optional): The contexts for each datapoint. Defaults to None.
412
+ media_contexts (list[str], optional): The list of media contexts i.e. links to the images / videos for the comparison. Defaults to None.\n
413
+ If provided has to be the same length as datapoints and will be shown in addition to the instruction. (Therefore will be different for each datapoint)
414
+ Will be matched up with the datapoints using the list index.
317
415
  explanation (list[str | None], optional): The explanations for each datapoint. Will be given to the annotators in case the answer is wrong. Defaults to None.
318
416
  dimensions (list[str], optional): The dimensions to add to the validation set accross which users will be tracked. Defaults to [] which is the default dimension.
319
417
 
@@ -324,42 +422,56 @@ class ValidationSetManager:
324
422
  ```
325
423
  This would mean: first datapoint the object is in the top left corner, second datapoint the object is in the center
326
424
  """
327
-
328
- if len(datapoints) != len(truths):
329
- raise ValueError("The number of datapoints and truths must be equal")
330
-
331
- if not all([isinstance(truth, (list, tuple)) for truth in truths]):
332
- raise ValueError("Truths must be a list of lists or tuples")
333
-
334
- if contexts and len(contexts) != len(datapoints):
335
- raise ValueError("The number of contexts and datapoints must be equal")
336
-
337
- if(explanation and len(explanation) != len(datapoints)):
338
- raise ValueError("The numeber of reasons and datapoints must be equal, the index must align, but can be padded with None")
339
-
340
- logger.debug("Creating draw rapids")
341
- rapids: list[Rapid] = []
342
- for i in range(len(datapoints)):
343
- rapids.append(
344
- self.rapid.draw_rapid(
345
- instruction=instruction,
346
- truths=truths[i],
347
- datapoint=datapoints[i],
348
- metadata=[PromptMetadata(contexts[i])] if contexts else [],
349
- explanation=explanation[i] if explanation != None else None
425
+ with tracer.start_as_current_span("ValidationSetManager.create_draw_set"):
426
+ if not datapoints:
427
+ raise ValueError("Datapoints cannot be empty")
428
+
429
+ if len(datapoints) != len(truths):
430
+ raise ValueError("The number of datapoints and truths must be equal")
431
+
432
+ if not all([isinstance(truth, (list, tuple)) for truth in truths]):
433
+ raise ValueError("Truths must be a list of lists or tuples")
350
434
 
435
+ if contexts and len(contexts) != len(datapoints):
436
+ raise ValueError("The number of contexts and datapoints must be equal")
437
+
438
+ if media_contexts and len(media_contexts) != len(datapoints):
439
+ raise ValueError(
440
+ "The number of media contexts and datapoints must be equal"
441
+ )
442
+
443
+ if explanation and len(explanation) != len(datapoints):
444
+ raise ValueError(
445
+ "The number of explanations and datapoints must be equal, the index must align, but can be padded with None"
446
+ )
447
+
448
+ logger.debug("Creating draw rapids")
449
+ rapids: list[Rapid] = []
450
+ for i in range(len(datapoints)):
451
+ rapids.append(
452
+ self.rapid.draw_rapid(
453
+ instruction=instruction,
454
+ truths=truths[i],
455
+ datapoint=datapoints[i],
456
+ context=contexts[i] if contexts != None else None,
457
+ media_context=(
458
+ media_contexts[i] if media_contexts != None else None
459
+ ),
460
+ explanation=explanation[i] if explanation != None else None,
461
+ )
351
462
  )
352
- )
353
463
 
354
- logger.debug("Submitting draw rapids")
355
- return self._submit(name=name, rapids=rapids, dimensions=dimensions)
464
+ logger.debug("Submitting draw rapids")
465
+ return self._submit(name=name, rapids=rapids, dimensions=dimensions)
356
466
 
357
- def create_timestamp_set(self,
467
+ def create_timestamp_set(
468
+ self,
358
469
  name: str,
359
470
  instruction: str,
360
471
  truths: list[list[tuple[int, int]]],
361
472
  datapoints: list[str],
362
473
  contexts: list[str] | None = None,
474
+ media_contexts: list[str] | None = None,
363
475
  explanation: list[str | None] | None = None,
364
476
  dimensions: list[str] = [],
365
477
  ) -> RapidataValidationSet:
@@ -368,13 +480,16 @@ class ValidationSetManager:
368
480
  Args:
369
481
  name (str): The name of the validation set. (will not be shown to the labeler)
370
482
  instruction (str): The instruction to show to the labeler.
371
- truths (list[list[tuple[int, int]]]): The truths for each datapoint defined as start and endpoint based on miliseconds.
483
+ truths (list[list[tuple[int, int]]]): The truths for each datapoint defined as start and endpoint based on miliseconds.
372
484
  Outer list is for each datapoint, inner list is for each truth.\n
373
485
  example:
374
486
  datapoints: ["datapoint1", "datapoint2"]
375
487
  truths: [[(0, 10)], [(20, 30)]] -> first datapoint the correct interval is from 0 to 10, second datapoint the correct interval is from 20 to 30
376
488
  datapoints (list[str]): The datapoints that will be used for validation.
377
489
  contexts (list[str], optional): The contexts for each datapoint. Defaults to None.
490
+ media_contexts (list[str], optional): The list of media contexts i.e. links to the images / videos for the comparison. Defaults to None.\n
491
+ If provided has to be the same length as datapoints and will be shown in addition to the instruction. (Therefore will be different for each datapoint)
492
+ Will be matched up with the datapoints using the list index.
378
493
  explanation (list[str | None], optional): The explanations for each datapoint. Will be given to the annotators in case the answer is wrong. Defaults to None.
379
494
  dimensions (list[str], optional): The dimensions to add to the validation set accross which users will be tracked. Defaults to [] which is the default dimension.
380
495
 
@@ -385,36 +500,50 @@ class ValidationSetManager:
385
500
  ```
386
501
  This would mean: first datapoint the correct interval is from 0 to 10, second datapoint the correct interval is from 20 to 30
387
502
  """
388
-
389
- if len(datapoints) != len(truths):
390
- raise ValueError("The number of datapoints and truths must be equal")
391
-
392
- if not all([isinstance(truth, (list, tuple)) for truth in truths]):
393
- raise ValueError("Truths must be a list of lists or tuples")
394
-
395
- if contexts and len(contexts) != len(datapoints):
396
- raise ValueError("The number of contexts and datapoints must be equal")
397
-
398
- if(explanation and len(explanation) != len(datapoints)):
399
- raise ValueError("The numeber of reasons and datapoints must be equal, the index must align, but can be padded with None")
400
-
401
- logger.debug("Creating timestamp rapids")
402
- rapids: list[Rapid] = []
403
- for i in range(len(datapoints)):
404
- rapids.append(
405
- self.rapid.timestamp_rapid(
406
- instruction=instruction,
407
- truths=truths[i],
408
- datapoint=datapoints[i],
409
- metadata=[PromptMetadata(contexts[i])] if contexts else [],
410
- explanation=explanation[i] if explanation != None else None
503
+ with tracer.start_as_current_span("ValidationSetManager.create_timestamp_set"):
504
+ if not datapoints:
505
+ raise ValueError("Datapoints cannot be empty")
506
+
507
+ if len(datapoints) != len(truths):
508
+ raise ValueError("The number of datapoints and truths must be equal")
509
+
510
+ if not all([isinstance(truth, (list, tuple)) for truth in truths]):
511
+ raise ValueError("Truths must be a list of lists or tuples")
512
+
513
+ if contexts and len(contexts) != len(datapoints):
514
+ raise ValueError("The number of contexts and datapoints must be equal")
515
+
516
+ if media_contexts and len(media_contexts) != len(datapoints):
517
+ raise ValueError(
518
+ "The number of media contexts and datapoints must be equal"
519
+ )
520
+
521
+ if explanation and len(explanation) != len(datapoints):
522
+ raise ValueError(
523
+ "The number of explanations and datapoints must be equal, the index must align, but can be padded with None"
411
524
  )
412
- )
413
525
 
414
- logger.debug("Submitting timestamp rapids")
415
- return self._submit(name=name, rapids=rapids, dimensions=dimensions)
416
-
417
- def create_mixed_set(self,
526
+ logger.debug("Creating timestamp rapids")
527
+ rapids: list[Rapid] = []
528
+ for i in range(len(datapoints)):
529
+ rapids.append(
530
+ self.rapid.timestamp_rapid(
531
+ instruction=instruction,
532
+ truths=truths[i],
533
+ datapoint=datapoints[i],
534
+ context=contexts[i] if contexts != None else None,
535
+ media_context=(
536
+ media_contexts[i] if media_contexts != None else None
537
+ ),
538
+ explanation=explanation[i] if explanation != None else None,
539
+ )
540
+ )
541
+
542
+ logger.debug("Submitting timestamp rapids")
543
+ return self._submit(name=name, rapids=rapids, dimensions=dimensions)
544
+
545
+ def create_mixed_set(
546
+ self,
418
547
  name: str,
419
548
  rapids: list[Rapid],
420
549
  dimensions: list[str] = [],
@@ -426,20 +555,23 @@ class ValidationSetManager:
426
555
  rapids (list[Rapid]): The list of rapids to add to the validation set.
427
556
  dimensions (list[str], optional): The dimensions to add to the validation set accross which users will be tracked. Defaults to [] which is the default dimension.
428
557
  """
558
+ with tracer.start_as_current_span("ValidationSetManager.create_mixed_set"):
559
+ if not rapids:
560
+ raise ValueError("Rapids cannot be empty")
429
561
 
430
- return self._submit(name=name, rapids=rapids, dimensions=dimensions)
562
+ return self._submit(name=name, rapids=rapids, dimensions=dimensions)
431
563
 
432
- def _submit(self, name: str, rapids: list[Rapid], dimensions: list[str] | None) -> RapidataValidationSet:
564
+ def _submit(
565
+ self, name: str, rapids: list[Rapid], dimensions: list[str]
566
+ ) -> RapidataValidationSet:
433
567
  logger.debug("Creating validation set")
434
568
  validation_set_id = (
435
- self.__openapi_service.validation_api.validation_set_post(
436
- create_validation_set_model=CreateValidationSetModel(
437
- name=name
438
- )
569
+ self._openapi_service.validation_api.validation_set_post(
570
+ create_validation_set_model=CreateValidationSetModel(name=name)
439
571
  )
440
572
  ).validation_set_id
441
573
 
442
- logger.debug(f"Validation set created with ID: {validation_set_id}")
574
+ logger.debug("Validation set created with ID: %s", validation_set_id)
443
575
 
444
576
  if validation_set_id is None:
445
577
  raise ValueError("Failed to create validation set")
@@ -449,23 +581,159 @@ class ValidationSetManager:
449
581
  validation_set = RapidataValidationSet(
450
582
  name=name,
451
583
  validation_set_id=validation_set_id,
452
- openapi_service=self.__openapi_service
584
+ dimensions=dimensions,
585
+ openapi_service=self._openapi_service,
453
586
  )
587
+ with tracer.start_as_current_span("Adding rapids to validation set"):
588
+ logger.debug("Adding rapids to validation set")
589
+ failed_rapids = []
590
+
591
+ progress_bar = tqdm(
592
+ total=len(rapids),
593
+ desc="Uploading validation tasks",
594
+ disable=rapidata_config.logging.silent_mode,
595
+ )
596
+
597
+ for rapid in rapids:
598
+ try:
599
+ validation_set.add_rapid(rapid)
600
+ progress_bar.update(1)
601
+ except Exception as e:
602
+ logger.error(
603
+ "Failed to add rapid %s to validation set.\nError: %s",
604
+ rapid.asset,
605
+ str(e),
606
+ )
607
+ failed_rapids.append(rapid.asset)
608
+
609
+ progress_bar.close()
610
+
611
+ if failed_rapids:
612
+ logger.error(
613
+ "Failed to add %s datapoints to validation set: %s",
614
+ len(failed_rapids),
615
+ failed_rapids,
616
+ )
617
+ raise RuntimeError(
618
+ f"Failed to add {len(failed_rapids)} datapoints to validation set: {failed_rapids}"
619
+ )
454
620
 
455
- logger.debug("Adding rapids to validation set")
456
- for rapid in tqdm(rapids, desc="Uploading validation tasks"):
457
- validation_set.add_rapid(rapid)
458
-
459
621
  managed_print()
460
- managed_print(f"Validation set '{name}' created with ID {validation_set_id}\n",
461
- f"Now viewable under: https://app.{self.__openapi_service.environment}/validation-set/detail/{validation_set_id}",
462
- sep="")
463
-
622
+ managed_print(
623
+ f"Validation set '{name}' created with ID {validation_set_id}\n",
624
+ f"Now viewable under: {validation_set.validation_set_details_page}",
625
+ sep="",
626
+ )
627
+
464
628
  if dimensions:
465
629
  validation_set.update_dimensions(dimensions)
466
-
630
+
467
631
  return validation_set
468
-
632
+
633
+ def _create_order_validation_set(
634
+ self,
635
+ workflow: Workflow,
636
+ name: str,
637
+ datapoints: list[Datapoint],
638
+ required_amount: int,
639
+ settings: Sequence[RapidataSetting] | None = None,
640
+ dimensions: list[str] = [],
641
+ ) -> RapidataValidationSet:
642
+ with tracer.start_as_current_span(
643
+ "ValidationSetManager._create_order_validation_set"
644
+ ):
645
+ rapids: list[Rapid] = []
646
+ for datapoint in workflow._format_datapoints(datapoints):
647
+ rapids.append(
648
+ Rapid(
649
+ asset=datapoint.asset,
650
+ payload=workflow._to_payload(datapoint),
651
+ context=datapoint.context,
652
+ media_context=datapoint.media_context,
653
+ data_type=datapoint.data_type,
654
+ settings=settings,
655
+ )
656
+ )
657
+ validation_set = RapidataValidationSet(
658
+ validation_set_id=self._openapi_service.validation_api.validation_set_post(
659
+ create_validation_set_model=CreateValidationSetModel(name=name)
660
+ ).validation_set_id,
661
+ name=name,
662
+ dimensions=dimensions,
663
+ openapi_service=self._openapi_service,
664
+ )
665
+
666
+ managed_print()
667
+ managed_print(
668
+ Fore.YELLOW
669
+ + f"A new validation set was created. Please annotate {required_amount} datapoint{('s' if required_amount != 1 else '')} before the order can run."
670
+ + Fore.RESET
671
+ )
672
+
673
+ link = f"https://app.{self._openapi_service.environment}/validation-set/detail/{validation_set.id}/annotate?maxSize={len(datapoints)}&required={required_amount}"
674
+ could_open_browser = webbrowser.open(link)
675
+ if not could_open_browser:
676
+ encoded_url = urllib.parse.quote(link, safe="%/:=&?~#+!$,;'@()*[]")
677
+ managed_print(
678
+ Fore.RED
679
+ + f"Please open this URL in your browser to annotate the validation set: '{encoded_url}'"
680
+ + Fore.RESET
681
+ )
682
+ else:
683
+ managed_print(
684
+ Fore.YELLOW
685
+ + f"Please annotate the validation set. \n'{link}'"
686
+ + Fore.RESET
687
+ )
688
+
689
+ with tracer.start_as_current_span("Annotating validation set"):
690
+ progress_bar = tqdm(
691
+ total=required_amount,
692
+ desc="Annotate the validation set",
693
+ disable=rapidata_config.logging.silent_mode,
694
+ )
695
+
696
+ rapid_index = 0
697
+ while True:
698
+ total_rapids, labeled_rapids = (
699
+ self._get_total_and_labeled_rapids_count(validation_set.id)
700
+ )
701
+
702
+ progress_bar.n = labeled_rapids
703
+ progress_bar.refresh()
704
+
705
+ if labeled_rapids >= required_amount:
706
+ break
707
+
708
+ if total_rapids < required_amount and rapid_index >= len(rapids):
709
+ managed_print(
710
+ Fore.RED
711
+ + f"""Warning: An order can only be started with at least {required_amount} annotated validation tasks. But only {labeled_rapids}/{required_amount} were annotated.
712
+ Either add clearer examples or turn off the 'autoValidationSetCreation' with:
713
+
714
+ from rapidata import rapidata_config
715
+ rapidata_config.order.autoValidationSetCreation = False"""
716
+ + Fore.RESET
717
+ )
718
+ raise RuntimeError(
719
+ f"Not enough rapids annotated. Required: {required_amount}, Annotated: {labeled_rapids}"
720
+ )
721
+
722
+ if (
723
+ rapid_index < len(rapids)
724
+ and total_rapids - labeled_rapids <= required_amount * 2
725
+ ):
726
+ validation_set.add_rapid(rapids[rapid_index])
727
+ rapid_index += 1
728
+
729
+ time.sleep(2)
730
+
731
+ progress_bar.close()
732
+
733
+ validation_set.update_dimensions(dimensions)
734
+
735
+ return validation_set
736
+
469
737
  def get_validation_set_by_id(self, validation_set_id: str) -> RapidataValidationSet:
470
738
  """Get a validation set by ID.
471
739
 
@@ -475,37 +743,71 @@ class ValidationSetManager:
475
743
  Returns:
476
744
  RapidataValidationSet: The ValidationSet instance.
477
745
  """
478
- try:
479
- validation_set = self.__openapi_service.validation_api.validation_set_validation_set_id_get(validation_set_id=validation_set_id)
480
- except Exception:
481
- raise ValueError(f"ValidationSet with ID {validation_set_id} not found.")
482
-
483
- return RapidataValidationSet(validation_set_id, str(validation_set.name), self.__openapi_service)
484
746
 
747
+ with tracer.start_as_current_span(
748
+ "ValidationSetManager.get_validation_set_by_id"
749
+ ):
750
+ logger.debug("Getting validation set by ID: %s", validation_set_id)
751
+ validation_set = self._openapi_service.validation_api.validation_set_validation_set_id_get(
752
+ validation_set_id=validation_set_id
753
+ )
754
+
755
+ return RapidataValidationSet(
756
+ validation_set_id,
757
+ str(validation_set.name),
758
+ validation_set.dimensions,
759
+ self._openapi_service,
760
+ )
485
761
 
486
- def find_validation_sets(self, name: str = "", amount: int = 1) -> list[RapidataValidationSet]:
762
+ def find_validation_sets(
763
+ self, name: str = "", amount: int = 10
764
+ ) -> list[RapidataValidationSet]:
487
765
  """Find validation sets by name.
488
766
 
489
767
  Args:
490
768
  name (str, optional): The name to search for. Defaults to "" to match with any set.
491
- amount (int, optional): The amount of validation sets to return. Defaults to 1.
769
+ amount (int, optional): The amount of validation sets to return. Defaults to 10.
492
770
 
493
771
  Returns:
494
772
  list[RapidataValidationSet]: The list of validation sets.
495
773
  """
496
- try:
497
- validation_page_result = self.__openapi_service.validation_api.validation_sets_get(QueryModel(
498
- page=PageInfo(index=1, size=amount),
499
- filter=RootFilter(filters=[Filter(field="Name", operator="Contains", value=name)]),
500
- sortCriteria=[SortCriterion(direction="Desc", propertyName="CreatedAt")]
501
- ))
774
+ with tracer.start_as_current_span("ValidationSetManager.find_validation_sets"):
775
+ logger.debug(
776
+ "Finding validation sets with name: %s and amount: %s", name, amount
777
+ )
778
+
779
+ validation_page_result = (
780
+ self._openapi_service.validation_api.validation_sets_get(
781
+ QueryModel(
782
+ page=PageInfo(index=1, size=amount),
783
+ filter=RootFilter(
784
+ filters=[
785
+ Filter(
786
+ field="Name",
787
+ operator=FilterOperator.CONTAINS,
788
+ value=name,
789
+ )
790
+ ]
791
+ ),
792
+ sortCriteria=[
793
+ SortCriterion(
794
+ direction=SortDirection.DESC, propertyName="CreatedAt"
795
+ )
796
+ ],
797
+ )
798
+ )
799
+ )
502
800
 
503
- except BadRequestException as e:
504
- raise ValueError(f"Error occured during request. \nError: {e.body} \nTraceid: {e.headers.get('X-Trace-Id') if isinstance(e.headers, HTTPHeaderDict) else 'Unknown'}")
801
+ logger.debug("Validation sets found: %s", validation_page_result.items)
505
802
 
506
- except Exception as e:
507
- raise ValueError(f"Unknown error occured: {e}")
803
+ validation_sets = [
804
+ self.get_validation_set_by_id(str(validation_set.id))
805
+ for validation_set in validation_page_result.items
806
+ ]
807
+ return validation_sets
508
808
 
509
- validation_sets = [self.get_validation_set_by_id(str(validation_set.id)) for validation_set in validation_page_result.items]
510
- return validation_sets
809
+ def __str__(self) -> str:
810
+ return "ValidationSetManager"
511
811
 
812
+ def __repr__(self) -> str:
813
+ return self.__str__()