rapidata 2.37.0__py3-none-any.whl → 3.0.0a8__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (743) hide show
  1. rapidata/__init__.py +23 -15
  2. rapidata/api_client/__init__.py +84 -427
  3. rapidata/api_client/api/__init__.py +5 -2
  4. rapidata/api_client/api/asset_api.py +853 -0
  5. rapidata/api_client/api/audience_api.py +2505 -0
  6. rapidata/api_client/api/benchmark_api.py +618 -253
  7. rapidata/api_client/api/campaign_api.py +322 -32
  8. rapidata/api_client/api/client_api.py +38 -33
  9. rapidata/api_client/api/compare_workflow_api.py +11 -10
  10. rapidata/api_client/api/customer_rapid_api.py +119 -125
  11. rapidata/api_client/api/datapoint_api.py +8 -6
  12. rapidata/api_client/api/dataset_api.py +240 -1516
  13. rapidata/api_client/api/evaluation_workflow_api.py +29 -82
  14. rapidata/api_client/api/feedback_api.py +11 -11
  15. rapidata/api_client/api/grouped_ranking_workflow_api.py +319 -0
  16. rapidata/api_client/api/identity_api.py +26 -300
  17. rapidata/api_client/api/job_api.py +3902 -0
  18. rapidata/api_client/api/job_definition_api.py +319 -0
  19. rapidata/api_client/api/job_revision_api.py +335 -0
  20. rapidata/api_client/api/leaderboard_api.py +139 -2355
  21. rapidata/api_client/api/newsletter_api.py +20 -19
  22. rapidata/api_client/api/order_api.py +375 -91
  23. rapidata/api_client/api/participant_api.py +80 -118
  24. rapidata/api_client/api/pipeline_api.py +24 -607
  25. rapidata/api_client/api/prompt_api.py +11 -11
  26. rapidata/api_client/api/rapidata_identity_api_api.py +5 -4
  27. rapidata/api_client/api/sample_api.py +5 -4
  28. rapidata/api_client/api/simple_workflow_api.py +11 -10
  29. rapidata/api_client/api/survey_api.py +304 -0
  30. rapidata/api_client/api/user_rapid_api.py +35 -31
  31. rapidata/api_client/api/validation_set_api.py +337 -2043
  32. rapidata/api_client/api/workflow_api.py +32 -26
  33. rapidata/api_client/api_client.py +2 -2
  34. rapidata/api_client/configuration.py +16 -29
  35. rapidata/api_client/exceptions.py +2 -2
  36. rapidata/api_client/models/__init__.py +65 -400
  37. rapidata/api_client/models/ab_test_selection_a_inner.py +1 -1
  38. rapidata/api_client/models/add_rapid_to_audience_model.py +144 -0
  39. rapidata/api_client/models/add_user_response_result.py +10 -5
  40. rapidata/api_client/models/add_validation_rapid_model.py +34 -36
  41. rapidata/api_client/models/add_validation_rapid_model_asset.py +154 -0
  42. rapidata/api_client/models/add_validation_rapid_model_context_asset.py +160 -0
  43. rapidata/api_client/models/add_validation_rapid_model_metadata_inner.py +140 -0
  44. rapidata/api_client/models/add_validation_rapid_new_model.py +137 -0
  45. rapidata/api_client/models/add_validation_rapid_new_model_asset.py +182 -0
  46. rapidata/api_client/models/add_validation_rapid_new_model_truth.py +286 -0
  47. rapidata/api_client/models/age_user_filter_model.py +2 -2
  48. rapidata/api_client/models/age_user_filter_model_age_group.py +41 -0
  49. rapidata/api_client/models/aggregated_orders_model.py +98 -0
  50. rapidata/api_client/models/aggregator_type.py +4 -2
  51. rapidata/api_client/models/and_filter_filters_inner.py +24 -10
  52. rapidata/api_client/models/are_rapids_active_result.py +2 -2
  53. rapidata/api_client/models/asset_metadata.py +2 -8
  54. rapidata/api_client/models/attach_category_rapid_blueprint.py +13 -3
  55. rapidata/api_client/models/attach_category_rapid_blueprint_category.py +89 -0
  56. rapidata/api_client/models/audience_job_state.py +38 -0
  57. rapidata/api_client/models/audience_status.py +39 -0
  58. rapidata/api_client/models/benchmark_query_result.py +5 -3
  59. rapidata/api_client/models/boost_leaderboard_model.py +5 -5
  60. rapidata/api_client/models/boost_query_result.py +4 -4
  61. rapidata/api_client/models/boost_query_result_boost_mode.py +37 -0
  62. rapidata/api_client/models/boost_query_result_boost_status.py +39 -0
  63. rapidata/api_client/models/boosting_profile.py +91 -0
  64. rapidata/api_client/models/box_shape.py +4 -33
  65. rapidata/api_client/models/campaign_query_result.py +13 -5
  66. rapidata/api_client/models/campaign_status.py +2 -2
  67. rapidata/api_client/models/change_boost_model.py +5 -5
  68. rapidata/api_client/models/classify_payload.py +14 -15
  69. rapidata/api_client/models/classify_payload_category.py +89 -0
  70. rapidata/api_client/models/client_model.py +25 -35
  71. rapidata/api_client/models/clients_query_result.py +5 -5
  72. rapidata/api_client/models/clone_order_model.py +4 -4
  73. rapidata/api_client/models/clone_order_result.py +9 -4
  74. rapidata/api_client/models/compare_workflow_config.py +19 -18
  75. rapidata/api_client/models/compare_workflow_config_context_asset.py +174 -0
  76. rapidata/api_client/models/compare_workflow_config_model.py +3 -3
  77. rapidata/api_client/models/compare_workflow_model.py +25 -7
  78. rapidata/api_client/models/compare_workflow_model1.py +20 -9
  79. rapidata/api_client/models/compare_workflow_model_context_asset.py +160 -0
  80. rapidata/api_client/models/compare_workflow_model_metadata_inner.py +154 -0
  81. rapidata/api_client/models/compare_workflow_model_pair_maker_config.py +1 -1
  82. rapidata/api_client/models/comparison_operator.py +2 -2
  83. rapidata/api_client/models/conditional_validation_selection.py +6 -11
  84. rapidata/api_client/models/conditional_validation_selection_validation_chance.py +103 -0
  85. rapidata/api_client/models/confidence_interval.py +89 -0
  86. rapidata/api_client/models/create_audience_request.py +122 -0
  87. rapidata/api_client/models/create_audience_result.py +87 -0
  88. rapidata/api_client/models/create_benchmark_model.py +5 -5
  89. rapidata/api_client/models/create_benchmark_participant_model.py +5 -5
  90. rapidata/api_client/models/create_benchmark_participant_result.py +4 -4
  91. rapidata/api_client/models/create_benchmark_prompt_result.py +87 -0
  92. rapidata/api_client/models/create_benchmark_result.py +2 -2
  93. rapidata/api_client/models/create_bridge_token_result.py +2 -2
  94. rapidata/api_client/models/create_client_model.py +6 -13
  95. rapidata/api_client/models/create_complex_order_model.py +9 -9
  96. rapidata/api_client/models/create_complex_order_result.py +2 -2
  97. rapidata/api_client/models/create_customer_client_result.py +2 -2
  98. rapidata/api_client/models/create_datapoint_from_files_model.py +3 -3
  99. rapidata/api_client/models/create_datapoint_from_text_sources_model.py +3 -3
  100. rapidata/api_client/models/create_datapoint_from_urls_model.py +3 -3
  101. rapidata/api_client/models/create_datapoint_model.py +124 -0
  102. rapidata/api_client/models/create_datapoint_model_asset.py +154 -0
  103. rapidata/api_client/models/create_datapoint_model_context_asset.py +160 -0
  104. rapidata/api_client/models/create_datapoint_model_metadata_inner.py +154 -0
  105. rapidata/api_client/models/create_datapoint_result.py +2 -2
  106. rapidata/api_client/models/create_dataset_endpoint_input.py +87 -0
  107. rapidata/api_client/models/create_dataset_endpoint_output.py +87 -0
  108. rapidata/api_client/models/create_demographic_rapid_model.py +33 -10
  109. rapidata/api_client/models/create_demographic_rapid_model_asset.py +160 -0
  110. rapidata/api_client/models/create_demographic_rapid_model_context_asset.py +160 -0
  111. rapidata/api_client/models/create_demographic_rapid_model_new.py +119 -0
  112. rapidata/api_client/models/create_empty_validation_set_result.py +2 -2
  113. rapidata/api_client/models/create_job_definition_endpoint_input.py +119 -0
  114. rapidata/api_client/models/create_job_definition_endpoint_output.py +89 -0
  115. rapidata/api_client/models/create_job_endpoint_input.py +100 -0
  116. rapidata/api_client/models/create_job_endpoint_output.py +89 -0
  117. rapidata/api_client/models/create_job_revision_endpoint_input.py +127 -0
  118. rapidata/api_client/models/create_job_revision_endpoint_output.py +89 -0
  119. rapidata/api_client/models/create_leaderboard_model.py +23 -26
  120. rapidata/api_client/models/create_leaderboard_result.py +2 -2
  121. rapidata/api_client/models/create_order_definition_model.py +119 -0
  122. rapidata/api_client/models/create_order_definition_result.py +87 -0
  123. rapidata/api_client/models/create_order_definition_revision_model.py +117 -0
  124. rapidata/api_client/models/create_order_definition_revision_result.py +87 -0
  125. rapidata/api_client/models/create_order_model.py +33 -62
  126. rapidata/api_client/models/create_order_model_referee.py +12 -12
  127. rapidata/api_client/models/create_order_model_workflow.py +35 -21
  128. rapidata/api_client/models/create_order_result.py +2 -2
  129. rapidata/api_client/models/create_rapid_result.py +2 -2
  130. rapidata/api_client/models/create_sample_model.py +13 -7
  131. rapidata/api_client/models/create_sample_model_asset.py +154 -0
  132. rapidata/api_client/models/create_sample_model_obsolete.py +87 -0
  133. rapidata/api_client/models/create_simple_pipeline_model_pipeline_steps_inner.py +8 -22
  134. rapidata/api_client/models/create_unsupported_order_model.py +6 -6
  135. rapidata/api_client/models/create_validation_set_model.py +5 -5
  136. rapidata/api_client/models/datapoint_model.py +3 -3
  137. rapidata/api_client/models/datapoint_state.py +2 -2
  138. rapidata/api_client/models/definition_type.py +49 -0
  139. rapidata/api_client/models/dynamic_client_registration_request.py +21 -36
  140. rapidata/api_client/models/early_stopping_referee_model.py +3 -3
  141. rapidata/api_client/models/elo_config.py +2 -2
  142. rapidata/api_client/models/elo_config_model.py +6 -6
  143. rapidata/api_client/models/entity_tag_header_value.py +93 -0
  144. rapidata/api_client/models/evaluation_workflow_model.py +4 -4
  145. rapidata/api_client/models/existing_asset_input.py +109 -0
  146. rapidata/api_client/models/existing_asset_input_metadata_value.py +126 -0
  147. rapidata/api_client/models/feature_flag.py +2 -2
  148. rapidata/api_client/models/feature_flag_model.py +2 -2
  149. rapidata/api_client/models/feedback_model.py +7 -7
  150. rapidata/api_client/models/file_asset.py +3 -5
  151. rapidata/api_client/models/file_asset_input_file.py +8 -22
  152. rapidata/api_client/models/file_asset_metadata_value.py +252 -0
  153. rapidata/api_client/models/file_asset_model_metadata_value.py +18 -88
  154. rapidata/api_client/models/file_stream_result.py +122 -0
  155. rapidata/api_client/models/file_type.py +2 -2
  156. rapidata/api_client/models/filter.py +2 -2
  157. rapidata/api_client/models/filter_operator.py +2 -2
  158. rapidata/api_client/models/fork_benchmark_result.py +87 -0
  159. rapidata/api_client/models/form_file_wrapper.py +17 -2
  160. rapidata/api_client/models/gender_user_filter_model.py +2 -2
  161. rapidata/api_client/models/gender_user_filter_model_gender.py +38 -0
  162. rapidata/api_client/models/get_asset_metadata_result.py +100 -0
  163. rapidata/api_client/models/get_audience_by_id_result.py +118 -0
  164. rapidata/api_client/models/get_available_validation_sets_result.py +2 -2
  165. rapidata/api_client/models/get_benchmark_by_id_result.py +8 -4
  166. rapidata/api_client/models/get_boost_result.py +97 -0
  167. rapidata/api_client/models/get_boost_result_boost_mode.py +37 -0
  168. rapidata/api_client/models/get_boost_result_boost_status.py +39 -0
  169. rapidata/api_client/models/get_compare_ab_summary_result.py +3 -5
  170. rapidata/api_client/models/get_compare_workflow_results_model.py +7 -7
  171. rapidata/api_client/models/get_compare_workflow_results_result.py +5 -5
  172. rapidata/api_client/models/get_datapoint_by_id_result.py +7 -12
  173. rapidata/api_client/models/get_datapoint_by_id_result_asset.py +170 -0
  174. rapidata/api_client/models/get_dataset_by_id_result.py +2 -2
  175. rapidata/api_client/models/get_dataset_progress_result.py +2 -2
  176. rapidata/api_client/models/get_evaluation_workflow_results_model.py +119 -0
  177. rapidata/api_client/models/get_failed_datapoints_result.py +5 -5
  178. rapidata/api_client/models/get_failed_datapoints_result_datapoint.py +100 -0
  179. rapidata/api_client/models/get_file_metadata_result.py +100 -0
  180. rapidata/api_client/models/get_grouped_ranking_workflow_results_model.py +106 -0
  181. rapidata/api_client/models/get_grouped_ranking_workflow_results_result.py +97 -0
  182. rapidata/api_client/models/get_grouped_ranking_workflow_results_result_paged_result.py +105 -0
  183. rapidata/api_client/models/get_job_by_id_endpoint_output.py +130 -0
  184. rapidata/api_client/models/get_job_definition_by_id_endpoint_output.py +95 -0
  185. rapidata/api_client/models/get_job_revision_endpoint_output.py +133 -0
  186. rapidata/api_client/models/get_leaderboard_by_id_result.py +5 -5
  187. rapidata/api_client/models/get_order_by_id_result.py +12 -5
  188. rapidata/api_client/models/get_participant_by_id_result.py +4 -6
  189. rapidata/api_client/models/get_pipeline_by_id_result.py +5 -5
  190. rapidata/api_client/models/get_public_orders_result.py +2 -2
  191. rapidata/api_client/models/get_public_responses_result.py +5 -5
  192. rapidata/api_client/models/get_public_responses_result_response.py +112 -0
  193. rapidata/api_client/models/get_rapid_responses_result.py +3 -3
  194. rapidata/api_client/models/get_recommended_validation_set_result.py +2 -2
  195. rapidata/api_client/models/get_responses_for_rapid_result.py +106 -0
  196. rapidata/api_client/models/get_responses_for_rapid_result_response.py +103 -0
  197. rapidata/api_client/models/get_responses_for_rapid_result_response_result.py +266 -0
  198. rapidata/api_client/models/get_responses_result.py +5 -5
  199. rapidata/api_client/models/get_responses_result_response.py +103 -0
  200. rapidata/api_client/models/get_sample_by_id_result.py +7 -8
  201. rapidata/api_client/models/get_simple_workflow_results_model.py +20 -15
  202. rapidata/api_client/models/get_standing_by_id_result.py +3 -5
  203. rapidata/api_client/models/get_validation_rapids_result.py +29 -32
  204. rapidata/api_client/models/get_validation_set_by_id_result.py +10 -4
  205. rapidata/api_client/models/get_workflow_by_id_result.py +5 -5
  206. rapidata/api_client/models/get_workflow_by_id_result_workflow.py +23 -9
  207. rapidata/api_client/models/get_workflow_progress_result.py +2 -2
  208. rapidata/api_client/models/get_workflow_results_result.py +31 -14
  209. rapidata/api_client/models/get_workflow_results_result_response.py +103 -0
  210. rapidata/api_client/models/google_one_tap_login_model.py +4 -4
  211. rapidata/api_client/models/grouped_ranking_workflow_config.py +155 -0
  212. rapidata/api_client/models/grouped_ranking_workflow_config_context_assets_value.py +170 -0
  213. rapidata/api_client/models/grouped_ranking_workflow_model.py +147 -0
  214. rapidata/api_client/models/grouped_ranking_workflow_model1.py +121 -0
  215. rapidata/api_client/models/i_artifact_model.py +182 -0
  216. rapidata/api_client/models/i_artifact_model_campaign_artifact_model.py +98 -0
  217. rapidata/api_client/models/i_artifact_model_dataset_artifact_model.py +98 -0
  218. rapidata/api_client/models/i_artifact_model_file_artifact_model.py +98 -0
  219. rapidata/api_client/models/i_artifact_model_workflow_artifact_model.py +98 -0
  220. rapidata/api_client/models/i_artifact_model_workflow_config_artifact_model.py +102 -0
  221. rapidata/api_client/models/i_asset.py +170 -0
  222. rapidata/api_client/models/i_asset_file_asset.py +111 -0
  223. rapidata/api_client/models/i_asset_input.py +156 -0
  224. rapidata/api_client/models/i_asset_input_existing_asset_input.py +118 -0
  225. rapidata/api_client/models/i_asset_input_multi_asset_input.py +128 -0
  226. rapidata/api_client/models/i_asset_input_text_asset_input.py +118 -0
  227. rapidata/api_client/models/i_asset_model.py +170 -0
  228. rapidata/api_client/models/i_asset_model_file_asset_model.py +113 -0
  229. rapidata/api_client/models/i_asset_model_multi_asset_model.py +123 -0
  230. rapidata/api_client/models/i_asset_model_null_asset_model.py +111 -0
  231. rapidata/api_client/models/i_asset_model_text_asset_model.py +113 -0
  232. rapidata/api_client/models/i_asset_multi_asset.py +121 -0
  233. rapidata/api_client/models/i_asset_null_asset.py +109 -0
  234. rapidata/api_client/models/i_asset_text_asset.py +111 -0
  235. rapidata/api_client/models/i_audience_filter.py +184 -0
  236. rapidata/api_client/models/i_audience_filter_and_audience_filter.py +106 -0
  237. rapidata/api_client/models/i_audience_filter_country_audience_filter.py +96 -0
  238. rapidata/api_client/models/i_audience_filter_country_filter.py +96 -0
  239. rapidata/api_client/models/i_audience_filter_language_audience_filter.py +96 -0
  240. rapidata/api_client/models/i_audience_filter_language_filter.py +96 -0
  241. rapidata/api_client/models/i_audience_filter_not_audience_filter.py +102 -0
  242. rapidata/api_client/models/i_audience_filter_or_audience_filter.py +106 -0
  243. rapidata/api_client/models/i_campaign_filter.py +296 -0
  244. rapidata/api_client/models/i_campaign_filter_and_filter.py +117 -0
  245. rapidata/api_client/models/i_campaign_filter_campaign_filter.py +98 -0
  246. rapidata/api_client/models/i_campaign_filter_campaign_session_count_filter.py +101 -0
  247. rapidata/api_client/models/i_campaign_filter_country_filter.py +98 -0
  248. rapidata/api_client/models/i_campaign_filter_demographic_filter.py +100 -0
  249. rapidata/api_client/models/i_campaign_filter_device_filter.py +106 -0
  250. rapidata/api_client/models/i_campaign_filter_language_filter.py +98 -0
  251. rapidata/api_client/models/i_campaign_filter_new_user_filter.py +96 -0
  252. rapidata/api_client/models/i_campaign_filter_not_filter.py +113 -0
  253. rapidata/api_client/models/i_campaign_filter_or_filter.py +117 -0
  254. rapidata/api_client/models/i_campaign_filter_response_count_filter.py +103 -0
  255. rapidata/api_client/models/i_campaign_filter_user_action_restriction_filter.py +106 -0
  256. rapidata/api_client/models/i_campaign_filter_user_score_filter.py +102 -0
  257. rapidata/api_client/models/i_campaign_filter_user_state_filter.py +106 -0
  258. rapidata/api_client/models/i_dataset_metadata_input.py +154 -0
  259. rapidata/api_client/models/i_dataset_metadata_input_prompt_asset_metadata_input.py +100 -0
  260. rapidata/api_client/models/i_dataset_metadata_input_prompt_metadata_input.py +96 -0
  261. rapidata/api_client/models/i_dataset_metadata_input_transcription_metadata_input.py +96 -0
  262. rapidata/api_client/models/i_dataset_model.py +126 -0
  263. rapidata/api_client/models/i_dataset_model_clone_dataset_model.py +98 -0
  264. rapidata/api_client/models/i_metadata.py +252 -0
  265. rapidata/api_client/models/i_metadata_classification_metadata.py +109 -0
  266. rapidata/api_client/models/i_metadata_count_metadata.py +109 -0
  267. rapidata/api_client/models/i_metadata_duration_metadata.py +110 -0
  268. rapidata/api_client/models/i_metadata_file_type_metadata.py +110 -0
  269. rapidata/api_client/models/i_metadata_image_dimension_metadata.py +111 -0
  270. rapidata/api_client/models/i_metadata_input.py +126 -0
  271. rapidata/api_client/models/i_metadata_input_text_metadata_input.py +111 -0
  272. rapidata/api_client/models/i_metadata_location_metadata.py +111 -0
  273. rapidata/api_client/models/i_metadata_model.py +252 -0
  274. rapidata/api_client/models/i_metadata_model_classification_metadata_model.py +96 -0
  275. rapidata/api_client/models/i_metadata_model_count_metadata_model.py +96 -0
  276. rapidata/api_client/models/i_metadata_model_file_type_metadata_model.py +97 -0
  277. rapidata/api_client/models/i_metadata_model_image_dimension_metadata_model.py +98 -0
  278. rapidata/api_client/models/i_metadata_model_location_metadata_model.py +98 -0
  279. rapidata/api_client/models/i_metadata_model_original_filename_metadata_model.py +96 -0
  280. rapidata/api_client/models/i_metadata_model_source_url_metadata_model.py +96 -0
  281. rapidata/api_client/models/i_metadata_model_streams_metadata_model.py +100 -0
  282. rapidata/api_client/models/i_metadata_model_text_metadata_model.py +101 -0
  283. rapidata/api_client/models/i_metadata_model_video_duration_metadata_model.py +97 -0
  284. rapidata/api_client/models/i_metadata_original_filename_metadata.py +109 -0
  285. rapidata/api_client/models/i_metadata_source_url_metadata.py +109 -0
  286. rapidata/api_client/models/i_metadata_streams_metadata.py +113 -0
  287. rapidata/api_client/models/i_metadata_text_metadata.py +114 -0
  288. rapidata/api_client/models/i_metadata_video_duration_metadata.py +110 -0
  289. rapidata/api_client/models/i_order_workflow_model.py +168 -0
  290. rapidata/api_client/models/i_order_workflow_model_compare_workflow_model.py +146 -0
  291. rapidata/api_client/models/i_order_workflow_model_evaluation_workflow_model.py +108 -0
  292. rapidata/api_client/models/i_order_workflow_model_grouped_ranking_workflow_model.py +147 -0
  293. rapidata/api_client/models/i_order_workflow_model_simple_workflow_model.py +110 -0
  294. rapidata/api_client/models/i_pair_maker_config.py +126 -0
  295. rapidata/api_client/models/i_pair_maker_config_model.py +126 -0
  296. rapidata/api_client/models/i_pair_maker_config_model_online_pair_maker_config_model.py +98 -0
  297. rapidata/api_client/models/i_pair_maker_config_online_pair_maker_config.py +98 -0
  298. rapidata/api_client/models/i_pair_maker_information.py +126 -0
  299. rapidata/api_client/models/i_pair_maker_information_online_pair_maker_information.py +100 -0
  300. rapidata/api_client/models/i_pipeline_artifact_model.py +126 -0
  301. rapidata/api_client/models/i_pipeline_artifact_model_create_dataset_artifact_model.py +102 -0
  302. rapidata/api_client/models/i_pipeline_model.py +126 -0
  303. rapidata/api_client/models/i_pipeline_model_create_simple_pipeline_model.py +116 -0
  304. rapidata/api_client/models/i_pipeline_step_model.py +168 -0
  305. rapidata/api_client/models/i_pipeline_step_model_dataset_evaluation_step_model.py +102 -0
  306. rapidata/api_client/models/i_pipeline_step_model_send_completion_mail_step_model.py +98 -0
  307. rapidata/api_client/models/i_pipeline_step_model_workflow_aggregation_step_model.py +103 -0
  308. rapidata/api_client/models/i_pipeline_step_model_workflow_labeling_step_model.py +96 -0
  309. rapidata/api_client/models/i_rapid_blueprint.py +252 -0
  310. rapidata/api_client/models/i_rapid_blueprint_attach_category_rapid_blueprint.py +108 -0
  311. rapidata/api_client/models/i_rapid_blueprint_bounding_box_rapid_blueprint.py +96 -0
  312. rapidata/api_client/models/i_rapid_blueprint_compare_rapid_blueprint.py +98 -0
  313. rapidata/api_client/models/i_rapid_blueprint_free_text_rapid_blueprint.py +105 -0
  314. rapidata/api_client/models/i_rapid_blueprint_line_rapid_blueprint.py +96 -0
  315. rapidata/api_client/models/i_rapid_blueprint_locate_rapid_blueprint.py +96 -0
  316. rapidata/api_client/models/i_rapid_blueprint_named_entity_rapid_blueprint.py +98 -0
  317. rapidata/api_client/models/i_rapid_blueprint_polygon_rapid_blueprint.py +96 -0
  318. rapidata/api_client/models/i_rapid_blueprint_scrub_rapid_blueprint.py +96 -0
  319. rapidata/api_client/models/i_rapid_blueprint_transcription_rapid_blueprint.py +96 -0
  320. rapidata/api_client/models/i_rapid_payload.py +252 -0
  321. rapidata/api_client/models/i_rapid_payload_bounding_box_payload.py +96 -0
  322. rapidata/api_client/models/i_rapid_payload_classify_payload.py +106 -0
  323. rapidata/api_client/models/i_rapid_payload_compare_payload.py +96 -0
  324. rapidata/api_client/models/i_rapid_payload_free_text_payload.py +105 -0
  325. rapidata/api_client/models/i_rapid_payload_line_payload.py +96 -0
  326. rapidata/api_client/models/i_rapid_payload_locate_payload.py +96 -0
  327. rapidata/api_client/models/i_rapid_payload_named_entity_payload.py +98 -0
  328. rapidata/api_client/models/i_rapid_payload_polygon_payload.py +96 -0
  329. rapidata/api_client/models/i_rapid_payload_scrub_payload.py +96 -0
  330. rapidata/api_client/models/i_rapid_payload_transcription_payload.py +106 -0
  331. rapidata/api_client/models/i_rapid_result.py +266 -0
  332. rapidata/api_client/models/i_rapid_result_attach_category_result.py +98 -0
  333. rapidata/api_client/models/i_rapid_result_bounding_box_result.py +106 -0
  334. rapidata/api_client/models/i_rapid_result_compare_result.py +98 -0
  335. rapidata/api_client/models/i_rapid_result_free_text_result.py +98 -0
  336. rapidata/api_client/models/i_rapid_result_line_result.py +106 -0
  337. rapidata/api_client/models/i_rapid_result_locate_result.py +106 -0
  338. rapidata/api_client/models/i_rapid_result_named_entity_result.py +106 -0
  339. rapidata/api_client/models/i_rapid_result_polygon_result.py +106 -0
  340. rapidata/api_client/models/i_rapid_result_scrub_result.py +98 -0
  341. rapidata/api_client/models/i_rapid_result_skip_result.py +96 -0
  342. rapidata/api_client/models/i_rapid_result_transcription_result.py +106 -0
  343. rapidata/api_client/models/i_referee_config.py +154 -0
  344. rapidata/api_client/models/i_referee_config_naive_referee_config.py +96 -0
  345. rapidata/api_client/models/i_referee_config_never_ending_referee_config.py +94 -0
  346. rapidata/api_client/models/i_referee_config_probabilistic_attach_category_referee_config.py +98 -0
  347. rapidata/api_client/models/i_referee_info.py +154 -0
  348. rapidata/api_client/models/i_referee_info_naive_referee_info.py +96 -0
  349. rapidata/api_client/models/i_referee_info_never_ending_referee_info.py +94 -0
  350. rapidata/api_client/models/i_referee_info_probabilistic_attach_category_referee_info.py +98 -0
  351. rapidata/api_client/models/i_referee_model.py +140 -0
  352. rapidata/api_client/models/i_referee_model_early_stopping_referee_model.py +98 -0
  353. rapidata/api_client/models/i_referee_model_naive_referee_model.py +96 -0
  354. rapidata/api_client/models/i_selection.py +240 -0
  355. rapidata/api_client/models/i_selection_ab_test_selection.py +122 -0
  356. rapidata/api_client/models/i_selection_capped_selection.py +108 -0
  357. rapidata/api_client/models/i_selection_conditional_validation_selection.py +110 -0
  358. rapidata/api_client/models/i_selection_demographic_selection.py +98 -0
  359. rapidata/api_client/models/i_selection_effort_capped_selection.py +101 -0
  360. rapidata/api_client/models/i_selection_labeling_selection.py +103 -0
  361. rapidata/api_client/models/i_selection_shuffling_selection.py +106 -0
  362. rapidata/api_client/models/i_selection_static_selection.py +96 -0
  363. rapidata/api_client/models/i_selection_validation_selection.py +98 -0
  364. rapidata/api_client/models/i_user_filter_model.py +296 -0
  365. rapidata/api_client/models/i_user_filter_model_age_user_filter_model.py +104 -0
  366. rapidata/api_client/models/i_user_filter_model_and_user_filter_model.py +106 -0
  367. rapidata/api_client/models/i_user_filter_model_campaign_user_filter_model.py +96 -0
  368. rapidata/api_client/models/i_user_filter_model_country_user_filter_model.py +96 -0
  369. rapidata/api_client/models/i_user_filter_model_custom_user_filter_model.py +98 -0
  370. rapidata/api_client/models/i_user_filter_model_device_user_filter_model.py +104 -0
  371. rapidata/api_client/models/i_user_filter_model_gender_user_filter_model.py +104 -0
  372. rapidata/api_client/models/i_user_filter_model_language_user_filter_model.py +96 -0
  373. rapidata/api_client/models/i_user_filter_model_new_user_filter_model.py +94 -0
  374. rapidata/api_client/models/i_user_filter_model_not_user_filter_model.py +102 -0
  375. rapidata/api_client/models/i_user_filter_model_or_user_filter_model.py +106 -0
  376. rapidata/api_client/models/i_user_filter_model_response_count_user_filter_model.py +101 -0
  377. rapidata/api_client/models/i_user_filter_model_user_score_user_filter_model.py +105 -0
  378. rapidata/api_client/models/i_validation_metadata_input.py +140 -0
  379. rapidata/api_client/models/i_validation_metadata_input_prompt_asset_metadata_input.py +100 -0
  380. rapidata/api_client/models/i_validation_metadata_input_prompt_metadata_input.py +96 -0
  381. rapidata/api_client/models/i_validation_truth.py +280 -0
  382. rapidata/api_client/models/i_validation_truth_attach_category_truth.py +96 -0
  383. rapidata/api_client/models/i_validation_truth_bounding_box_truth.py +102 -0
  384. rapidata/api_client/models/i_validation_truth_compare_truth.py +96 -0
  385. rapidata/api_client/models/i_validation_truth_empty_validation_truth.py +94 -0
  386. rapidata/api_client/models/i_validation_truth_line_truth.py +94 -0
  387. rapidata/api_client/models/i_validation_truth_locate_box_truth.py +108 -0
  388. rapidata/api_client/models/i_validation_truth_model.py +294 -0
  389. rapidata/api_client/models/i_validation_truth_model_attach_category_truth_model.py +96 -0
  390. rapidata/api_client/models/i_validation_truth_model_bounding_box_truth_model.py +102 -0
  391. rapidata/api_client/models/i_validation_truth_model_classify_truth_model.py +96 -0
  392. rapidata/api_client/models/i_validation_truth_model_compare_truth_model.py +96 -0
  393. rapidata/api_client/models/i_validation_truth_model_empty_validation_truth_model.py +94 -0
  394. rapidata/api_client/models/i_validation_truth_model_line_truth_model.py +94 -0
  395. rapidata/api_client/models/i_validation_truth_model_locate_box_truth_model.py +108 -0
  396. rapidata/api_client/models/i_validation_truth_model_multi_compare_truth_model.py +96 -0
  397. rapidata/api_client/models/i_validation_truth_model_named_entity_truth_model.py +104 -0
  398. rapidata/api_client/models/i_validation_truth_model_polygon_truth_model.py +94 -0
  399. rapidata/api_client/models/i_validation_truth_model_scrub_truth_model.py +104 -0
  400. rapidata/api_client/models/i_validation_truth_model_skip_truth_model.py +94 -0
  401. rapidata/api_client/models/i_validation_truth_model_transcription_truth_model.py +115 -0
  402. rapidata/api_client/models/i_validation_truth_multi_compare_truth.py +96 -0
  403. rapidata/api_client/models/i_validation_truth_named_entity_truth.py +104 -0
  404. rapidata/api_client/models/i_validation_truth_polygon_truth.py +94 -0
  405. rapidata/api_client/models/i_validation_truth_scrub_truth.py +104 -0
  406. rapidata/api_client/models/i_validation_truth_skip_truth.py +94 -0
  407. rapidata/api_client/models/i_validation_truth_transcription_truth.py +115 -0
  408. rapidata/api_client/models/i_workflow_config.py +168 -0
  409. rapidata/api_client/models/i_workflow_config_compare_workflow_config.py +142 -0
  410. rapidata/api_client/models/i_workflow_config_evaluation_workflow_config.py +114 -0
  411. rapidata/api_client/models/i_workflow_config_grouped_ranking_workflow_config.py +155 -0
  412. rapidata/api_client/models/i_workflow_config_simple_workflow_config.py +116 -0
  413. rapidata/api_client/models/i_workflow_model.py +168 -0
  414. rapidata/api_client/models/i_workflow_model_compare_workflow_model.py +145 -0
  415. rapidata/api_client/models/i_workflow_model_evaluation_workflow_model.py +115 -0
  416. rapidata/api_client/models/i_workflow_model_grouped_ranking_workflow_model.py +121 -0
  417. rapidata/api_client/models/i_workflow_model_simple_workflow_model.py +119 -0
  418. rapidata/api_client/models/inquire_file_metadata_result.py +100 -0
  419. rapidata/api_client/models/inspect_report_result.py +2 -2
  420. rapidata/api_client/models/job_definition_revision_state.py +38 -0
  421. rapidata/api_client/models/json_web_key.py +2 -36
  422. rapidata/api_client/models/json_web_key_set.py +2 -22
  423. rapidata/api_client/models/labeling_selection.py +9 -2
  424. rapidata/api_client/models/leaderboards_query_result.py +135 -0
  425. rapidata/api_client/models/line_result.py +3 -3
  426. rapidata/api_client/models/line_result_line.py +97 -0
  427. rapidata/api_client/models/line_result_line_point.py +89 -0
  428. rapidata/api_client/models/locate_coordinate.py +4 -13
  429. rapidata/api_client/models/logic_operator.py +2 -2
  430. rapidata/api_client/models/metadata_i_order_metadata_input.py +154 -0
  431. rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_asset_metadata_input.py +100 -0
  432. rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_metadata_input.py +96 -0
  433. rapidata/api_client/models/metadata_i_order_metadata_input_metadata_transcription_metadata_input.py +96 -0
  434. rapidata/api_client/models/metadata_prompt_asset_metadata_input.py +100 -0
  435. rapidata/api_client/models/metadata_prompt_metadata_input.py +96 -0
  436. rapidata/api_client/models/metadata_transcription_metadata_input.py +96 -0
  437. rapidata/api_client/models/multi_asset.py +6 -6
  438. rapidata/api_client/models/multi_asset_assets_inner.py +170 -0
  439. rapidata/api_client/models/multi_asset_input.py +21 -1
  440. rapidata/api_client/models/multi_asset_input1_assets_inner.py +40 -12
  441. rapidata/api_client/models/multi_asset_input3_assets_inner.py +40 -12
  442. rapidata/api_client/models/multi_asset_input_assets_inner.py +16 -30
  443. rapidata/api_client/models/multi_asset_model.py +3 -3
  444. rapidata/api_client/models/naive_referee_model.py +2 -2
  445. rapidata/api_client/models/named_classification.py +4 -13
  446. rapidata/api_client/models/newsletter_model.py +6 -6
  447. rapidata/api_client/models/not_available_yet_result.py +4 -13
  448. rapidata/api_client/models/null_asset.py +3 -5
  449. rapidata/api_client/models/online_pair_maker_config_model.py +3 -3
  450. rapidata/api_client/models/option_of_aggregator_type.py +49 -0
  451. rapidata/api_client/models/order_model.py +12 -5
  452. rapidata/api_client/models/order_state.py +2 -2
  453. rapidata/api_client/models/page_info.py +2 -7
  454. rapidata/api_client/models/paged_result_aggregated_orders_model.py +105 -0
  455. rapidata/api_client/models/paged_result_benchmark_query_result.py +105 -0
  456. rapidata/api_client/models/paged_result_campaign_query_result.py +105 -0
  457. rapidata/api_client/models/paged_result_clients_query_result.py +105 -0
  458. rapidata/api_client/models/paged_result_datapoint_model.py +105 -0
  459. rapidata/api_client/models/paged_result_get_compare_workflow_results_result.py +105 -0
  460. rapidata/api_client/models/paged_result_get_grouped_ranking_workflow_results_result.py +105 -0
  461. rapidata/api_client/models/paged_result_get_validation_rapids_result.py +105 -0
  462. rapidata/api_client/models/paged_result_get_workflow_results_result.py +105 -0
  463. rapidata/api_client/models/paged_result_i_workflow_model.py +105 -0
  464. rapidata/api_client/models/paged_result_leaderboard_query_result.py +105 -0
  465. rapidata/api_client/models/paged_result_leaderboards_query_result.py +105 -0
  466. rapidata/api_client/models/paged_result_of_aggregated_orders_model.py +103 -0
  467. rapidata/api_client/models/paged_result_of_benchmark_query_result.py +103 -0
  468. rapidata/api_client/models/paged_result_of_campaign_query_result.py +103 -0
  469. rapidata/api_client/models/paged_result_of_clients_query_result.py +103 -0
  470. rapidata/api_client/models/paged_result_of_get_compare_workflow_results_result.py +103 -0
  471. rapidata/api_client/models/paged_result_of_get_grouped_ranking_workflow_results_result.py +103 -0
  472. rapidata/api_client/models/paged_result_of_get_validation_rapids_result.py +103 -0
  473. rapidata/api_client/models/paged_result_of_get_workflow_results_result.py +103 -0
  474. rapidata/api_client/models/paged_result_of_i_workflow_model.py +103 -0
  475. rapidata/api_client/models/paged_result_of_leaderboards_query_result.py +103 -0
  476. rapidata/api_client/models/paged_result_of_order_model.py +103 -0
  477. rapidata/api_client/models/paged_result_of_participant_by_benchmark.py +103 -0
  478. rapidata/api_client/models/paged_result_of_prompt_by_benchmark_result.py +103 -0
  479. rapidata/api_client/models/paged_result_of_query_audiences_result.py +103 -0
  480. rapidata/api_client/models/paged_result_of_query_datapoints_by_dataset_id_result.py +103 -0
  481. rapidata/api_client/models/paged_result_of_query_job_definitions_result.py +103 -0
  482. rapidata/api_client/models/paged_result_of_query_job_revisions_result.py +103 -0
  483. rapidata/api_client/models/paged_result_of_query_jobs_result.py +103 -0
  484. rapidata/api_client/models/paged_result_of_query_rapids_for_audience_result.py +103 -0
  485. rapidata/api_client/models/paged_result_of_query_validation_rapid_eligibility_result.py +103 -0
  486. rapidata/api_client/models/paged_result_of_rapid_model.py +103 -0
  487. rapidata/api_client/models/paged_result_of_runs_by_leaderboard_result.py +103 -0
  488. rapidata/api_client/models/paged_result_of_sample_by_identifier.py +103 -0
  489. rapidata/api_client/models/paged_result_of_sample_by_participant.py +103 -0
  490. rapidata/api_client/models/paged_result_of_standing_by_leaderboard.py +103 -0
  491. rapidata/api_client/models/paged_result_of_validation_set_model.py +103 -0
  492. rapidata/api_client/models/paged_result_order_model.py +105 -0
  493. rapidata/api_client/models/paged_result_participant_by_benchmark.py +105 -0
  494. rapidata/api_client/models/paged_result_potential_validation_rapid.py +105 -0
  495. rapidata/api_client/models/paged_result_prompt_by_benchmark_result.py +105 -0
  496. rapidata/api_client/models/paged_result_query_audiences_result.py +105 -0
  497. rapidata/api_client/models/paged_result_query_datapoints_by_dataset_id_result.py +105 -0
  498. rapidata/api_client/models/paged_result_query_validation_rapid_eligibility_result.py +105 -0
  499. rapidata/api_client/models/paged_result_rapid_model.py +105 -0
  500. rapidata/api_client/models/paged_result_runs_by_leaderboard_result.py +105 -0
  501. rapidata/api_client/models/paged_result_sample_by_identifier.py +105 -0
  502. rapidata/api_client/models/paged_result_sample_by_participant.py +105 -0
  503. rapidata/api_client/models/paged_result_standing_by_leaderboard.py +105 -0
  504. rapidata/api_client/models/paged_result_validation_set_model.py +105 -0
  505. rapidata/api_client/models/participant_by_benchmark.py +3 -5
  506. rapidata/api_client/models/participant_status.py +2 -2
  507. rapidata/api_client/models/polygon_result.py +3 -3
  508. rapidata/api_client/models/polygon_result_coordinate.py +89 -0
  509. rapidata/api_client/models/polygon_result_shape.py +95 -0
  510. rapidata/api_client/models/preliminary_download_model.py +5 -5
  511. rapidata/api_client/models/preview_order_model.py +5 -5
  512. rapidata/api_client/models/problem_details.py +2 -20
  513. rapidata/api_client/models/prompt_asset_metadata_input.py +4 -6
  514. rapidata/api_client/models/prompt_asset_metadata_input_asset.py +25 -41
  515. rapidata/api_client/models/prompt_by_benchmark_result.py +5 -5
  516. rapidata/api_client/models/prompt_metadata_input.py +5 -7
  517. rapidata/api_client/models/proxy_file_wrapper.py +17 -2
  518. rapidata/api_client/models/public_order_model.py +2 -2
  519. rapidata/api_client/models/query_audiences_result.py +118 -0
  520. rapidata/api_client/models/query_datapoints_by_dataset_id_result.py +95 -0
  521. rapidata/api_client/models/query_job_definitions_result.py +97 -0
  522. rapidata/api_client/models/query_job_revisions_result.py +95 -0
  523. rapidata/api_client/models/query_jobs_result.py +103 -0
  524. rapidata/api_client/models/query_model.py +10 -5
  525. rapidata/api_client/models/query_rapids_for_audience_result.py +150 -0
  526. rapidata/api_client/models/query_validation_rapid_eligibility_model_query_validation_model.py +107 -0
  527. rapidata/api_client/models/query_validation_rapid_eligibility_result.py +103 -0
  528. rapidata/api_client/models/query_validation_rapid_eligibility_result_truth.py +280 -0
  529. rapidata/api_client/models/rapid_issue.py +2 -2
  530. rapidata/api_client/models/rapid_model.py +30 -40
  531. rapidata/api_client/models/rapid_result_model.py +7 -7
  532. rapidata/api_client/models/rapid_skipped_model.py +5 -5
  533. rapidata/api_client/models/rapid_state.py +2 -2
  534. rapidata/api_client/models/read_bridge_token_keys_result.py +10 -24
  535. rapidata/api_client/models/reference_asset_input.py +100 -0
  536. rapidata/api_client/models/report_model.py +7 -7
  537. rapidata/api_client/models/retrieval_mode.py +2 -2
  538. rapidata/api_client/models/root_filter.py +2 -2
  539. rapidata/api_client/models/run_status.py +2 -2
  540. rapidata/api_client/models/runs_by_leaderboard_result.py +3 -3
  541. rapidata/api_client/models/sample_by_identifier.py +7 -8
  542. rapidata/api_client/models/sample_by_participant.py +7 -8
  543. rapidata/api_client/models/scrub_range.py +2 -2
  544. rapidata/api_client/models/send_survey_model.py +87 -0
  545. rapidata/api_client/models/simple_workflow_config.py +3 -3
  546. rapidata/api_client/models/simple_workflow_model.py +2 -2
  547. rapidata/api_client/models/simple_workflow_model1.py +4 -11
  548. rapidata/api_client/models/simple_workflow_model_blueprint.py +1 -1
  549. rapidata/api_client/models/sort_criterion.py +2 -2
  550. rapidata/api_client/models/sort_direction.py +2 -2
  551. rapidata/api_client/models/standing_by_benchmark.py +113 -0
  552. rapidata/api_client/models/standing_by_leaderboard.py +16 -12
  553. rapidata/api_client/models/standing_status.py +2 -2
  554. rapidata/api_client/models/standings_by_benchmark_result.py +95 -0
  555. rapidata/api_client/models/standings_by_leaderboard_result.py +2 -2
  556. rapidata/api_client/models/start_preliminary_download_result.py +87 -0
  557. rapidata/api_client/models/sticky_state.py +3 -2
  558. rapidata/api_client/models/stream_file_wrapper.py +25 -3
  559. rapidata/api_client/models/string_segment.py +105 -0
  560. rapidata/api_client/models/submit_order_model.py +5 -5
  561. rapidata/api_client/models/submit_participant_result.py +2 -2
  562. rapidata/api_client/models/submit_prompt_model.py +9 -14
  563. rapidata/api_client/models/submit_prompt_model_prompt_asset.py +40 -12
  564. rapidata/api_client/models/tags_by_benchmark_result.py +2 -2
  565. rapidata/api_client/models/text_asset.py +3 -5
  566. rapidata/api_client/models/text_asset_input.py +21 -1
  567. rapidata/api_client/models/text_metadata.py +6 -1
  568. rapidata/api_client/models/text_metadata_input.py +111 -0
  569. rapidata/api_client/models/text_metadata_model.py +7 -2
  570. rapidata/api_client/models/transcription_metadata_input.py +5 -7
  571. rapidata/api_client/models/transcription_word.py +2 -2
  572. rapidata/api_client/models/translated_string.py +2 -2
  573. rapidata/api_client/models/unlock_order_result.py +2 -2
  574. rapidata/api_client/models/update_audience_request.py +113 -0
  575. rapidata/api_client/models/update_benchmark_model.py +99 -0
  576. rapidata/api_client/models/update_benchmark_name_model.py +5 -5
  577. rapidata/api_client/models/update_campaign_model.py +11 -11
  578. rapidata/api_client/models/update_dataset_name_model.py +5 -5
  579. rapidata/api_client/models/update_dimensions_model.py +3 -3
  580. rapidata/api_client/models/update_job_definition_endpoint_input.py +92 -0
  581. rapidata/api_client/models/update_leaderboard_model.py +18 -3
  582. rapidata/api_client/models/update_leaderboard_name_model.py +5 -5
  583. rapidata/api_client/models/update_leaderboard_response_config_model.py +5 -5
  584. rapidata/api_client/models/update_order_name_model.py +5 -5
  585. rapidata/api_client/models/update_participant_model.py +92 -0
  586. rapidata/api_client/models/update_participant_name_model.py +5 -5
  587. rapidata/api_client/models/update_priority_model.py +87 -0
  588. rapidata/api_client/models/update_prompt_tags_model.py +5 -5
  589. rapidata/api_client/models/update_should_alert_model.py +4 -4
  590. rapidata/api_client/models/update_validation_rapid_model.py +35 -14
  591. rapidata/api_client/models/update_validation_rapid_model_context_asset.py +160 -0
  592. rapidata/api_client/models/update_validation_set_model.py +120 -0
  593. rapidata/api_client/models/upload_asset_result.py +102 -0
  594. rapidata/api_client/models/upload_file_from_url_result.py +87 -0
  595. rapidata/api_client/models/upload_file_result.py +87 -0
  596. rapidata/api_client/models/user_action_restriction.py +37 -0
  597. rapidata/api_client/models/user_action_restriction_filter.py +101 -0
  598. rapidata/api_client/models/validation_chance.py +20 -3
  599. rapidata/api_client/models/validation_problem_details.py +117 -0
  600. rapidata/api_client/models/validation_set_model.py +11 -16
  601. rapidata/api_client/models/validation_set_overview_model.py +2 -2
  602. rapidata/api_client/models/workflow_config_artifact_model_workflow_config.py +23 -9
  603. rapidata/api_client/models/workflow_state.py +2 -2
  604. rapidata/api_client/models/zip_entry_file_wrapper.py +33 -2
  605. rapidata/api_client/rest.py +2 -2
  606. rapidata/api_client_README.md +371 -326
  607. rapidata/rapidata_client/__init__.py +14 -11
  608. rapidata/rapidata_client/api/{rapidata_exception.py → rapidata_api_client.py} +119 -2
  609. rapidata/rapidata_client/audience/__init__.py +2 -0
  610. rapidata/rapidata_client/audience/audience_example_handler.py +168 -0
  611. rapidata/rapidata_client/audience/rapidata_audience.py +287 -0
  612. rapidata/rapidata_client/audience/rapidata_audience_manager.py +162 -0
  613. rapidata/rapidata_client/benchmark/_detail_mapper.py +11 -9
  614. rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py +98 -54
  615. rapidata/rapidata_client/benchmark/participant/_participant.py +57 -32
  616. rapidata/rapidata_client/benchmark/rapidata_benchmark.py +384 -246
  617. rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py +137 -81
  618. rapidata/rapidata_client/config/__init__.py +3 -0
  619. rapidata/rapidata_client/config/logger.py +135 -0
  620. rapidata/rapidata_client/config/logging_config.py +55 -0
  621. rapidata/rapidata_client/config/managed_print.py +6 -0
  622. rapidata/rapidata_client/config/order_config.py +14 -0
  623. rapidata/rapidata_client/config/rapidata_config.py +15 -10
  624. rapidata/rapidata_client/config/tracer.py +184 -0
  625. rapidata/rapidata_client/config/upload_config.py +64 -0
  626. rapidata/rapidata_client/datapoints/__init__.py +0 -3
  627. rapidata/rapidata_client/datapoints/_asset_uploader.py +184 -0
  628. rapidata/rapidata_client/datapoints/_datapoint.py +72 -176
  629. rapidata/rapidata_client/datapoints/_datapoint_uploader.py +47 -0
  630. rapidata/rapidata_client/datapoints/_datapoints_validator.py +70 -0
  631. rapidata/rapidata_client/datapoints/assets/__init__.py +0 -10
  632. rapidata/rapidata_client/datapoints/metadata/__init__.py +0 -2
  633. rapidata/rapidata_client/datapoints/metadata/_private_text_metadata.py +5 -6
  634. rapidata/rapidata_client/datapoints/metadata/_prompt_identifier_metadata.py +4 -5
  635. rapidata/rapidata_client/datapoints/metadata/_public_text_metadata.py +5 -6
  636. rapidata/rapidata_client/datapoints/metadata/_select_words_metadata.py +3 -4
  637. rapidata/rapidata_client/dataset/__init__.py +1 -0
  638. rapidata/rapidata_client/dataset/_rapidata_dataset.py +55 -0
  639. rapidata/rapidata_client/demographic/demographic_manager.py +44 -19
  640. rapidata/rapidata_client/exceptions/failed_upload_exception.py +10 -65
  641. rapidata/rapidata_client/filter/_backend_filter_mapper.py +134 -0
  642. rapidata/rapidata_client/filter/_base_filter.py +13 -8
  643. rapidata/rapidata_client/filter/age_filter.py +26 -10
  644. rapidata/rapidata_client/filter/and_filter.py +36 -11
  645. rapidata/rapidata_client/filter/campaign_filter.py +21 -10
  646. rapidata/rapidata_client/filter/country_filter.py +46 -12
  647. rapidata/rapidata_client/filter/custom_filter.py +25 -12
  648. rapidata/rapidata_client/filter/gender_filter.py +25 -10
  649. rapidata/rapidata_client/filter/language_filter.py +51 -21
  650. rapidata/rapidata_client/filter/models/age_group.py +14 -12
  651. rapidata/rapidata_client/filter/models/gender.py +12 -8
  652. rapidata/rapidata_client/filter/new_user_filter.py +14 -4
  653. rapidata/rapidata_client/filter/not_filter.py +35 -11
  654. rapidata/rapidata_client/filter/or_filter.py +36 -11
  655. rapidata/rapidata_client/filter/rapidata_filters.py +17 -23
  656. rapidata/rapidata_client/filter/response_count_filter.py +40 -14
  657. rapidata/rapidata_client/filter/user_score_filter.py +62 -24
  658. rapidata/rapidata_client/job/__init__.py +3 -0
  659. rapidata/rapidata_client/job/job_definition.py +110 -0
  660. rapidata/rapidata_client/job/job_manager.py +758 -0
  661. rapidata/rapidata_client/job/rapidata_job.py +326 -0
  662. rapidata/rapidata_client/order/__init__.py +2 -0
  663. rapidata/rapidata_client/order/_rapidata_order_builder.py +236 -196
  664. rapidata/rapidata_client/order/rapidata_order.py +271 -176
  665. rapidata/rapidata_client/order/rapidata_order_manager.py +520 -364
  666. rapidata/rapidata_client/rapidata_client.py +96 -29
  667. rapidata/rapidata_client/referee/__init__.py +1 -1
  668. rapidata/rapidata_client/referee/_base_referee.py +14 -3
  669. rapidata/rapidata_client/referee/_early_stopping_referee.py +32 -17
  670. rapidata/rapidata_client/referee/_naive_referee.py +24 -3
  671. rapidata/rapidata_client/results/__init__.py +3 -0
  672. rapidata/rapidata_client/{order → results}/rapidata_results.py +86 -63
  673. rapidata/rapidata_client/selection/_base_selection.py +9 -2
  674. rapidata/rapidata_client/selection/ab_test_selection.py +28 -20
  675. rapidata/rapidata_client/selection/capped_selection.py +23 -16
  676. rapidata/rapidata_client/selection/conditional_validation_selection.py +43 -24
  677. rapidata/rapidata_client/selection/demographic_selection.py +21 -6
  678. rapidata/rapidata_client/selection/effort_selection.py +20 -8
  679. rapidata/rapidata_client/selection/labeling_selection.py +21 -10
  680. rapidata/rapidata_client/selection/rapidata_selections.py +23 -14
  681. rapidata/rapidata_client/selection/shuffling_selection.py +21 -13
  682. rapidata/rapidata_client/selection/static_selection.py +19 -8
  683. rapidata/rapidata_client/selection/validation_selection.py +20 -4
  684. rapidata/rapidata_client/settings/__init__.py +2 -0
  685. rapidata/rapidata_client/settings/_rapidata_setting.py +22 -3
  686. rapidata/rapidata_client/settings/alert_on_fast_response.py +8 -5
  687. rapidata/rapidata_client/settings/allow_neither_both.py +3 -0
  688. rapidata/rapidata_client/settings/custom_setting.py +3 -2
  689. rapidata/rapidata_client/settings/free_text_minimum_characters.py +9 -4
  690. rapidata/rapidata_client/settings/models/translation_behaviour_options.py +3 -2
  691. rapidata/rapidata_client/settings/mute_video.py +15 -0
  692. rapidata/rapidata_client/settings/no_shuffle.py +4 -2
  693. rapidata/rapidata_client/settings/play_video_until_the_end.py +7 -4
  694. rapidata/rapidata_client/settings/rapidata_settings.py +22 -9
  695. rapidata/rapidata_client/settings/swap_context_instruction.py +20 -0
  696. rapidata/rapidata_client/settings/translation_behaviour.py +7 -5
  697. rapidata/rapidata_client/utils/__init__.py +3 -0
  698. rapidata/rapidata_client/utils/threaded_uploader.py +153 -0
  699. rapidata/rapidata_client/validation/__init__.py +2 -0
  700. rapidata/rapidata_client/validation/rapidata_validation_set.py +68 -21
  701. rapidata/rapidata_client/validation/rapids/__init__.py +2 -0
  702. rapidata/rapidata_client/validation/rapids/_validation_rapid_uploader.py +48 -0
  703. rapidata/rapidata_client/validation/rapids/box.py +37 -12
  704. rapidata/rapidata_client/validation/rapids/rapids.py +28 -109
  705. rapidata/rapidata_client/validation/rapids/rapids_manager.py +369 -211
  706. rapidata/rapidata_client/validation/validation_set_manager.py +417 -294
  707. rapidata/rapidata_client/workflow/__init__.py +2 -2
  708. rapidata/rapidata_client/workflow/_base_workflow.py +17 -26
  709. rapidata/rapidata_client/workflow/_classify_workflow.py +44 -17
  710. rapidata/rapidata_client/workflow/_compare_workflow.py +33 -14
  711. rapidata/rapidata_client/workflow/_draw_workflow.py +35 -13
  712. rapidata/rapidata_client/workflow/_evaluation_workflow.py +20 -6
  713. rapidata/rapidata_client/workflow/_free_text_workflow.py +34 -15
  714. rapidata/rapidata_client/workflow/_locate_workflow.py +35 -13
  715. rapidata/rapidata_client/workflow/_multi_ranking_workflow.py +90 -0
  716. rapidata/rapidata_client/workflow/_select_words_workflow.py +38 -32
  717. rapidata/rapidata_client/workflow/_timestamp_workflow.py +35 -13
  718. rapidata/service/__init__.py +0 -1
  719. rapidata/service/credential_manager.py +1 -1
  720. rapidata/service/openapi_service.py +99 -23
  721. rapidata/types/__init__.py +149 -0
  722. rapidata-3.0.0a8.dist-info/METADATA +32 -0
  723. rapidata-3.0.0a8.dist-info/RECORD +1083 -0
  724. {rapidata-2.37.0.dist-info → rapidata-3.0.0a8.dist-info}/WHEEL +1 -1
  725. rapidata/rapidata_client/country_codes/__init__.py +0 -1
  726. rapidata/rapidata_client/country_codes/country_codes.py +0 -19
  727. rapidata/rapidata_client/datapoints/assets/_base_asset.py +0 -11
  728. rapidata/rapidata_client/datapoints/assets/_media_asset.py +0 -318
  729. rapidata/rapidata_client/datapoints/assets/_multi_asset.py +0 -61
  730. rapidata/rapidata_client/datapoints/assets/_sessions.py +0 -40
  731. rapidata/rapidata_client/datapoints/assets/_text_asset.py +0 -34
  732. rapidata/rapidata_client/datapoints/assets/data_type_enum.py +0 -8
  733. rapidata/rapidata_client/datapoints/metadata/_media_asset_metadata.py +0 -22
  734. rapidata/rapidata_client/datapoints/metadata/_prompt_metadata.py +0 -18
  735. rapidata/rapidata_client/logging/__init__.py +0 -2
  736. rapidata/rapidata_client/logging/logger.py +0 -122
  737. rapidata/rapidata_client/logging/output_manager.py +0 -20
  738. rapidata/rapidata_client/order/_rapidata_dataset.py +0 -447
  739. rapidata/rapidata_client/workflow/_ranking_workflow.py +0 -71
  740. rapidata/service/local_file_service.py +0 -25
  741. rapidata-2.37.0.dist-info/METADATA +0 -35
  742. rapidata-2.37.0.dist-info/RECORD +0 -687
  743. {rapidata-2.37.0.dist-info → rapidata-3.0.0a8.dist-info/licenses}/LICENSE +0 -0
@@ -1,17 +1,22 @@
1
1
  from rapidata.rapidata_client.settings._rapidata_setting import RapidataSetting
2
- from rapidata.rapidata_client.logging import managed_print, logger
2
+ from rapidata.rapidata_client.config import managed_print
3
+
3
4
 
4
5
  class FreeTextMinimumCharacters(RapidataSetting):
5
6
  """
6
7
  Set the minimum number of characters a user has to type.
7
-
8
+
8
9
  Args:
9
10
  value (int): The minimum number of characters for free text.
10
11
  """
11
12
 
12
13
  def __init__(self, value: int):
13
14
  if value < 1:
14
- raise ValueError("The minimum number of characters must be greater than or equal to 1.")
15
+ raise ValueError(
16
+ "The minimum number of characters must be greater than or equal to 1."
17
+ )
15
18
  if value > 40:
16
- managed_print(f"Warning: Are you sure you want to set the minimum number of characters at {value}?")
19
+ managed_print(
20
+ f"Warning: Are you sure you want to set the minimum number of characters at {value}?"
21
+ )
17
22
  super().__init__(key="free_text_minimum_characters", value=value)
@@ -1,14 +1,15 @@
1
1
  from enum import Enum
2
2
 
3
+
3
4
  class TranslationBehaviourOptions(Enum):
4
5
  """The options for the translation behaviour setting.
5
-
6
+
6
7
  Attributes:
7
8
  BOTH: Show both the original and the translated text.
8
9
  May clutter the screen if the options are too long.
9
10
  ONLY_ORIGINAL: Show only the original text.
10
11
  ONLY_TRANSLATED: Show only the translated text."""
11
-
12
+
12
13
  BOTH = "both"
13
14
  ONLY_ORIGINAL = "only original"
14
15
  ONLY_TRANSLATED = "only translated"
@@ -0,0 +1,15 @@
1
+ from rapidata.rapidata_client.settings._rapidata_setting import RapidataSetting
2
+
3
+
4
+ class MuteVideo(RapidataSetting):
5
+ """
6
+ Mute the video. If this setting is not supplied, the video will not be muted.
7
+
8
+ Args:
9
+ value (bool): Whether to mute the video. Defaults to True.
10
+ """
11
+
12
+ def __init__(self, value: bool = True):
13
+ if not isinstance(value, bool):
14
+ raise ValueError("The value must be a boolean.")
15
+ super().__init__(key="mute_video_asset", value=value)
@@ -1,16 +1,18 @@
1
1
  from rapidata.rapidata_client.settings._rapidata_setting import RapidataSetting
2
2
 
3
+
3
4
  class NoShuffle(RapidataSetting):
4
5
  """
5
6
  Only for classification and compare tasks. If true, the order of the categories / images will not be shuffled and presented in the same order as specified.
6
7
 
7
8
  If this is not added to the order, the shuffling will be active.
8
-
9
+
9
10
  Args:
10
11
  value (bool, optional): Whether to disable shuffling. Defaults to True for function call.
11
12
  """
13
+
12
14
  def __init__(self, value: bool = True):
13
15
  if not isinstance(value, bool):
14
16
  raise ValueError("The value must be a boolean.")
15
-
17
+
16
18
  super().__init__(key="no_shuffle", value=value)
@@ -1,16 +1,19 @@
1
1
  from rapidata.rapidata_client.settings._rapidata_setting import RapidataSetting
2
2
 
3
+
3
4
  class PlayVideoUntilTheEnd(RapidataSetting):
4
5
  """
5
6
  Allows users to only answer once the video has finished playing.
6
7
  The additional time gets added on top of the video duration. Can be negative to allow answers before the video ends.
7
-
8
+
8
9
  Args:
9
10
  additional_time (int, optional): Additional time in milliseconds. Defaults to 0.
10
11
  """
11
-
12
+
12
13
  def __init__(self, additional_time: int = 0):
13
14
  if additional_time < -25000 or additional_time > 25000:
14
15
  raise ValueError("The additional time must be between -25000 and 25000.")
15
-
16
- super().__init__(key="alert_on_fast_response_add_media_duration", value=additional_time)
16
+
17
+ super().__init__(
18
+ key="alert_on_fast_response_add_media_duration", value=additional_time
19
+ )
@@ -5,14 +5,17 @@ from rapidata.rapidata_client.settings import (
5
5
  NoShuffle,
6
6
  PlayVideoUntilTheEnd,
7
7
  AllowNeitherBoth,
8
- )
8
+ SwapContextInstruction,
9
+ MuteVideo,
10
+ )
11
+
9
12
 
10
13
  class RapidataSettings:
11
14
  """
12
15
  Container class for all setting factory functions
13
16
 
14
17
  Settings can be added to an order to determine the behaviour of the task.
15
-
18
+
16
19
  Attributes:
17
20
  alert_on_fast_response (AlertOnFastResponse): Gives an alert as a pop up on the UI when the response time is less than the milliseconds.
18
21
  translation_behaviour (TranslationBehaviour): Defines what's the behaviour of the translation in the UI.
@@ -20,6 +23,8 @@ class RapidataSettings:
20
23
  no_shuffle (NoShuffle): Only for classification and compare tasks. If true, the order of the categories / images will not be shuffled and presented in the same order as specified.
21
24
  play_video_until_the_end (PlayVideoUntilTheEnd): Allows users to only answer once the video has finished playing.
22
25
  allow_neither_both (AllowNeitherBoth): Only for compare tasks. If true, the users will be able to select neither or both instead of exclusively one of the options.
26
+ swap_context_instruction (SwapContextInstruction): Swap the place of the context and instruction.
27
+ mute_video (MuteVideo): Mute the video.
23
28
 
24
29
  Example:
25
30
  ```python
@@ -27,12 +32,20 @@ class RapidataSettings:
27
32
  settings=[FreeTextMinimumCharacters(10)]
28
33
  ```
29
34
 
30
- This can be used in a free text order to set the minimum number of characters required to submit the task.
35
+ This can be used in a free text order to set the minimum number of characters required to submit the task.
31
36
  """
32
37
 
33
- alert_on_fast_response = AlertOnFastResponse
34
- translation_behaviour = TranslationBehaviour
35
- free_text_minimum_characters = FreeTextMinimumCharacters
36
- no_shuffle = NoShuffle
37
- play_video_until_the_end = PlayVideoUntilTheEnd
38
- allow_neither_both = AllowNeitherBoth
38
+ Alert_on_fast_response = AlertOnFastResponse
39
+ Translation_behaviour = TranslationBehaviour
40
+ Free_text_minimum_characters = FreeTextMinimumCharacters
41
+ No_shuffle = NoShuffle
42
+ Play_video_until_the_end = PlayVideoUntilTheEnd
43
+ Allow_neither_both = AllowNeitherBoth
44
+ Swap_context_instruction = SwapContextInstruction
45
+ Mute_video = MuteVideo
46
+
47
+ def __str__(self) -> str:
48
+ return f"RapidataSettings(Alert_on_fast_response={self.Alert_on_fast_response}, Translation_behaviour={self.Translation_behaviour}, Free_text_minimum_characters={self.Free_text_minimum_characters}, No_shuffle={self.No_shuffle}, Play_video_until_the_end={self.Play_video_until_the_end}, Allow_neither_both={self.Allow_neither_both}, Swap_context_instruction={self.Swap_context_instruction}, Mute_video={self.Mute_video})"
49
+
50
+ def __repr__(self) -> str:
51
+ return self.__str__()
@@ -0,0 +1,20 @@
1
+ from rapidata.rapidata_client.settings._rapidata_setting import RapidataSetting
2
+
3
+
4
+ class SwapContextInstruction(RapidataSetting):
5
+ """
6
+ Swap the place of the context and instruction.
7
+
8
+ If set to true, the instruction will be shown on top and the context below. if collapsed, only the instruction will be shown.
9
+
10
+ By default, the context will be shown on top and the instruction below.
11
+
12
+ Args:
13
+ value (bool): Whether to swap the place of the context and instruction.
14
+ """
15
+
16
+ def __init__(self, value: bool = True):
17
+ if not isinstance(value, bool):
18
+ raise ValueError("The value must be a boolean.")
19
+
20
+ super().__init__(key="swap_question_and_prompt", value=value)
@@ -1,18 +1,20 @@
1
- from rapidata.rapidata_client.settings.models.translation_behaviour_options import TranslationBehaviourOptions
1
+ from rapidata.rapidata_client.settings.models.translation_behaviour_options import (
2
+ TranslationBehaviourOptions,
3
+ )
2
4
  from rapidata.rapidata_client.settings._rapidata_setting import RapidataSetting
3
5
 
6
+
4
7
  class TranslationBehaviour(RapidataSetting):
5
8
  """
6
9
  Defines what's the behaviour of the translation in the UI.
7
10
  Will not translate text datapoints or sentences.
8
-
11
+
9
12
  Args:
10
13
  value (TranslationBehaviourOptions): The translation behaviour.
11
14
  """
12
-
15
+
13
16
  def __init__(self, value: TranslationBehaviourOptions):
14
17
  if not isinstance(value, TranslationBehaviourOptions):
15
18
  raise ValueError("The value must be a TranslationBehaviourOptions.")
16
-
17
- super().__init__(key="translation_behaviour", value=value)
18
19
 
20
+ super().__init__(key="translation_behaviour", value=value.value)
@@ -0,0 +1,3 @@
1
+ from .threaded_uploader import ThreadedUploader
2
+
3
+ __all__ = ["ThreadedUploader"]
@@ -0,0 +1,153 @@
1
+ from typing import TypeVar, Generic, Callable
2
+ from concurrent.futures import ThreadPoolExecutor, as_completed
3
+ from tqdm import tqdm
4
+ import time
5
+
6
+ from rapidata.rapidata_client.config import logger
7
+ from rapidata.rapidata_client.config.rapidata_config import rapidata_config
8
+
9
+ from opentelemetry import context as otel_context
10
+
11
+ T = TypeVar("T")
12
+
13
+
14
+ class ThreadedUploader(Generic[T]):
15
+ """
16
+ A generic multi-threaded uploader that handles retries, progress tracking,
17
+ and OpenTelemetry context propagation.
18
+
19
+ Type Parameters:
20
+ T: The type of items being uploaded.
21
+ """
22
+
23
+ def __init__(
24
+ self,
25
+ upload_fn: Callable[[T, int], None],
26
+ description: str = "Uploading items",
27
+ ):
28
+ """
29
+ Initialize the threaded uploader.
30
+
31
+ Args:
32
+ upload_fn: A function that uploads a single item. Takes (item, index) as arguments.
33
+ description: Description shown in the progress bar.
34
+ """
35
+ self.upload_fn = upload_fn
36
+ self.description = description
37
+
38
+ def upload(self, items: list[T]) -> tuple[list[T], list[T]]:
39
+ """
40
+ Upload items in parallel using multiple threads.
41
+
42
+ Args:
43
+ items: List of items to upload.
44
+
45
+ Returns:
46
+ tuple[list[T], list[T]]: Lists of successful and failed uploads.
47
+ """
48
+ successful_uploads: list[T] = []
49
+ failed_uploads: list[T] = []
50
+
51
+ with tqdm(
52
+ total=len(items),
53
+ desc=self.description,
54
+ disable=rapidata_config.logging.silent_mode,
55
+ ) as progress_bar:
56
+
57
+ def process_upload_with_context(
58
+ context: otel_context.Context, item: T, index: int
59
+ ) -> tuple[list[T], list[T]]:
60
+ """Wrapper function that runs upload with the provided context."""
61
+ token = otel_context.attach(context)
62
+ try:
63
+ return self._process_single_upload(item, index)
64
+ finally:
65
+ otel_context.detach(token)
66
+
67
+ # Capture the current OpenTelemetry context before creating threads
68
+ current_context = otel_context.get_current()
69
+
70
+ with ThreadPoolExecutor(
71
+ max_workers=rapidata_config.upload.maxWorkers
72
+ ) as executor:
73
+ futures = [
74
+ executor.submit(
75
+ process_upload_with_context,
76
+ current_context,
77
+ item,
78
+ i,
79
+ )
80
+ for i, item in enumerate(items)
81
+ ]
82
+
83
+ for future in as_completed(futures):
84
+ try:
85
+ chunk_successful, chunk_failed = future.result()
86
+ successful_uploads.extend(chunk_successful)
87
+ failed_uploads.extend(chunk_failed)
88
+ progress_bar.update(len(chunk_successful) + len(chunk_failed))
89
+ except Exception as e:
90
+ logger.error("Future execution failed: %s", str(e))
91
+
92
+ if failed_uploads:
93
+ logger.error(
94
+ "Upload failed for %s items: %s",
95
+ len(failed_uploads),
96
+ failed_uploads,
97
+ )
98
+
99
+ return successful_uploads, failed_uploads
100
+
101
+ def _process_single_upload(
102
+ self,
103
+ item: T,
104
+ index: int,
105
+ ) -> tuple[list[T], list[T]]:
106
+ """
107
+ Process single upload with retry logic and error tracking.
108
+
109
+ Args:
110
+ item: Item to upload.
111
+ index: Sort index for the upload.
112
+
113
+ Returns:
114
+ tuple[list[T], list[T]]: Lists of successful and failed items.
115
+ """
116
+ logger.debug("Processing single upload for %s with index %s", item, index)
117
+
118
+ local_successful: list[T] = []
119
+ local_failed: list[T] = []
120
+
121
+ last_exception = None
122
+ for attempt in range(rapidata_config.upload.maxRetries):
123
+ try:
124
+ from rapidata.rapidata_client.api.rapidata_api_client import (
125
+ suppress_rapidata_error_logging,
126
+ )
127
+
128
+ with suppress_rapidata_error_logging():
129
+ self.upload_fn(item, index)
130
+
131
+ local_successful.append(item)
132
+ return local_successful, local_failed
133
+
134
+ except Exception as e:
135
+ last_exception = e
136
+ if attempt < rapidata_config.upload.maxRetries - 1:
137
+ # Exponential backoff: wait 1s, then 2s, then 4s
138
+ retry_delay = 2**attempt
139
+ time.sleep(retry_delay)
140
+ logger.debug("Error: %s", str(last_exception))
141
+ logger.debug(
142
+ "Retrying %s of %s...",
143
+ attempt + 1,
144
+ rapidata_config.upload.maxRetries,
145
+ )
146
+
147
+ # If we get here, all retries failed
148
+ local_failed.append(item)
149
+ tqdm.write(
150
+ f"Upload failed for {item} after {rapidata_config.upload.maxRetries} attempts. \nFinal error: \n{str(last_exception)}"
151
+ )
152
+
153
+ return local_successful, local_failed
@@ -1 +1,3 @@
1
+ from .validation_set_manager import ValidationSetManager
2
+ from .rapidata_validation_set import RapidataValidationSet
1
3
  from .rapids import Box
@@ -3,9 +3,14 @@ import urllib.parse
3
3
  from colorama import Fore
4
4
  from rapidata.rapidata_client.validation.rapids.rapids import Rapid
5
5
  from rapidata.service.openapi_service import OpenAPIService
6
- from rapidata.rapidata_client.logging import logger, managed_print
7
- from rapidata.api_client.models.update_dimensions_model import UpdateDimensionsModel
6
+ from rapidata.rapidata_client.config import logger, managed_print, tracer
7
+ from rapidata.api_client.models.update_validation_set_model import (
8
+ UpdateValidationSetModel,
9
+ )
8
10
  from rapidata.api_client.models.update_should_alert_model import UpdateShouldAlertModel
11
+ from rapidata.rapidata_client.validation.rapids._validation_rapid_uploader import (
12
+ ValidationRapidUploader,
13
+ )
9
14
 
10
15
 
11
16
  class RapidataValidationSet:
@@ -20,13 +25,21 @@ class RapidataValidationSet:
20
25
  name (str): The name of the validation set.
21
26
  """
22
27
 
23
- def __init__(self, validation_set_id, name: str, openapi_service: OpenAPIService):
28
+ def __init__(
29
+ self,
30
+ validation_set_id,
31
+ name: str,
32
+ dimensions: list[str],
33
+ openapi_service: OpenAPIService,
34
+ ):
24
35
  self.id = validation_set_id
25
36
  self.name = name
37
+ self.dimensions = dimensions
26
38
  self.validation_set_details_page = (
27
39
  f"https://app.{openapi_service.environment}/validation-set/detail/{self.id}"
28
40
  )
29
- self.__openapi_service = openapi_service
41
+ self._openapi_service = openapi_service
42
+ self.validation_rapid_uploader = ValidationRapidUploader(openapi_service)
30
43
 
31
44
  def add_rapid(self, rapid: Rapid):
32
45
  """Add a Rapid to the validation set.
@@ -34,7 +47,9 @@ class RapidataValidationSet:
34
47
  Args:
35
48
  rapid (Rapid): The Rapid to add to the validation set.
36
49
  """
37
- rapid._add_to_validation_set(self.id, self.__openapi_service)
50
+ with tracer.start_as_current_span("RapidataValidationSet.add_rapid"):
51
+ logger.debug("Adding rapid %s to validation set %s", rapid, self.id)
52
+ self.validation_rapid_uploader.upload_rapid(rapid, self.id)
38
53
  return self
39
54
 
40
55
  def update_dimensions(self, dimensions: list[str]):
@@ -43,13 +58,15 @@ class RapidataValidationSet:
43
58
  Args:
44
59
  dimensions (list[str]): The new dimensions of the validation set.
45
60
  """
46
- logger.debug(
47
- "Updating dimensions for validation set %s to %s", self.id, dimensions
48
- )
49
- self.__openapi_service.validation_api.validation_set_validation_set_id_dimensions_put(
50
- self.id, UpdateDimensionsModel(dimensions=dimensions)
51
- )
52
- return self
61
+ with tracer.start_as_current_span("RapidataValidationSet.update_dimensions"):
62
+ logger.debug(
63
+ "Updating dimensions for validation set %s to %s", self.id, dimensions
64
+ )
65
+ self._openapi_service.validation_api.validation_set_validation_set_id_patch(
66
+ self.id, UpdateValidationSetModel(dimensions=dimensions)
67
+ )
68
+ self.dimensions = dimensions
69
+ return self
53
70
 
54
71
  def update_should_alert(self, should_alert: bool):
55
72
  """Determines whether users should be alerted if they answer incorrectly.
@@ -60,13 +77,33 @@ class RapidataValidationSet:
60
77
  Note:
61
78
  The userScore dimensions which are updated when a user answers a validation task are updated regardless of the value of `should_alert`.
62
79
  """
63
- logger.debug(
64
- "Setting shouldAlert for validation set %s to %s", self.id, should_alert
65
- )
66
- self.__openapi_service.validation_api.validation_set_validation_set_id_shouldalert_patch(
67
- self.id, UpdateShouldAlertModel(shouldAlert=should_alert)
68
- )
69
- return self
80
+ with tracer.start_as_current_span("RapidataValidationSet.update_should_alert"):
81
+ logger.debug(
82
+ "Setting shouldAlert for validation set %s to %s", self.id, should_alert
83
+ )
84
+ self._openapi_service.validation_api.validation_set_validation_set_id_patch(
85
+ self.id, UpdateValidationSetModel(shouldAlert=should_alert)
86
+ )
87
+ return self
88
+
89
+ def update_can_be_flagged(self, can_be_flagged: bool):
90
+ """Update if tasks in the validation set can be flagged for bad accuracy.
91
+
92
+ Args:
93
+ can_be_flagged (bool): Specifies whether tasks in the validation set can be flagged for bad accuracy. Defaults to True if not specifically overridden by this method.
94
+ """
95
+ with tracer.start_as_current_span(
96
+ "RapidataValidationSet.update_can_be_flagged"
97
+ ):
98
+ logger.debug(
99
+ "Setting canBeFlagged for validation set %s to %s",
100
+ self.id,
101
+ can_be_flagged,
102
+ )
103
+ self._openapi_service.validation_api.validation_set_validation_set_id_patch(
104
+ self.id, UpdateValidationSetModel(isFlagOverruled=(not can_be_flagged))
105
+ )
106
+ return self
70
107
 
71
108
  def view(self) -> None:
72
109
  """
@@ -87,8 +124,18 @@ class RapidataValidationSet:
87
124
  + Fore.RESET
88
125
  )
89
126
 
127
+ def delete(self) -> None:
128
+ """Deletes the validation set"""
129
+ with tracer.start_as_current_span("RapidataValidationSet.delete"):
130
+ logger.info("Deleting ValidationSet '%s'", self)
131
+ self._openapi_service.validation_api.validation_set_validation_set_id_delete(
132
+ self.id
133
+ )
134
+ logger.debug("ValidationSet '%s' has been deleted.", self)
135
+ managed_print(f"ValidationSet '{self}' has been deleted.")
136
+
90
137
  def __str__(self):
91
- return f"name: '{self.name}' id: {self.id}"
138
+ return f"name: '{self.name}' id: {self.id} dimensions: {self.dimensions}"
92
139
 
93
140
  def __repr__(self):
94
- return f"name: '{self.name}' id: {self.id}"
141
+ return f"name: '{self.name}' id: {self.id} dimensions: {self.dimensions}"
@@ -1 +1,3 @@
1
1
  from .box import Box
2
+ from .rapids import Rapid
3
+ from .rapids_manager import RapidsManager
@@ -0,0 +1,48 @@
1
+ from rapidata.rapidata_client.validation.rapids.rapids import Rapid
2
+ from rapidata.service.openapi_service import OpenAPIService
3
+ from rapidata.api_client.models.add_validation_rapid_model import (
4
+ AddValidationRapidModel,
5
+ )
6
+ from rapidata.api_client.models.i_asset_input import IAssetInput
7
+ from rapidata.api_client.models.i_rapid_payload import IRapidPayload
8
+ from rapidata.rapidata_client.datapoints._asset_uploader import AssetUploader
9
+
10
+
11
+ class ValidationRapidUploader:
12
+ def __init__(self, openapi_service: OpenAPIService):
13
+ self.openapi_service = openapi_service
14
+ self.asset_uploader = AssetUploader(openapi_service)
15
+
16
+ def upload_rapid(self, rapid: Rapid, validation_set_id: str) -> None:
17
+ uploaded_asset: IAssetInput = (
18
+ self.asset_uploader.get_uploaded_asset_input(rapid.asset)
19
+ if rapid.data_type == "media"
20
+ else self.asset_uploader.get_uploaded_text_input(rapid.asset)
21
+ )
22
+
23
+ self.openapi_service.validation_api.validation_set_validation_set_id_rapid_post(
24
+ validation_set_id=validation_set_id,
25
+ add_validation_rapid_model=AddValidationRapidModel(
26
+ asset=uploaded_asset,
27
+ payload=self._get_payload(rapid),
28
+ context=rapid.context,
29
+ contextAsset=(
30
+ self.asset_uploader.get_uploaded_asset_input(rapid.media_context)
31
+ if rapid.media_context
32
+ else None
33
+ ),
34
+ truth=rapid.truth,
35
+ randomCorrectProbability=rapid.random_correct_probability,
36
+ explanation=rapid.explanation,
37
+ featureFlags=(
38
+ [setting._to_feature_flag_model() for setting in rapid.settings]
39
+ if rapid.settings
40
+ else None
41
+ ),
42
+ ),
43
+ )
44
+
45
+ def _get_payload(self, rapid: Rapid) -> IRapidPayload:
46
+ if isinstance(rapid.payload, dict):
47
+ return IRapidPayload(actual_instance=rapid.payload)
48
+ return IRapidPayload(actual_instance=rapid.payload.to_dict())
@@ -1,17 +1,42 @@
1
1
  from rapidata.api_client.models.box_shape import BoxShape
2
+ from pydantic import BaseModel, field_validator, model_validator
2
3
 
3
- class Box:
4
+
5
+ class Box(BaseModel):
4
6
  """
5
- Used in the Locate and Draw Validation sets. All coordinates are in pixels.
6
-
7
+ Used in the Locate and Draw Validation sets. All coordinates are in ratio of the image size (0.0 to 1.0).
8
+
7
9
  Args:
8
- x_min (float): The minimum x value of the box.
9
- y_min (float): The minimum y value of the box.
10
- x_max (float): The maximum x value of the box.
11
- y_max (float): The maximum y value of the box.
10
+ x_min (float): The minimum x value of the box in ratio of the image size.
11
+ y_min (float): The minimum y value of the box in ratio of the image size.
12
+ x_max (float): The maximum x value of the box in ratio of the image size.
13
+ y_max (float): The maximum y value of the box in ratio of the image size.
12
14
  """
13
- def __init__(self, x_min: float, y_min: float, x_max: float, y_max: float):
14
- self.x_min = x_min
15
- self.y_min = y_min
16
- self.x_max = x_max
17
- self.y_max = y_max
15
+
16
+ x_min: float
17
+ y_min: float
18
+ x_max: float
19
+ y_max: float
20
+
21
+ @field_validator("x_min", "y_min", "x_max", "y_max")
22
+ @classmethod
23
+ def coordinates_between_zero_and_one(cls, v: float) -> float:
24
+ if not (0.0 <= v <= 1.0):
25
+ raise ValueError("Box coordinates must be between 0 and 1")
26
+ return v
27
+
28
+ @model_validator(mode="after")
29
+ def check_min_less_than_max(self) -> "Box":
30
+ if self.x_min >= self.x_max:
31
+ raise ValueError("x_min must be less than x_max")
32
+ if self.y_min >= self.y_max:
33
+ raise ValueError("y_min must be less than y_max")
34
+ return self
35
+
36
+ def to_model(self) -> BoxShape:
37
+ return BoxShape(
38
+ xMin=self.x_min * 100,
39
+ yMin=self.y_min * 100,
40
+ xMax=self.x_max * 100,
41
+ yMax=self.y_max * 100,
42
+ )