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
@@ -0,0 +1,64 @@
1
+ from pathlib import Path
2
+ from typing import Callable
3
+ from pydantic import BaseModel, Field, field_validator
4
+ from rapidata.rapidata_client.config import logger
5
+
6
+ # Type alias for config update handlers
7
+ UploadConfigUpdateHandler = Callable[["UploadConfig"], None]
8
+
9
+ # Global list to store registered handlers
10
+ _upload_config_handlers: list[UploadConfigUpdateHandler] = []
11
+
12
+
13
+ def register_upload_config_handler(handler: UploadConfigUpdateHandler) -> None:
14
+ """Register a handler to be called when the upload configuration updates."""
15
+ _upload_config_handlers.append(handler)
16
+
17
+
18
+ def unregister_upload_config_handler(handler: UploadConfigUpdateHandler) -> None:
19
+ """Unregister a previously registered handler."""
20
+ if handler in _upload_config_handlers:
21
+ _upload_config_handlers.remove(handler)
22
+
23
+
24
+ class UploadConfig(BaseModel):
25
+ """
26
+ Holds the configuration for the upload process.
27
+
28
+ Attributes:
29
+ maxWorkers (int): The maximum number of worker threads for processing media paths. Defaults to 25.
30
+ maxRetries (int): The maximum number of retries for failed uploads. Defaults to 3.
31
+ """
32
+
33
+ maxWorkers: int = Field(default=25)
34
+ maxRetries: int = Field(default=3)
35
+ cacheUploads: bool = Field(default=True)
36
+ cacheTimeout: float = Field(default=0.1)
37
+ cacheLocation: Path = Field(default=Path.home() / ".rapidata" / "upload_cache")
38
+ cacheSizeLimit: int = Field(default=100_000_000) # 100MB
39
+
40
+ @field_validator("maxWorkers")
41
+ @classmethod
42
+ def validate_max_workers(cls, v: int) -> int:
43
+ if v > 200:
44
+ logger.warning(
45
+ f"maxWorkers is set to {v}, which is above the recommended limit of 200. "
46
+ "This may lead to suboptimal performance due to connection pool constraints."
47
+ )
48
+ return v
49
+
50
+ def __init__(self, **kwargs):
51
+ super().__init__(**kwargs)
52
+ self._notify_handlers()
53
+
54
+ def __setattr__(self, name: str, value) -> None:
55
+ super().__setattr__(name, value)
56
+ self._notify_handlers()
57
+
58
+ def _notify_handlers(self) -> None:
59
+ """Notify all registered handlers that the configuration has updated."""
60
+ for handler in _upload_config_handlers:
61
+ try:
62
+ handler(self)
63
+ except Exception as e:
64
+ logger.warning(f"Warning: UploadConfig handler failed: {e}")
@@ -0,0 +1,8 @@
1
+ from ._datapoint import Datapoint
2
+ from .metadata import (
3
+ Metadata,
4
+ PrivateTextMetadata,
5
+ PublicTextMetadata,
6
+ SelectWordsMetadata,
7
+ PromptIdentifierMetadata,
8
+ )
@@ -0,0 +1,194 @@
1
+ from __future__ import annotations
2
+
3
+ import re
4
+ import os
5
+ from typing import TYPE_CHECKING
6
+
7
+ from rapidata.rapidata_client.config.upload_config import (
8
+ register_upload_config_handler,
9
+ UploadConfig,
10
+ )
11
+ from rapidata.service.openapi_service import OpenAPIService
12
+ from rapidata.rapidata_client.config import logger, rapidata_config, tracer
13
+ from rapidata.rapidata_client.datapoints._single_flight_cache import SingleFlightCache
14
+ from diskcache import FanoutCache
15
+
16
+ if TYPE_CHECKING:
17
+ from rapidata.api_client.models.i_asset_input import IAssetInput
18
+
19
+
20
+ class AssetUploader:
21
+ _file_cache: SingleFlightCache = SingleFlightCache(
22
+ "File cache",
23
+ storage=FanoutCache(
24
+ rapidata_config.upload.cacheLocation,
25
+ shards=rapidata_config.upload.maxWorkers,
26
+ timeout=rapidata_config.upload.cacheTimeout,
27
+ size_limit=rapidata_config.upload.cacheSizeLimit,
28
+ ),
29
+ )
30
+ _url_cache: SingleFlightCache = SingleFlightCache("URL cache")
31
+
32
+ def __init__(self, openapi_service: OpenAPIService):
33
+ self.openapi_service = openapi_service
34
+ register_upload_config_handler(self._handle_config_update)
35
+
36
+ @classmethod
37
+ def _handle_config_update(cls, config: UploadConfig):
38
+ """Handle updates to the upload config by re-creating the file cache storage."""
39
+ logger.debug("Updating AssetUploader file cache with new config")
40
+ try:
41
+ cls._file_cache.set_storage(
42
+ FanoutCache(
43
+ config.cacheLocation,
44
+ shards=config.maxWorkers,
45
+ timeout=config.cacheTimeout,
46
+ size_limit=config.cacheSizeLimit,
47
+ )
48
+ )
49
+ logger.info(
50
+ "AssetUploader file cache updated: location=%s, shards=%s, timeout=%s, size_limit=%s",
51
+ config.cacheLocation,
52
+ config.maxWorkers,
53
+ config.cacheTimeout,
54
+ config.cacheSizeLimit,
55
+ )
56
+ except Exception as e:
57
+ logger.warning(f"Failed to update AssetUploader file cache: {e}")
58
+
59
+ def _get_file_cache_key(self, asset: str) -> str:
60
+ """Generate cache key for a file, including environment."""
61
+ env = self.openapi_service.environment
62
+ if not os.path.exists(asset):
63
+ raise FileNotFoundError(f"File not found: {asset}")
64
+
65
+ stat = os.stat(asset)
66
+ return f"{env}@{asset}:{stat.st_size}:{stat.st_mtime_ns}"
67
+
68
+ def _get_url_cache_key(self, url: str) -> str:
69
+ """Generate cache key for a URL, including environment."""
70
+ env = self.openapi_service.environment
71
+ return f"{env}@{url}"
72
+
73
+ def _upload_url_asset(self, url: str) -> str:
74
+ """Upload a URL asset, with optional caching."""
75
+
76
+ def upload_url() -> str:
77
+ response = self.openapi_service.asset_api.asset_url_post(url=url)
78
+ logger.info(
79
+ "Asset uploaded from URL: %s, file name: %s", url, response.file_name
80
+ )
81
+ return response.file_name
82
+
83
+ if not rapidata_config.upload.cacheUploads:
84
+ return upload_url()
85
+
86
+ return self._url_cache.get_or_fetch(
87
+ self._get_url_cache_key(url),
88
+ upload_url,
89
+ should_cache=rapidata_config.upload.cacheUploads,
90
+ )
91
+
92
+ def _upload_file_asset(self, file_path: str) -> str:
93
+ """Upload a local file asset, with optional caching."""
94
+
95
+ def upload_file() -> str:
96
+ response = self.openapi_service.asset_api.asset_file_post(file=file_path)
97
+ logger.info(
98
+ "Asset uploaded from file: %s, file name: %s",
99
+ file_path,
100
+ response.file_name,
101
+ )
102
+ return response.file_name
103
+
104
+ if not rapidata_config.upload.cacheUploads:
105
+ return upload_file()
106
+
107
+ return self._file_cache.get_or_fetch(
108
+ self._get_file_cache_key(file_path),
109
+ upload_file,
110
+ should_cache=rapidata_config.upload.cacheUploads,
111
+ )
112
+
113
+ def upload_asset(self, asset: str) -> str:
114
+ with tracer.start_as_current_span("AssetUploader.upload_asset"):
115
+ logger.debug("Uploading asset: %s", asset)
116
+ assert isinstance(asset, str), "Asset must be a string"
117
+
118
+ if re.match(r"^https?://", asset):
119
+ return self._upload_url_asset(asset)
120
+
121
+ return self._upload_file_asset(asset)
122
+
123
+ def get_uploaded_text_input(self, assets: list[str] | str) -> IAssetInput:
124
+ from rapidata.api_client.models.i_asset_input import IAssetInput
125
+ from rapidata.api_client.models.i_asset_input_text_asset_input import (
126
+ IAssetInputTextAssetInput,
127
+ )
128
+ from rapidata.api_client.models.i_asset_input_multi_asset_input import (
129
+ IAssetInputMultiAssetInput,
130
+ )
131
+
132
+ if isinstance(assets, list):
133
+ return IAssetInput(
134
+ actual_instance=IAssetInputMultiAssetInput(
135
+ _t="MultiAssetInput",
136
+ assets=[
137
+ IAssetInput(
138
+ actual_instance=IAssetInputTextAssetInput(
139
+ _t="TextAssetInput", text=asset
140
+ )
141
+ )
142
+ for asset in assets
143
+ ],
144
+ )
145
+ )
146
+ else:
147
+ return IAssetInput(
148
+ actual_instance=IAssetInputTextAssetInput(
149
+ _t="TextAssetInput", text=assets
150
+ )
151
+ )
152
+
153
+ def get_uploaded_asset_input(self, assets: list[str] | str) -> IAssetInput:
154
+ from rapidata.api_client.models.i_asset_input import IAssetInput
155
+ from rapidata.api_client.models.i_asset_input_existing_asset_input import (
156
+ IAssetInputExistingAssetInput,
157
+ )
158
+ from rapidata.api_client.models.i_asset_input_multi_asset_input import (
159
+ IAssetInputMultiAssetInput,
160
+ )
161
+
162
+ if isinstance(assets, list):
163
+ return IAssetInput(
164
+ actual_instance=IAssetInputMultiAssetInput(
165
+ _t="MultiAssetInput",
166
+ assets=[
167
+ IAssetInput(
168
+ actual_instance=IAssetInputExistingAssetInput(
169
+ _t="ExistingAssetInput",
170
+ name=self.upload_asset(asset),
171
+ )
172
+ )
173
+ for asset in assets
174
+ ],
175
+ )
176
+ )
177
+ else:
178
+ return IAssetInput(
179
+ actual_instance=IAssetInputExistingAssetInput(
180
+ _t="ExistingAssetInput",
181
+ name=self.upload_asset(assets),
182
+ )
183
+ )
184
+
185
+ def clear_cache(self):
186
+ self._file_cache.clear()
187
+ self._url_cache.clear()
188
+ logger.info("Upload cache cleared")
189
+
190
+ def __str__(self) -> str:
191
+ return f"AssetUploader(openapi_service={self.openapi_service})"
192
+
193
+ def __repr__(self) -> str:
194
+ return f"AssetUploader(openapi_service={self.openapi_service})"
@@ -0,0 +1,92 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Literal, TYPE_CHECKING
4
+
5
+ from pydantic import BaseModel, model_validator, field_validator
6
+ from typing_extensions import Self
7
+ from rapidata.rapidata_client.datapoints.assets.constants import (
8
+ ALLOWED_VIDEO_EXTENSIONS,
9
+ ALLOWED_IMAGE_EXTENSIONS,
10
+ ALLOWED_AUDIO_EXTENSIONS,
11
+ )
12
+ from rapidata.rapidata_client.config import logger
13
+
14
+ if TYPE_CHECKING:
15
+ from rapidata.api_client.models.asset_type import AssetType
16
+ from rapidata.api_client.models.prompt_type import PromptType
17
+
18
+
19
+ class Datapoint(BaseModel):
20
+ asset: str | list[str]
21
+ data_type: Literal["text", "media"]
22
+ context: str | None = None
23
+ media_context: str | None = None
24
+ sentence: str | None = None
25
+ private_note: str | None = None
26
+ group: str | None = None
27
+
28
+ @field_validator("context")
29
+ @classmethod
30
+ def context_not_empty(cls, v: str | None) -> str | None:
31
+ if v is not None and v == "":
32
+ raise ValueError(
33
+ "context cannot be an empty string. If not needed, set to None."
34
+ )
35
+ return v
36
+
37
+ @field_validator("media_context")
38
+ @classmethod
39
+ def media_context_not_empty(cls, v: str | None) -> str | None:
40
+ if v is not None and v == "":
41
+ raise ValueError(
42
+ "media_context cannot be an empty string. If not needed, set to None."
43
+ )
44
+ return v
45
+
46
+ @field_validator("sentence")
47
+ @classmethod
48
+ def sentence_has_space(cls, v: str | None) -> str | None:
49
+ if v is not None and len(v.split()) <= 1:
50
+ raise ValueError("sentence must contain at least two words.")
51
+ return v
52
+
53
+ @model_validator(mode="after")
54
+ def check_sentence_and_context(self) -> Self:
55
+ if isinstance(self.sentence, str) and isinstance(self.context, str):
56
+ raise ValueError(
57
+ "Both 'sentence' and 'context' cannot be strings at the same time."
58
+ )
59
+ return self
60
+
61
+ def get_asset_type(self) -> AssetType:
62
+ from rapidata.api_client.models.asset_type import AssetType
63
+
64
+ if self.data_type == "text":
65
+ return AssetType.TEXT
66
+
67
+ evaluation_asset = self.asset[0] if isinstance(self.asset, list) else self.asset
68
+ if any(evaluation_asset.endswith(ext) for ext in ALLOWED_IMAGE_EXTENSIONS):
69
+ return AssetType.IMAGE
70
+ elif any(evaluation_asset.endswith(ext) for ext in ALLOWED_VIDEO_EXTENSIONS):
71
+ return AssetType.VIDEO
72
+ elif any(evaluation_asset.endswith(ext) for ext in ALLOWED_AUDIO_EXTENSIONS):
73
+ return AssetType.AUDIO
74
+ else:
75
+ logger.debug(
76
+ f"Cannot get asset type for asset type: {type(evaluation_asset)}"
77
+ )
78
+ return AssetType.NONE
79
+
80
+ def get_prompt_type(self) -> list[PromptType]:
81
+ from rapidata.api_client.models.prompt_type import PromptType
82
+
83
+ prompt_types = []
84
+ if self.context:
85
+ prompt_types.append(PromptType.TEXT)
86
+ if self.media_context:
87
+ prompt_types.append(PromptType.ASSET)
88
+
89
+ if len(prompt_types) == 0:
90
+ return [PromptType.NONE]
91
+
92
+ return prompt_types
@@ -0,0 +1,47 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from rapidata.rapidata_client.datapoints._datapoint import Datapoint
6
+ from rapidata.service.openapi_service import OpenAPIService
7
+ from rapidata.rapidata_client.datapoints._asset_uploader import AssetUploader
8
+
9
+ if TYPE_CHECKING:
10
+ from rapidata.api_client.models.create_datapoint_result import CreateDatapointResult
11
+
12
+
13
+ class DatapointUploader:
14
+ def __init__(self, openapi_service: OpenAPIService):
15
+ self.openapi_service = openapi_service
16
+ self.asset_uploader = AssetUploader(openapi_service)
17
+
18
+ def upload_datapoint(
19
+ self, datapoint: Datapoint, dataset_id: str, index: int
20
+ ) -> CreateDatapointResult:
21
+ from rapidata.api_client.models.create_datapoint_model import (
22
+ CreateDatapointModel,
23
+ )
24
+ from rapidata.api_client.models.i_asset_input import IAssetInput
25
+
26
+ uploaded_asset: IAssetInput = (
27
+ self.asset_uploader.get_uploaded_asset_input(datapoint.asset)
28
+ if datapoint.data_type == "media"
29
+ else self.asset_uploader.get_uploaded_text_input(datapoint.asset)
30
+ )
31
+ return self.openapi_service.dataset_api.dataset_dataset_id_datapoint_post(
32
+ dataset_id=dataset_id,
33
+ create_datapoint_model=CreateDatapointModel(
34
+ asset=uploaded_asset,
35
+ context=datapoint.context,
36
+ contextAsset=(
37
+ self.asset_uploader.get_uploaded_asset_input(
38
+ datapoint.media_context
39
+ )
40
+ if datapoint.media_context
41
+ else None
42
+ ),
43
+ transcription=datapoint.sentence,
44
+ sortIndex=index,
45
+ group=datapoint.group,
46
+ ),
47
+ )
@@ -0,0 +1,70 @@
1
+ from itertools import zip_longest
2
+ from typing import Literal, cast, Iterable
3
+ from rapidata.rapidata_client.datapoints._datapoint import Datapoint
4
+
5
+
6
+ class DatapointsValidator:
7
+ @staticmethod
8
+ def validate_datapoints(
9
+ datapoints: list[str] | list[list[str]],
10
+ contexts: list[str] | None = None,
11
+ media_contexts: list[str] | None = None,
12
+ sentences: list[str] | None = None,
13
+ private_notes: list[str] | None = None,
14
+ groups: list[str] | None = None,
15
+ ) -> None:
16
+ if contexts and len(contexts) != len(datapoints):
17
+ raise ValueError("Number of contexts must match number of datapoints")
18
+ if media_contexts and len(media_contexts) != len(datapoints):
19
+ raise ValueError("Number of media contexts must match number of datapoints")
20
+ if sentences and len(sentences) != len(datapoints):
21
+ raise ValueError("Number of sentences must match number of datapoints")
22
+ if private_notes and len(private_notes) != len(datapoints):
23
+ raise ValueError("Number of private notes must match number of datapoints")
24
+ if groups and (
25
+ len(groups) != len(datapoints) or len(groups) != len(set(groups))
26
+ ):
27
+ raise ValueError(
28
+ "Number of groups must match number of datapoints and must be unique."
29
+ )
30
+
31
+ @staticmethod
32
+ def map_datapoints(
33
+ datapoints: list[str] | list[list[str]],
34
+ contexts: list[str] | None = None,
35
+ media_contexts: list[str] | None = None,
36
+ sentences: list[str] | None = None,
37
+ private_notes: list[str] | None = None,
38
+ groups: list[str] | None = None,
39
+ data_type: Literal["text", "media"] = "media",
40
+ ) -> list[Datapoint]:
41
+ DatapointsValidator.validate_datapoints(
42
+ datapoints=datapoints,
43
+ contexts=contexts,
44
+ media_contexts=media_contexts,
45
+ sentences=sentences,
46
+ private_notes=private_notes,
47
+ groups=groups,
48
+ )
49
+ return [
50
+ Datapoint(
51
+ asset=asset,
52
+ data_type=data_type,
53
+ context=context,
54
+ media_context=media_context,
55
+ sentence=sentence,
56
+ private_note=private_note,
57
+ group=group,
58
+ )
59
+ for asset, context, media_context, sentence, private_note, group in cast(
60
+ "Iterable[tuple[str | list[str], str | None, str | None, str | None, str | None, str | None]]", # because iterator only supports 5 arguments with specific type casting
61
+ zip_longest(
62
+ datapoints,
63
+ contexts or [],
64
+ media_contexts or [],
65
+ sentences or [],
66
+ private_notes or [],
67
+ groups or [],
68
+ ),
69
+ )
70
+ ]
@@ -0,0 +1,82 @@
1
+ import threading
2
+ from typing import Callable, cast
3
+
4
+ from diskcache import FanoutCache
5
+ from rapidata.rapidata_client.config import logger
6
+
7
+ from concurrent.futures import Future
8
+
9
+
10
+ class SingleFlightCache:
11
+ """Cache with single-flight pattern to prevent duplicate concurrent fetches."""
12
+
13
+ def __init__(self, name: str, storage: dict[str, str] | FanoutCache | None = None):
14
+ self._name = name
15
+ self._storage: dict[str, str] | FanoutCache = (
16
+ storage if storage is not None else {}
17
+ )
18
+ self._in_flight: dict[str, Future[str]] = {}
19
+ self._lock = threading.Lock()
20
+
21
+ def set_storage(self, storage: dict[str, str] | FanoutCache) -> None:
22
+ """Replace the cache storage."""
23
+ with self._lock:
24
+ old_storage = self._storage
25
+ self._storage = storage
26
+ if isinstance(old_storage, FanoutCache):
27
+ try:
28
+ old_storage.close()
29
+ except Exception:
30
+ pass
31
+
32
+ def get_or_fetch(
33
+ self,
34
+ key: str,
35
+ fetch_fn: Callable[[], str],
36
+ should_cache: bool = True,
37
+ ) -> str:
38
+ """Get value from cache or fetch it, preventing duplicate concurrent fetches."""
39
+ # Fast path - check cache without lock
40
+ cached = self._storage.get(key)
41
+ if cached is not None:
42
+ logger.debug("%s: cache hit", self._name)
43
+ return cast(str, cached)
44
+
45
+ with self._lock:
46
+ # Double-check cache under lock
47
+ cached = self._storage.get(key)
48
+ if cached is not None:
49
+ logger.debug("%s: cache hit", self._name)
50
+ return cast(str, cached)
51
+
52
+ # Check if there's an in-flight request
53
+ in_flight = self._in_flight.get(key)
54
+ if in_flight is None:
55
+ in_flight = Future()
56
+ self._in_flight[key] = in_flight
57
+ should_fetch = True
58
+ else:
59
+ should_fetch = False
60
+
61
+ if not should_fetch:
62
+ logger.debug("%s: waiting for in-flight request", self._name)
63
+ return in_flight.result()
64
+
65
+ # We need to fetch
66
+ try:
67
+ result = fetch_fn()
68
+ if should_cache:
69
+ self._storage[key] = result
70
+ logger.debug("%s: cached result", self._name)
71
+ in_flight.set_result(result)
72
+ return result
73
+ except Exception as e:
74
+ in_flight.set_exception(e)
75
+ raise
76
+ finally:
77
+ with self._lock:
78
+ self._in_flight.pop(key, None)
79
+
80
+ def clear(self) -> None:
81
+ """Clear the cache."""
82
+ self._storage.clear()
File without changes
@@ -0,0 +1,7 @@
1
+ ALLOWED_IMAGE_EXTENSIONS = [".jpg", ".jpeg", ".png", ".gif", ".webp"]
2
+ ALLOWED_AUDIO_EXTENSIONS = [".mp3"]
3
+ ALLOWED_VIDEO_EXTENSIONS = [".mp4"]
4
+
5
+ ALLOWED_MEDIA_EXTENSIONS = (
6
+ ALLOWED_IMAGE_EXTENSIONS + ALLOWED_AUDIO_EXTENSIONS + ALLOWED_VIDEO_EXTENSIONS
7
+ )
@@ -1,5 +1,5 @@
1
1
  from ._base_metadata import Metadata
2
2
  from ._private_text_metadata import PrivateTextMetadata
3
3
  from ._public_text_metadata import PublicTextMetadata
4
- from ._prompt_metadata import PromptMetadata
5
4
  from ._select_words_metadata import SelectWordsMetadata
5
+ from ._prompt_identifier_metadata import PromptIdentifierMetadata
@@ -0,0 +1,16 @@
1
+ from rapidata.api_client.models.private_text_metadata_input import (
2
+ PrivateTextMetadataInput,
3
+ )
4
+ from rapidata.rapidata_client.datapoints.metadata._base_metadata import Metadata
5
+ from pydantic import BaseModel
6
+
7
+
8
+ class PrivateTextMetadata(Metadata, BaseModel):
9
+
10
+ text: str
11
+ identifier: str = "private_text"
12
+
13
+ def to_model(self):
14
+ return PrivateTextMetadataInput(
15
+ _t="PrivateTextMetadataInput", identifier=self.identifier, text=self.text
16
+ )
@@ -0,0 +1,14 @@
1
+ from rapidata.rapidata_client.datapoints.metadata._base_metadata import Metadata
2
+ from rapidata.api_client.models.private_text_metadata_input import (
3
+ PrivateTextMetadataInput,
4
+ )
5
+ from pydantic import BaseModel
6
+
7
+
8
+ class PromptIdentifierMetadata(Metadata, BaseModel):
9
+ identifier: str
10
+
11
+ def to_model(self):
12
+ return PrivateTextMetadataInput(
13
+ _t="PrivateTextMetadataInput", identifier="prompt-id", text=self.identifier
14
+ )
@@ -0,0 +1,16 @@
1
+ from rapidata.api_client.models.public_text_metadata_input import (
2
+ PublicTextMetadataInput,
3
+ )
4
+ from rapidata.rapidata_client.datapoints.metadata._base_metadata import Metadata
5
+ from pydantic import BaseModel
6
+
7
+
8
+ class PublicTextMetadata(Metadata, BaseModel):
9
+
10
+ text: str
11
+ identifier: str = "public_text"
12
+
13
+ def to_model(self):
14
+ return PublicTextMetadataInput(
15
+ _t="PublicTextMetadataInput", identifier=self.identifier, text=self.text
16
+ )
@@ -1,15 +1,14 @@
1
1
  from rapidata.api_client.models.transcription_metadata_input import (
2
2
  TranscriptionMetadataInput,
3
3
  )
4
- from rapidata.rapidata_client.metadata._base_metadata import Metadata
4
+ from rapidata.rapidata_client.datapoints.metadata._base_metadata import Metadata
5
+ from pydantic import BaseModel
5
6
 
6
7
 
7
- class SelectWordsMetadata(Metadata):
8
+ class SelectWordsMetadata(Metadata, BaseModel):
8
9
  """SelectWordsMetadata Class is used to define the Sentence that will be display to the user."""
9
10
 
10
- def __init__(self, select_words: str):
11
- super().__init__()
12
- self.select_words = select_words
11
+ select_words: str
13
12
 
14
13
  def to_model(self):
15
14
  return TranscriptionMetadataInput(
@@ -0,0 +1 @@
1
+ from ._rapidata_dataset import RapidataDataset