rapidata 2.28.2__py3-none-any.whl → 2.44.3__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.
Files changed (761) hide show
  1. rapidata/__init__.py +11 -10
  2. rapidata/api_client/__init__.py +83 -355
  3. rapidata/api_client/api/__init__.py +8 -2
  4. rapidata/api_client/api/asset_api.py +853 -0
  5. rapidata/api_client/api/audience_api.py +1133 -0
  6. rapidata/api_client/api/benchmark_api.py +3966 -0
  7. rapidata/api_client/api/campaign_api.py +222 -444
  8. rapidata/api_client/api/client_api.py +38 -33
  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 +644 -72
  12. rapidata/api_client/api/datapoint_api.py +8 -530
  13. rapidata/api_client/api/dataset_api.py +228 -3469
  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/leaderboard_api.py +356 -312
  19. rapidata/api_client/api/newsletter_api.py +20 -19
  20. rapidata/api_client/api/order_api.py +758 -5487
  21. rapidata/api_client/api/participant_api.py +2181 -0
  22. rapidata/api_client/api/pipeline_api.py +24 -1783
  23. rapidata/api_client/api/prompt_api.py +320 -0
  24. rapidata/api_client/api/rapidata_identity_api_api.py +5 -4
  25. rapidata/api_client/api/sample_api.py +300 -0
  26. rapidata/api_client/api/simple_workflow_api.py +11 -10
  27. rapidata/api_client/api/survey_api.py +304 -0
  28. rapidata/api_client/api/user_rapid_api.py +35 -31
  29. rapidata/api_client/api/validation_set_api.py +510 -3659
  30. rapidata/api_client/api/workflow_api.py +32 -825
  31. rapidata/api_client/api_client.py +2 -2
  32. rapidata/api_client/configuration.py +16 -29
  33. rapidata/api_client/exceptions.py +2 -2
  34. rapidata/api_client/models/__init__.py +65 -332
  35. rapidata/api_client/models/ab_test_selection_a_inner.py +1 -1
  36. rapidata/api_client/models/add_campaign_model.py +3 -3
  37. rapidata/api_client/models/add_user_response_result.py +10 -5
  38. rapidata/api_client/models/add_validation_rapid_model.py +55 -24
  39. rapidata/api_client/models/add_validation_rapid_model_asset.py +154 -0
  40. rapidata/api_client/models/add_validation_rapid_model_context_asset.py +160 -0
  41. rapidata/api_client/models/add_validation_rapid_model_metadata_inner.py +140 -0
  42. rapidata/api_client/models/add_validation_rapid_model_truth.py +7 -1
  43. rapidata/api_client/models/add_validation_rapid_new_model.py +137 -0
  44. rapidata/api_client/models/add_validation_rapid_new_model_asset.py +182 -0
  45. rapidata/api_client/models/add_validation_rapid_new_model_truth.py +286 -0
  46. rapidata/api_client/models/add_validation_text_rapid_model.py +1 -3
  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.py +121 -0
  52. rapidata/api_client/models/and_filter_filters_inner.py +282 -0
  53. rapidata/api_client/models/and_user_filter_model.py +106 -0
  54. rapidata/api_client/models/and_user_filter_model_filters_inner.py +282 -0
  55. rapidata/api_client/models/are_rapids_active_result.py +2 -2
  56. rapidata/api_client/models/asset_metadata.py +11 -9
  57. rapidata/api_client/models/asset_type.py +40 -0
  58. rapidata/api_client/models/attach_category_rapid_blueprint.py +13 -3
  59. rapidata/api_client/models/attach_category_rapid_blueprint_category.py +89 -0
  60. rapidata/api_client/models/audience_status.py +38 -0
  61. rapidata/api_client/models/benchmark_query_result.py +98 -0
  62. rapidata/api_client/models/benchmark_query_result_paged_result.py +105 -0
  63. rapidata/api_client/models/boost_leaderboard_model.py +89 -0
  64. rapidata/api_client/models/boost_mode.py +37 -0
  65. rapidata/api_client/models/boost_query_result.py +7 -10
  66. rapidata/api_client/models/boost_query_result_boost_mode.py +37 -0
  67. rapidata/api_client/models/boost_query_result_boost_status.py +39 -0
  68. rapidata/api_client/models/boosting_profile.py +89 -0
  69. rapidata/api_client/models/box_shape.py +4 -33
  70. rapidata/api_client/models/campaign_filter.py +98 -0
  71. rapidata/api_client/models/campaign_query_result.py +15 -13
  72. rapidata/api_client/models/campaign_status.py +2 -2
  73. rapidata/api_client/models/change_boost_model.py +89 -0
  74. rapidata/api_client/models/classification_metadata.py +12 -1
  75. rapidata/api_client/models/classify_payload.py +14 -15
  76. rapidata/api_client/models/classify_payload_category.py +89 -0
  77. rapidata/api_client/models/client_model.py +25 -35
  78. rapidata/api_client/models/clients_query_result.py +5 -5
  79. rapidata/api_client/models/clone_order_model.py +6 -8
  80. rapidata/api_client/models/clone_order_result.py +9 -4
  81. rapidata/api_client/models/compare_rapid_blueprint.py +5 -3
  82. rapidata/api_client/models/compare_rapid_blueprint1.py +96 -0
  83. rapidata/api_client/models/compare_workflow_config.py +34 -23
  84. rapidata/api_client/models/compare_workflow_config_context_asset.py +174 -0
  85. rapidata/api_client/models/compare_workflow_config_metadata_value.py +31 -17
  86. rapidata/api_client/models/compare_workflow_config_model.py +15 -5
  87. rapidata/api_client/models/compare_workflow_model.py +34 -6
  88. rapidata/api_client/models/compare_workflow_model1.py +20 -9
  89. rapidata/api_client/models/compare_workflow_model_context_asset.py +160 -0
  90. rapidata/api_client/models/compare_workflow_model_metadata_inner.py +154 -0
  91. rapidata/api_client/models/compare_workflow_model_pair_maker_config.py +1 -1
  92. rapidata/api_client/models/comparison_operator.py +2 -2
  93. rapidata/api_client/models/conditional_validation_selection.py +8 -11
  94. rapidata/api_client/models/conditional_validation_selection_validation_chance.py +103 -0
  95. rapidata/api_client/models/confidence_interval.py +89 -0
  96. rapidata/api_client/models/count_metadata.py +12 -1
  97. rapidata/api_client/models/country_filter.py +98 -0
  98. rapidata/api_client/models/create_audience_request.py +99 -0
  99. rapidata/api_client/models/create_audience_result.py +87 -0
  100. rapidata/api_client/models/create_benchmark_model.py +87 -0
  101. rapidata/api_client/models/create_benchmark_participant_model.py +87 -0
  102. rapidata/api_client/models/create_benchmark_participant_result.py +89 -0
  103. rapidata/api_client/models/create_benchmark_prompt_result.py +87 -0
  104. rapidata/api_client/models/create_benchmark_result.py +87 -0
  105. rapidata/api_client/models/create_bridge_token_result.py +2 -2
  106. rapidata/api_client/models/create_client_model.py +6 -13
  107. rapidata/api_client/models/create_complex_order_model.py +9 -9
  108. rapidata/api_client/models/create_complex_order_result.py +6 -4
  109. rapidata/api_client/models/create_customer_client_result.py +2 -2
  110. rapidata/api_client/models/create_datapoint_from_files_model.py +3 -3
  111. rapidata/api_client/models/create_datapoint_from_text_sources_model.py +3 -3
  112. rapidata/api_client/models/create_datapoint_from_urls_model.py +3 -3
  113. rapidata/api_client/models/create_datapoint_model.py +134 -0
  114. rapidata/api_client/models/create_datapoint_model_asset.py +154 -0
  115. rapidata/api_client/models/create_datapoint_model_context_asset.py +160 -0
  116. rapidata/api_client/models/create_datapoint_model_metadata_inner.py +154 -0
  117. rapidata/api_client/models/create_datapoint_result.py +6 -18
  118. rapidata/api_client/models/create_demographic_rapid_model.py +45 -7
  119. rapidata/api_client/models/create_demographic_rapid_model_asset.py +160 -0
  120. rapidata/api_client/models/create_demographic_rapid_model_context_asset.py +160 -0
  121. rapidata/api_client/models/create_demographic_rapid_model_new.py +119 -0
  122. rapidata/api_client/models/create_empty_validation_set_result.py +2 -2
  123. rapidata/api_client/models/create_leaderboard_model.py +59 -10
  124. rapidata/api_client/models/create_leaderboard_result.py +17 -5
  125. rapidata/api_client/models/create_order_model.py +30 -101
  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 +6 -4
  129. rapidata/api_client/models/create_rapid_result.py +2 -2
  130. rapidata/api_client/models/create_sample_model.py +93 -0
  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/demographic_filter.py +100 -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/effort_capped_selection.py +2 -11
  142. rapidata/api_client/models/elo_config.py +2 -2
  143. rapidata/api_client/models/elo_config_model.py +6 -6
  144. rapidata/api_client/models/entity_tag_header_value.py +93 -0
  145. rapidata/api_client/models/evaluation_workflow_config.py +13 -3
  146. rapidata/api_client/models/evaluation_workflow_model.py +16 -6
  147. rapidata/api_client/models/existing_asset_input.py +120 -0
  148. rapidata/api_client/models/existing_asset_input_metadata_value.py +126 -0
  149. rapidata/api_client/models/feature_flag.py +2 -2
  150. rapidata/api_client/models/feature_flag_model.py +6 -6
  151. rapidata/api_client/models/feedback_model.py +7 -7
  152. rapidata/api_client/models/file_asset.py +3 -5
  153. rapidata/api_client/models/file_asset_input.py +104 -0
  154. rapidata/api_client/models/file_asset_input1.py +104 -0
  155. rapidata/api_client/models/file_asset_input1_file.py +168 -0
  156. rapidata/api_client/models/file_asset_input2.py +104 -0
  157. rapidata/api_client/models/file_asset_input3.py +104 -0
  158. rapidata/api_client/models/file_asset_input_file.py +168 -0
  159. rapidata/api_client/models/file_asset_metadata_value.py +252 -0
  160. rapidata/api_client/models/file_asset_model_metadata_value.py +25 -81
  161. rapidata/api_client/models/file_stream_result.py +122 -0
  162. rapidata/api_client/models/file_type.py +39 -0
  163. rapidata/api_client/models/file_type_metadata.py +110 -0
  164. rapidata/api_client/models/file_type_metadata_model.py +97 -0
  165. rapidata/api_client/models/filter.py +7 -25
  166. rapidata/api_client/models/filter_operator.py +3 -2
  167. rapidata/api_client/models/fork_benchmark_result.py +87 -0
  168. rapidata/api_client/models/form_file_wrapper.py +135 -0
  169. rapidata/api_client/models/free_text_payload.py +10 -3
  170. rapidata/api_client/models/free_text_rapid_blueprint.py +10 -3
  171. rapidata/api_client/models/gender_user_filter_model.py +2 -2
  172. rapidata/api_client/models/gender_user_filter_model_gender.py +38 -0
  173. rapidata/api_client/models/get_asset_metadata_result.py +100 -0
  174. rapidata/api_client/models/get_audience_by_id_result.py +111 -0
  175. rapidata/api_client/models/get_available_validation_sets_result.py +2 -2
  176. rapidata/api_client/models/get_benchmark_by_id_query.py +96 -0
  177. rapidata/api_client/models/get_benchmark_by_id_query_result.py +94 -0
  178. rapidata/api_client/models/get_benchmark_by_id_query_result_paged_result.py +105 -0
  179. rapidata/api_client/models/get_benchmark_by_id_result.py +96 -0
  180. rapidata/api_client/models/get_boost_result.py +97 -0
  181. rapidata/api_client/models/get_boost_result_boost_mode.py +37 -0
  182. rapidata/api_client/models/get_boost_result_boost_status.py +39 -0
  183. rapidata/api_client/models/get_compare_ab_summary_result.py +5 -5
  184. rapidata/api_client/models/get_compare_workflow_results_model.py +7 -7
  185. rapidata/api_client/models/get_compare_workflow_results_result.py +5 -5
  186. rapidata/api_client/models/get_datapoint_by_id_result.py +10 -21
  187. rapidata/api_client/models/get_datapoint_by_id_result_asset.py +170 -0
  188. rapidata/api_client/models/get_dataset_by_id_result.py +2 -2
  189. rapidata/api_client/models/get_dataset_progress_result.py +2 -2
  190. rapidata/api_client/models/get_evaluation_workflow_results_model.py +119 -0
  191. rapidata/api_client/models/get_failed_datapoints_result.py +5 -5
  192. rapidata/api_client/models/get_failed_datapoints_result_datapoint.py +100 -0
  193. rapidata/api_client/models/get_file_metadata_result.py +100 -0
  194. rapidata/api_client/models/get_grouped_ranking_workflow_results_model.py +106 -0
  195. rapidata/api_client/models/get_grouped_ranking_workflow_results_result.py +97 -0
  196. rapidata/api_client/models/get_grouped_ranking_workflow_results_result_paged_result.py +105 -0
  197. rapidata/api_client/models/get_leaderboard_by_id_result.py +50 -6
  198. rapidata/api_client/models/get_order_by_id_result.py +12 -5
  199. rapidata/api_client/models/get_participant_by_id_result.py +9 -20
  200. rapidata/api_client/models/get_pipeline_by_id_result.py +5 -5
  201. rapidata/api_client/models/get_public_orders_result.py +2 -2
  202. rapidata/api_client/models/get_public_responses_result.py +95 -0
  203. rapidata/api_client/models/get_public_responses_result_response.py +112 -0
  204. rapidata/api_client/models/get_rapid_responses_result.py +6 -12
  205. rapidata/api_client/models/get_recommended_validation_set_result.py +95 -0
  206. rapidata/api_client/models/get_responses_for_rapid_result.py +106 -0
  207. rapidata/api_client/models/get_responses_for_rapid_result_response.py +103 -0
  208. rapidata/api_client/models/get_responses_for_rapid_result_response_result.py +266 -0
  209. rapidata/api_client/models/get_responses_result.py +5 -5
  210. rapidata/api_client/models/get_responses_result_response.py +103 -0
  211. rapidata/api_client/models/get_sample_by_id_result.py +125 -0
  212. rapidata/api_client/models/get_simple_workflow_results_model.py +20 -15
  213. rapidata/api_client/models/get_standing_by_id_result.py +96 -0
  214. rapidata/api_client/models/get_validation_rapids_result.py +32 -41
  215. rapidata/api_client/models/get_validation_set_by_id_result.py +10 -4
  216. rapidata/api_client/models/get_workflow_by_id_result.py +5 -5
  217. rapidata/api_client/models/get_workflow_by_id_result_workflow.py +23 -9
  218. rapidata/api_client/models/get_workflow_progress_result.py +5 -11
  219. rapidata/api_client/models/get_workflow_results_result.py +34 -23
  220. rapidata/api_client/models/get_workflow_results_result_response.py +103 -0
  221. rapidata/api_client/models/google_one_tap_login_model.py +4 -4
  222. rapidata/api_client/models/grouped_ranking_workflow_config.py +155 -0
  223. rapidata/api_client/models/grouped_ranking_workflow_config_context_assets_value.py +170 -0
  224. rapidata/api_client/models/grouped_ranking_workflow_model.py +147 -0
  225. rapidata/api_client/models/grouped_ranking_workflow_model1.py +121 -0
  226. rapidata/api_client/models/i_artifact_model.py +182 -0
  227. rapidata/api_client/models/i_artifact_model_campaign_artifact_model.py +98 -0
  228. rapidata/api_client/models/i_artifact_model_dataset_artifact_model.py +98 -0
  229. rapidata/api_client/models/i_artifact_model_file_artifact_model.py +98 -0
  230. rapidata/api_client/models/i_artifact_model_workflow_artifact_model.py +98 -0
  231. rapidata/api_client/models/i_artifact_model_workflow_config_artifact_model.py +102 -0
  232. rapidata/api_client/models/i_asset.py +170 -0
  233. rapidata/api_client/models/i_asset_file_asset.py +111 -0
  234. rapidata/api_client/models/i_asset_input.py +156 -0
  235. rapidata/api_client/models/i_asset_input_existing_asset_input.py +118 -0
  236. rapidata/api_client/models/i_asset_input_multi_asset_input.py +128 -0
  237. rapidata/api_client/models/i_asset_input_text_asset_input.py +118 -0
  238. rapidata/api_client/models/i_asset_model.py +170 -0
  239. rapidata/api_client/models/i_asset_model_file_asset_model.py +113 -0
  240. rapidata/api_client/models/i_asset_model_multi_asset_model.py +123 -0
  241. rapidata/api_client/models/i_asset_model_null_asset_model.py +111 -0
  242. rapidata/api_client/models/i_asset_model_text_asset_model.py +113 -0
  243. rapidata/api_client/models/i_asset_multi_asset.py +121 -0
  244. rapidata/api_client/models/i_asset_null_asset.py +109 -0
  245. rapidata/api_client/models/i_asset_text_asset.py +111 -0
  246. rapidata/api_client/models/i_campaign_filter.py +282 -0
  247. rapidata/api_client/models/i_campaign_filter_and_filter.py +117 -0
  248. rapidata/api_client/models/i_campaign_filter_campaign_filter.py +98 -0
  249. rapidata/api_client/models/i_campaign_filter_country_filter.py +98 -0
  250. rapidata/api_client/models/i_campaign_filter_demographic_filter.py +100 -0
  251. rapidata/api_client/models/i_campaign_filter_language_filter.py +98 -0
  252. rapidata/api_client/models/i_campaign_filter_new_user_filter.py +96 -0
  253. rapidata/api_client/models/i_campaign_filter_not_filter.py +113 -0
  254. rapidata/api_client/models/i_campaign_filter_or_filter.py +117 -0
  255. rapidata/api_client/models/i_campaign_filter_response_count_filter.py +103 -0
  256. rapidata/api_client/models/i_campaign_filter_user_action_restriction_filter.py +106 -0
  257. rapidata/api_client/models/i_campaign_filter_user_score_filter.py +102 -0
  258. rapidata/api_client/models/i_campaign_filter_user_state_filter.py +106 -0
  259. rapidata/api_client/models/i_dataset_metadata_input.py +154 -0
  260. rapidata/api_client/models/i_dataset_metadata_input_prompt_asset_metadata_input.py +100 -0
  261. rapidata/api_client/models/i_dataset_metadata_input_prompt_metadata_input.py +96 -0
  262. rapidata/api_client/models/i_dataset_metadata_input_transcription_metadata_input.py +96 -0
  263. rapidata/api_client/models/i_dataset_model.py +126 -0
  264. rapidata/api_client/models/i_dataset_model_clone_dataset_model.py +98 -0
  265. rapidata/api_client/models/i_metadata.py +252 -0
  266. rapidata/api_client/models/i_metadata_classification_metadata.py +109 -0
  267. rapidata/api_client/models/i_metadata_count_metadata.py +109 -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 +103 -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 +103 -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 +282 -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_gender_user_filter_model.py +104 -0
  371. rapidata/api_client/models/i_user_filter_model_language_user_filter_model.py +96 -0
  372. rapidata/api_client/models/i_user_filter_model_new_user_filter_model.py +94 -0
  373. rapidata/api_client/models/i_user_filter_model_not_user_filter_model.py +102 -0
  374. rapidata/api_client/models/i_user_filter_model_or_user_filter_model.py +106 -0
  375. rapidata/api_client/models/i_user_filter_model_response_count_user_filter_model.py +101 -0
  376. rapidata/api_client/models/i_user_filter_model_user_score_user_filter_model.py +105 -0
  377. rapidata/api_client/models/i_validation_metadata_input.py +140 -0
  378. rapidata/api_client/models/i_validation_metadata_input_prompt_asset_metadata_input.py +100 -0
  379. rapidata/api_client/models/i_validation_metadata_input_prompt_metadata_input.py +96 -0
  380. rapidata/api_client/models/i_validation_truth.py +280 -0
  381. rapidata/api_client/models/i_validation_truth_attach_category_truth.py +96 -0
  382. rapidata/api_client/models/i_validation_truth_bounding_box_truth.py +102 -0
  383. rapidata/api_client/models/i_validation_truth_compare_truth.py +96 -0
  384. rapidata/api_client/models/i_validation_truth_empty_validation_truth.py +94 -0
  385. rapidata/api_client/models/i_validation_truth_line_truth.py +94 -0
  386. rapidata/api_client/models/i_validation_truth_locate_box_truth.py +104 -0
  387. rapidata/api_client/models/i_validation_truth_multi_compare_truth.py +96 -0
  388. rapidata/api_client/models/i_validation_truth_named_entity_truth.py +104 -0
  389. rapidata/api_client/models/i_validation_truth_polygon_truth.py +94 -0
  390. rapidata/api_client/models/i_validation_truth_scrub_truth.py +104 -0
  391. rapidata/api_client/models/i_validation_truth_skip_truth.py +94 -0
  392. rapidata/api_client/models/i_validation_truth_transcription_truth.py +115 -0
  393. rapidata/api_client/models/i_workflow_config.py +168 -0
  394. rapidata/api_client/models/i_workflow_config_compare_workflow_config.py +142 -0
  395. rapidata/api_client/models/i_workflow_config_evaluation_workflow_config.py +114 -0
  396. rapidata/api_client/models/i_workflow_config_grouped_ranking_workflow_config.py +155 -0
  397. rapidata/api_client/models/i_workflow_config_simple_workflow_config.py +116 -0
  398. rapidata/api_client/models/i_workflow_model.py +168 -0
  399. rapidata/api_client/models/i_workflow_model_compare_workflow_model.py +145 -0
  400. rapidata/api_client/models/i_workflow_model_evaluation_workflow_model.py +115 -0
  401. rapidata/api_client/models/i_workflow_model_grouped_ranking_workflow_model.py +121 -0
  402. rapidata/api_client/models/i_workflow_model_simple_workflow_model.py +119 -0
  403. rapidata/api_client/models/image_dimension_metadata.py +12 -1
  404. rapidata/api_client/models/inquire_file_metadata_result.py +100 -0
  405. rapidata/api_client/models/inspect_report_result.py +2 -2
  406. rapidata/api_client/models/json_web_key.py +2 -36
  407. rapidata/api_client/models/json_web_key_set.py +2 -22
  408. rapidata/api_client/models/labeling_selection.py +11 -13
  409. rapidata/api_client/models/language_filter.py +98 -0
  410. rapidata/api_client/models/leaderboard_query_result.py +46 -4
  411. rapidata/api_client/models/leaderboards_query_result.py +135 -0
  412. rapidata/api_client/models/line_result.py +3 -3
  413. rapidata/api_client/models/line_result_line.py +97 -0
  414. rapidata/api_client/models/line_result_line_point.py +89 -0
  415. rapidata/api_client/models/local_file_wrapper.py +120 -0
  416. rapidata/api_client/models/locate_coordinate.py +4 -13
  417. rapidata/api_client/models/location_metadata.py +12 -1
  418. rapidata/api_client/models/logic_operator.py +2 -2
  419. rapidata/api_client/models/metadata_i_order_metadata_input.py +154 -0
  420. rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_asset_metadata_input.py +100 -0
  421. rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_metadata_input.py +96 -0
  422. rapidata/api_client/models/metadata_i_order_metadata_input_metadata_transcription_metadata_input.py +96 -0
  423. rapidata/api_client/models/metadata_prompt_asset_metadata_input.py +100 -0
  424. rapidata/api_client/models/metadata_prompt_metadata_input.py +96 -0
  425. rapidata/api_client/models/metadata_transcription_metadata_input.py +96 -0
  426. rapidata/api_client/models/multi_asset.py +6 -6
  427. rapidata/api_client/models/multi_asset_assets_inner.py +170 -0
  428. rapidata/api_client/models/multi_asset_input.py +130 -0
  429. rapidata/api_client/models/multi_asset_input1.py +110 -0
  430. rapidata/api_client/models/multi_asset_input1_assets_inner.py +198 -0
  431. rapidata/api_client/models/multi_asset_input2.py +110 -0
  432. rapidata/api_client/models/multi_asset_input3.py +110 -0
  433. rapidata/api_client/models/multi_asset_input3_assets_inner.py +198 -0
  434. rapidata/api_client/models/multi_asset_input_assets_inner.py +156 -0
  435. rapidata/api_client/models/multi_asset_model.py +3 -3
  436. rapidata/api_client/models/naive_referee_model.py +2 -2
  437. rapidata/api_client/models/named_classification.py +4 -13
  438. rapidata/api_client/models/new_user_filter.py +96 -0
  439. rapidata/api_client/models/newsletter_model.py +6 -6
  440. rapidata/api_client/models/not_available_yet_result.py +4 -13
  441. rapidata/api_client/models/not_filter.py +117 -0
  442. rapidata/api_client/models/not_user_filter_model.py +3 -3
  443. rapidata/api_client/models/null_asset.py +3 -5
  444. rapidata/api_client/models/online_pair_maker_config_model.py +3 -3
  445. rapidata/api_client/models/or_filter.py +121 -0
  446. rapidata/api_client/models/or_user_filter_model.py +3 -3
  447. rapidata/api_client/models/order_model.py +15 -14
  448. rapidata/api_client/models/order_state.py +2 -2
  449. rapidata/api_client/models/original_filename_metadata.py +12 -1
  450. rapidata/api_client/models/page_info.py +2 -7
  451. rapidata/api_client/models/paged_result_aggregated_orders_model.py +105 -0
  452. rapidata/api_client/models/paged_result_benchmark_query_result.py +105 -0
  453. rapidata/api_client/models/paged_result_campaign_query_result.py +105 -0
  454. rapidata/api_client/models/paged_result_clients_query_result.py +105 -0
  455. rapidata/api_client/models/paged_result_datapoint_model.py +105 -0
  456. rapidata/api_client/models/paged_result_get_compare_workflow_results_result.py +105 -0
  457. rapidata/api_client/models/paged_result_get_grouped_ranking_workflow_results_result.py +105 -0
  458. rapidata/api_client/models/paged_result_get_validation_rapids_result.py +105 -0
  459. rapidata/api_client/models/paged_result_get_workflow_results_result.py +105 -0
  460. rapidata/api_client/models/paged_result_i_workflow_model.py +105 -0
  461. rapidata/api_client/models/paged_result_leaderboard_query_result.py +105 -0
  462. rapidata/api_client/models/paged_result_leaderboards_query_result.py +105 -0
  463. rapidata/api_client/models/paged_result_of_aggregated_orders_model.py +103 -0
  464. rapidata/api_client/models/paged_result_of_benchmark_query_result.py +103 -0
  465. rapidata/api_client/models/paged_result_of_campaign_query_result.py +103 -0
  466. rapidata/api_client/models/paged_result_of_clients_query_result.py +103 -0
  467. rapidata/api_client/models/paged_result_of_get_compare_workflow_results_result.py +103 -0
  468. rapidata/api_client/models/paged_result_of_get_grouped_ranking_workflow_results_result.py +103 -0
  469. rapidata/api_client/models/paged_result_of_get_validation_rapids_result.py +103 -0
  470. rapidata/api_client/models/paged_result_of_get_workflow_results_result.py +103 -0
  471. rapidata/api_client/models/paged_result_of_i_workflow_model.py +103 -0
  472. rapidata/api_client/models/paged_result_of_leaderboards_query_result.py +103 -0
  473. rapidata/api_client/models/paged_result_of_order_model.py +103 -0
  474. rapidata/api_client/models/paged_result_of_participant_by_benchmark.py +103 -0
  475. rapidata/api_client/models/paged_result_of_prompt_by_benchmark_result.py +103 -0
  476. rapidata/api_client/models/paged_result_of_query_audiences_result.py +103 -0
  477. rapidata/api_client/models/paged_result_of_query_datapoints_by_dataset_id_result.py +103 -0
  478. rapidata/api_client/models/paged_result_of_query_validation_rapid_eligibility_result.py +103 -0
  479. rapidata/api_client/models/paged_result_of_rapid_model.py +103 -0
  480. rapidata/api_client/models/paged_result_of_runs_by_leaderboard_result.py +103 -0
  481. rapidata/api_client/models/paged_result_of_sample_by_identifier.py +103 -0
  482. rapidata/api_client/models/paged_result_of_sample_by_participant.py +103 -0
  483. rapidata/api_client/models/paged_result_of_standing_by_leaderboard.py +103 -0
  484. rapidata/api_client/models/paged_result_of_validation_set_model.py +103 -0
  485. rapidata/api_client/models/paged_result_order_model.py +105 -0
  486. rapidata/api_client/models/paged_result_participant_by_benchmark.py +105 -0
  487. rapidata/api_client/models/paged_result_potential_validation_rapid.py +105 -0
  488. rapidata/api_client/models/paged_result_prompt_by_benchmark_result.py +105 -0
  489. rapidata/api_client/models/paged_result_query_audiences_result.py +105 -0
  490. rapidata/api_client/models/paged_result_query_datapoints_by_dataset_id_result.py +105 -0
  491. rapidata/api_client/models/paged_result_query_validation_rapid_eligibility_result.py +105 -0
  492. rapidata/api_client/models/paged_result_rapid_model.py +105 -0
  493. rapidata/api_client/models/paged_result_runs_by_leaderboard_result.py +105 -0
  494. rapidata/api_client/models/paged_result_sample_by_identifier.py +105 -0
  495. rapidata/api_client/models/paged_result_sample_by_participant.py +105 -0
  496. rapidata/api_client/models/paged_result_standing_by_leaderboard.py +105 -0
  497. rapidata/api_client/models/paged_result_validation_set_model.py +105 -0
  498. rapidata/api_client/models/participant_by_benchmark.py +94 -0
  499. rapidata/api_client/models/participant_by_benchmark_paged_result.py +105 -0
  500. rapidata/api_client/models/participant_by_leaderboard.py +19 -8
  501. rapidata/api_client/models/participant_status.py +4 -5
  502. rapidata/api_client/models/pipeline_id_workflow_config_put_request.py +140 -0
  503. rapidata/api_client/models/polygon_result.py +3 -3
  504. rapidata/api_client/models/polygon_result_coordinate.py +89 -0
  505. rapidata/api_client/models/polygon_result_shape.py +95 -0
  506. rapidata/api_client/models/potential_validation_rapid.py +103 -0
  507. rapidata/api_client/models/potential_validation_rapid_paged_result.py +105 -0
  508. rapidata/api_client/models/potential_validation_rapid_truth.py +280 -0
  509. rapidata/api_client/models/preliminary_download_model.py +5 -5
  510. rapidata/api_client/models/preview_order_model.py +87 -0
  511. rapidata/api_client/models/problem_details.py +2 -20
  512. rapidata/api_client/models/prompt_asset_metadata_input.py +6 -8
  513. rapidata/api_client/models/prompt_asset_metadata_input_asset.py +154 -0
  514. rapidata/api_client/models/prompt_by_benchmark_result.py +112 -0
  515. rapidata/api_client/models/prompt_by_benchmark_result_paged_result.py +105 -0
  516. rapidata/api_client/models/prompt_metadata.py +12 -1
  517. rapidata/api_client/models/prompt_metadata_input.py +2 -2
  518. rapidata/api_client/models/prompt_type.py +38 -0
  519. rapidata/api_client/models/proxy_file_wrapper.py +129 -0
  520. rapidata/api_client/models/public_order_model.py +2 -2
  521. rapidata/api_client/models/public_rapid_response.py +112 -0
  522. rapidata/api_client/models/query_audiences_result.py +111 -0
  523. rapidata/api_client/models/query_datapoints_by_dataset_id_result.py +95 -0
  524. rapidata/api_client/models/query_model.py +10 -5
  525. rapidata/api_client/models/query_validation_model.py +97 -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_modality.py +46 -0
  531. rapidata/api_client/models/rapid_model.py +33 -49
  532. rapidata/api_client/models/rapid_result_model.py +7 -7
  533. rapidata/api_client/models/rapid_skipped_model.py +5 -5
  534. rapidata/api_client/models/rapid_state.py +2 -2
  535. rapidata/api_client/models/read_bridge_token_keys_result.py +10 -24
  536. rapidata/api_client/models/reference_asset_input.py +100 -0
  537. rapidata/api_client/models/report_model.py +9 -15
  538. rapidata/api_client/models/response_count_filter.py +103 -0
  539. rapidata/api_client/models/response_count_user_filter_model.py +2 -8
  540. rapidata/api_client/models/retrieval_mode.py +2 -2
  541. rapidata/api_client/models/root_filter.py +5 -14
  542. rapidata/api_client/models/run_status.py +39 -0
  543. rapidata/api_client/models/runs_by_leaderboard_result.py +104 -0
  544. rapidata/api_client/models/runs_by_leaderboard_result_paged_result.py +105 -0
  545. rapidata/api_client/models/sample_by_identifier.py +125 -0
  546. rapidata/api_client/models/sample_by_identifier_paged_result.py +105 -0
  547. rapidata/api_client/models/sample_by_participant.py +121 -0
  548. rapidata/api_client/models/sample_by_participant_paged_result.py +105 -0
  549. rapidata/api_client/models/scrub_range.py +2 -2
  550. rapidata/api_client/models/send_survey_model.py +87 -0
  551. rapidata/api_client/models/simple_workflow_config.py +15 -7
  552. rapidata/api_client/models/simple_workflow_config_blueprint.py +37 -23
  553. rapidata/api_client/models/simple_workflow_config_model.py +11 -3
  554. rapidata/api_client/models/simple_workflow_model.py +14 -4
  555. rapidata/api_client/models/simple_workflow_model1.py +4 -11
  556. rapidata/api_client/models/simple_workflow_model_blueprint.py +1 -1
  557. rapidata/api_client/models/sort_criterion.py +5 -11
  558. rapidata/api_client/models/sort_direction.py +2 -2
  559. rapidata/api_client/models/source_url_metadata.py +12 -1
  560. rapidata/api_client/models/standing_by_benchmark.py +113 -0
  561. rapidata/api_client/models/standing_by_leaderboard.py +113 -0
  562. rapidata/api_client/models/standing_by_leaderboard_paged_result.py +105 -0
  563. rapidata/api_client/models/standing_status.py +38 -0
  564. rapidata/api_client/models/standings_by_benchmark_result.py +95 -0
  565. rapidata/api_client/models/standings_by_leaderboard_result.py +95 -0
  566. rapidata/api_client/models/start_preliminary_download_result.py +87 -0
  567. rapidata/api_client/models/sticky_state.py +3 -2
  568. rapidata/api_client/models/stream_file_wrapper.py +138 -0
  569. rapidata/api_client/models/streams_metadata.py +12 -1
  570. rapidata/api_client/models/string_segment.py +105 -0
  571. rapidata/api_client/models/submit_coco_model.py +1 -3
  572. rapidata/api_client/models/submit_order_model.py +87 -0
  573. rapidata/api_client/models/submit_participant_result.py +89 -0
  574. rapidata/api_client/models/submit_prompt_model.py +107 -0
  575. rapidata/api_client/models/submit_prompt_model_prompt_asset.py +202 -0
  576. rapidata/api_client/models/tags_by_benchmark_result.py +87 -0
  577. rapidata/api_client/models/text_asset.py +3 -5
  578. rapidata/api_client/models/text_asset_input.py +120 -0
  579. rapidata/api_client/models/text_metadata.py +18 -2
  580. rapidata/api_client/models/text_metadata_input.py +111 -0
  581. rapidata/api_client/models/text_metadata_model.py +7 -2
  582. rapidata/api_client/models/transcription_metadata.py +9 -1
  583. rapidata/api_client/models/transcription_metadata_input.py +2 -2
  584. rapidata/api_client/models/transcription_word.py +2 -2
  585. rapidata/api_client/models/translated_string.py +2 -2
  586. rapidata/api_client/models/unlock_order_result.py +2 -2
  587. rapidata/api_client/models/update_audience_request.py +102 -0
  588. rapidata/api_client/models/update_benchmark_model.py +99 -0
  589. rapidata/api_client/models/update_benchmark_name_model.py +87 -0
  590. rapidata/api_client/models/update_campaign_model.py +11 -11
  591. rapidata/api_client/models/update_dataset_name_model.py +5 -5
  592. rapidata/api_client/models/update_dimensions_model.py +3 -3
  593. rapidata/api_client/models/update_leaderboard_model.py +106 -0
  594. rapidata/api_client/models/update_leaderboard_name_model.py +87 -0
  595. rapidata/api_client/models/update_leaderboard_response_config_model.py +89 -0
  596. rapidata/api_client/models/update_order_name_model.py +5 -5
  597. rapidata/api_client/models/update_participant_model.py +92 -0
  598. rapidata/api_client/models/update_participant_name_model.py +87 -0
  599. rapidata/api_client/models/update_priority_model.py +87 -0
  600. rapidata/api_client/models/update_prompt_tags_model.py +87 -0
  601. rapidata/api_client/models/update_should_alert_model.py +87 -0
  602. rapidata/api_client/models/update_validation_rapid_model.py +28 -10
  603. rapidata/api_client/models/update_validation_rapid_model_context_asset.py +160 -0
  604. rapidata/api_client/models/update_validation_set_model.py +120 -0
  605. rapidata/api_client/models/upload_asset_result.py +102 -0
  606. rapidata/api_client/models/upload_file_from_url_result.py +87 -0
  607. rapidata/api_client/models/upload_file_result.py +87 -0
  608. rapidata/api_client/models/user_action_restriction.py +37 -0
  609. rapidata/api_client/models/user_action_restriction_filter.py +101 -0
  610. rapidata/api_client/models/user_score_filter.py +102 -0
  611. rapidata/api_client/models/user_state.py +38 -0
  612. rapidata/api_client/models/user_state_filter.py +101 -0
  613. rapidata/api_client/models/validation_chance.py +20 -3
  614. rapidata/api_client/models/validation_set_model.py +39 -5
  615. rapidata/api_client/models/validation_set_overview_model.py +2 -2
  616. rapidata/api_client/models/validation_set_zip_post_request_blueprint.py +252 -0
  617. rapidata/api_client/models/video_duration_metadata.py +12 -1
  618. rapidata/api_client/models/workflow_aggregation_step_model.py +3 -12
  619. rapidata/api_client/models/workflow_config_artifact_model_workflow_config.py +23 -9
  620. rapidata/api_client/models/workflow_state.py +2 -2
  621. rapidata/api_client/models/zip_entry_file_wrapper.py +151 -0
  622. rapidata/api_client/rest.py +16 -9
  623. rapidata/api_client_README.md +373 -336
  624. rapidata/rapidata_client/__init__.py +9 -18
  625. rapidata/rapidata_client/api/rapidata_api_client.py +253 -0
  626. rapidata/rapidata_client/benchmark/_detail_mapper.py +32 -0
  627. rapidata/rapidata_client/benchmark/leaderboard/__init__.py +0 -0
  628. rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py +221 -0
  629. rapidata/rapidata_client/benchmark/participant/__init__.py +0 -0
  630. rapidata/rapidata_client/benchmark/participant/_participant.py +147 -0
  631. rapidata/rapidata_client/benchmark/rapidata_benchmark.py +546 -0
  632. rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py +219 -0
  633. rapidata/rapidata_client/config/__init__.py +4 -0
  634. rapidata/rapidata_client/config/logger.py +135 -0
  635. rapidata/rapidata_client/config/logging_config.py +55 -0
  636. rapidata/rapidata_client/config/managed_print.py +6 -0
  637. rapidata/rapidata_client/config/order_config.py +14 -0
  638. rapidata/rapidata_client/config/rapidata_config.py +36 -0
  639. rapidata/rapidata_client/config/tracer.py +184 -0
  640. rapidata/rapidata_client/config/upload_config.py +64 -0
  641. rapidata/rapidata_client/datapoints/__init__.py +10 -0
  642. rapidata/rapidata_client/datapoints/_asset_uploader.py +169 -0
  643. rapidata/rapidata_client/datapoints/_datapoint.py +92 -0
  644. rapidata/rapidata_client/datapoints/_datapoint_uploader.py +47 -0
  645. rapidata/rapidata_client/datapoints/_datapoints_validator.py +70 -0
  646. rapidata/rapidata_client/datapoints/assets/__init__.py +0 -0
  647. rapidata/rapidata_client/datapoints/assets/constants.py +7 -0
  648. rapidata/rapidata_client/{metadata → datapoints/metadata}/__init__.py +1 -0
  649. rapidata/rapidata_client/datapoints/metadata/_media_asset_metadata.py +26 -0
  650. rapidata/rapidata_client/datapoints/metadata/_private_text_metadata.py +16 -0
  651. rapidata/rapidata_client/datapoints/metadata/_prompt_identifier_metadata.py +14 -0
  652. rapidata/rapidata_client/datapoints/metadata/_prompt_metadata.py +12 -0
  653. rapidata/rapidata_client/datapoints/metadata/_public_text_metadata.py +16 -0
  654. rapidata/rapidata_client/{metadata → datapoints/metadata}/_select_words_metadata.py +4 -5
  655. rapidata/rapidata_client/demographic/demographic_manager.py +44 -19
  656. rapidata/rapidata_client/exceptions/__init__.py +1 -0
  657. rapidata/rapidata_client/exceptions/failed_upload_exception.py +20 -0
  658. rapidata/rapidata_client/filter/__init__.py +1 -0
  659. rapidata/rapidata_client/filter/_base_filter.py +27 -6
  660. rapidata/rapidata_client/filter/age_filter.py +21 -10
  661. rapidata/rapidata_client/filter/and_filter.py +42 -0
  662. rapidata/rapidata_client/filter/campaign_filter.py +18 -10
  663. rapidata/rapidata_client/filter/country_filter.py +34 -12
  664. rapidata/rapidata_client/filter/custom_filter.py +22 -12
  665. rapidata/rapidata_client/filter/gender_filter.py +22 -10
  666. rapidata/rapidata_client/filter/language_filter.py +39 -21
  667. rapidata/rapidata_client/filter/models/age_group.py +14 -12
  668. rapidata/rapidata_client/filter/models/gender.py +12 -8
  669. rapidata/rapidata_client/filter/new_user_filter.py +11 -4
  670. rapidata/rapidata_client/filter/not_filter.py +23 -11
  671. rapidata/rapidata_client/filter/or_filter.py +23 -11
  672. rapidata/rapidata_client/filter/rapidata_filters.py +19 -13
  673. rapidata/rapidata_client/filter/response_count_filter.py +36 -20
  674. rapidata/rapidata_client/filter/user_score_filter.py +47 -24
  675. rapidata/rapidata_client/order/_rapidata_order_builder.py +289 -154
  676. rapidata/rapidata_client/order/dataset/_rapidata_dataset.py +153 -0
  677. rapidata/rapidata_client/order/rapidata_order.py +316 -163
  678. rapidata/rapidata_client/order/rapidata_order_manager.py +688 -430
  679. rapidata/rapidata_client/order/rapidata_results.py +86 -63
  680. rapidata/rapidata_client/rapidata_client.py +98 -36
  681. rapidata/rapidata_client/referee/__init__.py +1 -1
  682. rapidata/rapidata_client/referee/_base_referee.py +7 -3
  683. rapidata/rapidata_client/referee/_early_stopping_referee.py +20 -11
  684. rapidata/rapidata_client/referee/_naive_referee.py +18 -3
  685. rapidata/rapidata_client/selection/__init__.py +2 -2
  686. rapidata/rapidata_client/selection/_base_selection.py +9 -2
  687. rapidata/rapidata_client/selection/ab_test_selection.py +28 -20
  688. rapidata/rapidata_client/selection/capped_selection.py +23 -16
  689. rapidata/rapidata_client/selection/conditional_validation_selection.py +43 -24
  690. rapidata/rapidata_client/selection/demographic_selection.py +21 -6
  691. rapidata/rapidata_client/selection/effort_selection.py +40 -10
  692. rapidata/rapidata_client/selection/labeling_selection.py +34 -11
  693. rapidata/rapidata_client/selection/{retrieval_modes.py → rapidata_retrieval_modes.py} +7 -4
  694. rapidata/rapidata_client/selection/rapidata_selections.py +17 -8
  695. rapidata/rapidata_client/selection/shuffling_selection.py +21 -13
  696. rapidata/rapidata_client/selection/static_selection.py +19 -8
  697. rapidata/rapidata_client/selection/validation_selection.py +20 -4
  698. rapidata/rapidata_client/settings/__init__.py +2 -0
  699. rapidata/rapidata_client/settings/_rapidata_setting.py +15 -2
  700. rapidata/rapidata_client/settings/alert_on_fast_response.py +8 -5
  701. rapidata/rapidata_client/settings/allow_neither_both.py +3 -0
  702. rapidata/rapidata_client/settings/custom_setting.py +3 -2
  703. rapidata/rapidata_client/settings/free_text_minimum_characters.py +9 -4
  704. rapidata/rapidata_client/settings/models/translation_behaviour_options.py +3 -2
  705. rapidata/rapidata_client/settings/mute_video.py +15 -0
  706. rapidata/rapidata_client/settings/no_shuffle.py +4 -2
  707. rapidata/rapidata_client/settings/play_video_until_the_end.py +7 -4
  708. rapidata/rapidata_client/settings/rapidata_settings.py +16 -3
  709. rapidata/rapidata_client/settings/swap_context_instruction.py +20 -0
  710. rapidata/rapidata_client/settings/translation_behaviour.py +7 -5
  711. rapidata/rapidata_client/validation/rapidata_validation_set.py +106 -12
  712. rapidata/rapidata_client/validation/rapids/_validation_rapid_uploader.py +62 -0
  713. rapidata/rapidata_client/validation/rapids/box.py +37 -12
  714. rapidata/rapidata_client/validation/rapids/rapids.py +28 -103
  715. rapidata/rapidata_client/validation/rapids/rapids_manager.py +315 -208
  716. rapidata/rapidata_client/validation/validation_set_manager.py +511 -274
  717. rapidata/rapidata_client/workflow/__init__.py +2 -1
  718. rapidata/rapidata_client/workflow/_base_workflow.py +25 -7
  719. rapidata/rapidata_client/workflow/_classify_workflow.py +58 -15
  720. rapidata/rapidata_client/workflow/_compare_workflow.py +44 -9
  721. rapidata/rapidata_client/workflow/_draw_workflow.py +40 -10
  722. rapidata/rapidata_client/workflow/_evaluation_workflow.py +28 -7
  723. rapidata/rapidata_client/workflow/_free_text_workflow.py +46 -9
  724. rapidata/rapidata_client/workflow/_locate_workflow.py +40 -10
  725. rapidata/rapidata_client/workflow/_multi_ranking_workflow.py +87 -0
  726. rapidata/rapidata_client/workflow/_ranking_workflow.py +109 -25
  727. rapidata/rapidata_client/workflow/_select_words_workflow.py +51 -11
  728. rapidata/rapidata_client/workflow/_timestamp_workflow.py +42 -11
  729. rapidata/service/__init__.py +0 -1
  730. rapidata/service/credential_manager.py +14 -14
  731. rapidata/service/openapi_service.py +79 -24
  732. rapidata/types/__init__.py +166 -0
  733. rapidata-2.44.3.dist-info/METADATA +32 -0
  734. rapidata-2.44.3.dist-info/RECORD +1014 -0
  735. {rapidata-2.28.2.dist-info → rapidata-2.44.3.dist-info}/WHEEL +1 -1
  736. rapidata/rapidata_client/api/rapidata_exception.py +0 -107
  737. rapidata/rapidata_client/assets/__init__.py +0 -10
  738. rapidata/rapidata_client/assets/_base_asset.py +0 -11
  739. rapidata/rapidata_client/assets/_media_asset.py +0 -306
  740. rapidata/rapidata_client/assets/_multi_asset.py +0 -61
  741. rapidata/rapidata_client/assets/_sessions.py +0 -35
  742. rapidata/rapidata_client/assets/_text_asset.py +0 -34
  743. rapidata/rapidata_client/assets/data_type_enum.py +0 -7
  744. rapidata/rapidata_client/country_codes/__init__.py +0 -1
  745. rapidata/rapidata_client/country_codes/country_codes.py +0 -19
  746. rapidata/rapidata_client/leaderboard/rapidata_leaderboard.py +0 -127
  747. rapidata/rapidata_client/leaderboard/rapidata_leaderboard_manager.py +0 -92
  748. rapidata/rapidata_client/logging/__init__.py +0 -2
  749. rapidata/rapidata_client/logging/logger.py +0 -122
  750. rapidata/rapidata_client/logging/output_manager.py +0 -20
  751. rapidata/rapidata_client/metadata/_media_asset_metadata.py +0 -15
  752. rapidata/rapidata_client/metadata/_private_text_metadata.py +0 -17
  753. rapidata/rapidata_client/metadata/_prompt_metadata.py +0 -18
  754. rapidata/rapidata_client/metadata/_public_text_metadata.py +0 -17
  755. rapidata/rapidata_client/order/_rapidata_dataset.py +0 -461
  756. rapidata/service/local_file_service.py +0 -25
  757. rapidata-2.28.2.dist-info/METADATA +0 -35
  758. rapidata-2.28.2.dist-info/RECORD +0 -574
  759. /rapidata/rapidata_client/{leaderboard → benchmark}/__init__.py +0 -0
  760. /rapidata/rapidata_client/{metadata → datapoints/metadata}/_base_metadata.py +0 -0
  761. {rapidata-2.28.2.dist-info → rapidata-2.44.3.dist-info/licenses}/LICENSE +0 -0
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.3
2
+ Generator: hatchling 1.28.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,107 +0,0 @@
1
- from typing import Optional, Any
2
- from rapidata.api_client.api_client import ApiClient, rest, ApiResponse, ApiResponseT
3
- from rapidata.api_client.exceptions import ApiException
4
- import json
5
- from rapidata.rapidata_client.logging import logger
6
-
7
- class RapidataError(Exception):
8
- """Custom error class for Rapidata API errors."""
9
-
10
- def __init__(
11
- self,
12
- status_code: Optional[int] = None,
13
- message: str | None = None,
14
- original_exception: Exception | None = None,
15
- details: Any = None
16
- ):
17
- self.status_code = status_code
18
- self.message = message
19
- self.original_exception = original_exception
20
- self.details = details
21
-
22
- # Create a nice error message
23
- error_msg = "Rapidata API Error"
24
- if status_code:
25
- error_msg += f" ({status_code})"
26
- if message:
27
- error_msg += f": {message}"
28
-
29
- super().__init__(error_msg)
30
-
31
- def __str__(self):
32
- """Return a string representation of the error."""
33
- # Extract information from message if available
34
- title = None
35
- errors = None
36
- trace_id = None
37
-
38
- # Try to extract from details if available and is a dict
39
- if self.details and isinstance(self.details, dict):
40
- title = self.details.get('title')
41
- errors = self.details.get('errors')
42
- trace_id = self.details.get('traceId')
43
-
44
- # Build the error string
45
- error_parts = []
46
-
47
- # Main error line
48
- if title:
49
- error_parts.append(f"{title}")
50
- else:
51
- error_parts.append(f"{self.message or 'Unknown error'}")
52
-
53
- # Reasons
54
- if errors:
55
- if isinstance(errors, dict):
56
- error_parts.append(f"Reasons: {json.dumps({'errors': errors})}")
57
- else:
58
- error_parts.append(f"Reasons: {errors}")
59
-
60
- # Trace ID
61
- if trace_id:
62
- error_parts.append(f"Trace Id: {trace_id}")
63
- else:
64
- error_parts.append("Trace Id: N/A")
65
-
66
- return "\n".join(error_parts)
67
-
68
- class RapidataApiClient(ApiClient):
69
- """Custom API client that wraps errors in RapidataError."""
70
-
71
- def response_deserialize(
72
- self,
73
- response_data: rest.RESTResponse,
74
- response_types_map: Optional[dict[str, ApiResponseT]] = None
75
- ) -> ApiResponse[ApiResponseT]:
76
- """Override the response_deserialize method to catch and convert exceptions."""
77
- try:
78
- return super().response_deserialize(response_data, response_types_map)
79
- except ApiException as e:
80
- status_code = getattr(e, 'status', None)
81
- message = str(e)
82
- details = None
83
-
84
- # Extract more detailed error message from response body if available
85
- if hasattr(e, 'body') and e.body:
86
- try:
87
- body_json = json.loads(e.body)
88
- if isinstance(body_json, dict):
89
- if 'message' in body_json:
90
- message = body_json['message']
91
- elif 'error' in body_json:
92
- message = body_json['error']
93
-
94
- # Store the full error details for debugging
95
- details = body_json
96
- except (json.JSONDecodeError, AttributeError):
97
- # If we can't parse the body as JSON, use the original message
98
- pass
99
-
100
- error_formatted = RapidataError(
101
- status_code=status_code,
102
- message=message,
103
- original_exception=e,
104
- details=details
105
- )
106
- logger.error(f"Error: {error_formatted}")
107
- raise error_formatted from None
@@ -1,10 +0,0 @@
1
- """Assets Package
2
-
3
- This package provides classes for different types of assets, including MediaAsset, TextAsset, and MultiAsset.
4
- """
5
- from ._base_asset import BaseAsset
6
- from ._media_asset import MediaAsset
7
- from ._text_asset import TextAsset
8
- from ._multi_asset import MultiAsset
9
- from .data_type_enum import RapidataDataTypes
10
- from ._sessions import SessionManager
@@ -1,11 +0,0 @@
1
- """Base Asset Module
2
-
3
- Defines the BaseAsset class, which serves as the abstract base class for all asset types.
4
- """
5
-
6
- class BaseAsset:
7
- """BaseAsset Class
8
-
9
- An abstract base class for different types of assets. This class is intended to be subclassed by specific asset types.
10
- """
11
- pass
@@ -1,306 +0,0 @@
1
- """Media Asset Module with Lazy Loading
2
-
3
- Defines the MediaAsset class for handling media file paths within assets.
4
- Implements lazy loading for URL-based media to prevent unnecessary downloads.
5
- """
6
-
7
- from typing import Optional, cast
8
- import os
9
- from io import BytesIO
10
- from rapidata.rapidata_client.assets._base_asset import BaseAsset
11
- import requests
12
- import re
13
- from PIL import Image
14
- from tinytag import TinyTag
15
- import tempfile
16
- from pydantic import StrictStr, StrictBytes
17
- import logging
18
- from functools import cached_property
19
- from rapidata.rapidata_client.assets._sessions import SessionManager
20
- from rapidata.rapidata_client.logging import logger
21
-
22
- class MediaAsset(BaseAsset):
23
- """MediaAsset Class with Lazy Loading
24
-
25
- Represents a media asset by storing the file path or URL.
26
- Only downloads URL content when needed.
27
- Supports local files and URLs for images, MP3, and MP4.
28
-
29
- Args:
30
- path (str): The file system path to the media asset or URL.
31
-
32
- Raises:
33
- FileNotFoundError: If the provided file path does not exist.
34
- """
35
- _logger = logging.getLogger(__name__ + '.MediaAsset')
36
-
37
- ALLOWED_TYPES = [
38
- 'image/',
39
- 'audio/mp3', # MP3
40
- 'video/mp4', # MP4
41
- ]
42
-
43
- MIME_TYPES = {
44
- 'jpg': 'image/jpeg',
45
- 'jpeg': 'image/jpeg',
46
- 'png': 'image/png',
47
- 'gif': 'image/gif',
48
- 'webp': 'image/webp',
49
- 'mp3': 'audio/mp3',
50
- 'mp4': 'video/mp4'
51
- }
52
-
53
- FILE_SIGNATURES = {
54
- b'\xFF\xD8\xFF': 'image/jpeg',
55
- b'\x89PNG\r\n\x1a\n': 'image/png',
56
- b'GIF87a': 'image/gif',
57
- b'GIF89a': 'image/gif',
58
- b'RIFF': 'image/webp',
59
- b'ID3': 'audio/mp3',
60
- b'\xFF\xFB': 'audio/mp3',
61
- b'\xFF\xF3': 'audio/mp3',
62
- b'ftyp': 'video/mp4',
63
- }
64
-
65
- def __init__(self, path: str):
66
- """
67
- Initialize a MediaAsset instance.
68
-
69
- Args:
70
- path (str): The file system path to the media asset or a URL.
71
-
72
- Raises:
73
- FileNotFoundError: If the provided file path does not exist.
74
- ValueError: If path is not a string.
75
- """
76
- if not isinstance(path, str):
77
- raise ValueError("Media must be a string, either a local file path or a URL")
78
-
79
- self._url = None
80
- self._content = None
81
- self.session: requests.Session = SessionManager.get_session()
82
-
83
- if re.match(r'^https?://', path):
84
- self._url = path
85
- self.name = path.split('/')[-1]
86
- self.name = self.__check_name_ending(self.name)
87
- self.path = path
88
- return
89
-
90
- if not os.path.exists(path):
91
- raise FileNotFoundError(f"File not found: {path}")
92
-
93
- self.path = path
94
- self.name = path
95
-
96
- @cached_property
97
- def content(self) -> bytes:
98
- """
99
- Lazy loader for URL content. Only downloads when first accessed.
100
- Uses cached_property to store the result after first download.
101
- """
102
- if self._url is None:
103
- self.path = cast(str, self.path)
104
- with open(self.path, 'rb') as f:
105
- return f.read()
106
-
107
- return self.__get_media_bytes(self._url)
108
-
109
- def get_duration(self) -> int:
110
- """
111
- Get the duration of audio/video files in milliseconds.
112
- Returns 0 for static images.
113
-
114
- Returns:
115
- int: Duration in milliseconds for audio/video, 0 for static images
116
-
117
- Raises:
118
- ValueError: If the duration cannot be determined
119
- """
120
- path_to_check = self.name.lower()
121
-
122
- # Return 0 for static images
123
- if any(path_to_check.endswith(ext) for ext in ('.jpg', '.jpeg', '.png', '.webp', '.gif')):
124
- return 0
125
-
126
- try:
127
- # Create temporary file from content
128
- with tempfile.NamedTemporaryFile(suffix=os.path.splitext(self.name)[1], delete=False) as tmp:
129
- tmp.write(self.content)
130
- tmp.flush()
131
- tmp_path = tmp.name
132
-
133
- try:
134
- tag = TinyTag.get(tmp_path)
135
- finally:
136
- # Clean up the temporary file
137
- os.unlink(tmp_path)
138
-
139
- if tag.duration is None:
140
- raise ValueError("Could not read duration from file")
141
-
142
- return int(tag.duration * 1000) # Convert to milliseconds
143
-
144
- except Exception as e:
145
- raise ValueError(f"Could not determine media duration: {str(e)}")
146
-
147
- def get_image_dimension(self) -> tuple[int, int] | None:
148
- """
149
- Get the dimensions (width, height) of an image file.
150
- Returns None for non-image files or if dimensions can't be determined.
151
- """
152
- if not any(self.name.lower().endswith(ext) for ext in ('.jpg', '.jpeg', '.png', '.gif', '.webp')):
153
- return None
154
-
155
- try:
156
- img = Image.open(BytesIO(self.content))
157
- return img.size
158
- except Exception:
159
- return None
160
-
161
- def set_custom_name(self, name: str) -> 'MediaAsset':
162
- """Set a custom name for the media asset (only works with URLs)."""
163
- if self._url is not None:
164
- self.name = self.__check_name_ending(name)
165
- else:
166
- raise ValueError("Custom name can only be set for URLs.")
167
- return self
168
-
169
- def __check_name_ending(self, name: str) -> str:
170
- """Check if the media path is valid."""
171
- if not name.endswith(('.jpg', '.jpeg', '.png', '.gif', '.mp3', '.mp4', '.webp')):
172
- logger.warning("Warning: Supported file types: jpg, jpeg, png, gif, mp3, mp4. Image might not be displayed correctly.")
173
- name = name + '.jpg'
174
- return name
175
-
176
- def __get_media_type_from_extension(self, url: str) -> Optional[str]:
177
- """
178
- Determine media type from URL file extension.
179
-
180
- Args:
181
- url: The URL to check
182
-
183
- Returns:
184
- Optional[str]: MIME type if valid extension found, None otherwise
185
- """
186
- try:
187
- ext = url.lower().split('?')[0].split('.')[-1]
188
- return self.MIME_TYPES.get(ext)
189
- except IndexError:
190
- return None
191
-
192
- def __validate_image_content(self, content: bytes) -> bool:
193
- """
194
- Validate image content using PIL.
195
-
196
- Args:
197
- content: Image bytes to validate
198
-
199
- Returns:
200
- bool: True if valid image, False otherwise
201
- """
202
- try:
203
- img = Image.open(BytesIO(content))
204
- img.verify()
205
- return True
206
- except Exception as e:
207
- self._logger.debug(f"Image validation failed: {str(e)}")
208
- return False
209
-
210
- def __get_media_type_from_signature(self, content: bytes) -> Optional[str]:
211
- """
212
- Determine media type from file signature.
213
-
214
- Args:
215
- content: File content bytes
216
-
217
- Returns:
218
- Optional[str]: MIME type if valid signature found, None otherwise
219
- """
220
- file_start = content[:32]
221
- for signature, mime_type in self.FILE_SIGNATURES.items():
222
- if file_start.startswith(signature) or (signature in file_start[:10]):
223
- return mime_type
224
- return None
225
-
226
- def __get_media_bytes(self, url: str) -> bytes:
227
- """
228
- Downloads and validates media files from URL with retry logic and session reuse.
229
-
230
- Args:
231
- url: URL of the media file
232
-
233
- Returns:
234
- bytes: Validated media content
235
-
236
- Raises:
237
- ValueError: If media type is unsupported or content validation fails
238
- requests.exceptions.RequestException: If download fails after all retries
239
- """
240
- # Use existing session or throw error if not set
241
- if self.session is None:
242
- raise RuntimeError("HTTP session not configured")
243
-
244
- try:
245
- response = self.session.get(
246
- url,
247
- stream=False,
248
- timeout=(5, 30) # (connect timeout, read timeout)
249
- )
250
- response.raise_for_status()
251
- except requests.exceptions.RequestException as e:
252
- self._logger.error(f"Failed to download media from {url} after retries: {str(e)}")
253
- raise
254
-
255
- content = response.content
256
- content_type = response.headers.get('content-type', '').lower()
257
-
258
- # Case 1: Content-type is already allowed
259
- if any(content_type.startswith(t) for t in self.ALLOWED_TYPES):
260
- self._logger.debug(f"Content-type {content_type} is allowed")
261
- return content
262
-
263
- # Case 2: Try to validate based on extension
264
- mime_type = self.__get_media_type_from_extension(url)
265
- if mime_type and mime_type.startswith(tuple(self.ALLOWED_TYPES)):
266
- self._logger.debug(f"Found valid mime type from extension: {mime_type}")
267
- return content
268
-
269
- # Case 3: Try to validate based on file signature
270
- mime_type = self.__get_media_type_from_signature(content)
271
- if mime_type and mime_type.startswith(tuple(self.ALLOWED_TYPES)):
272
- self._logger.debug(f"Found valid mime type from signature: {mime_type}")
273
- return content
274
-
275
- # Case 4: Last resort - try direct image validation
276
- if self.__validate_image_content(content):
277
- self._logger.debug("Content validated as image through direct validation")
278
- return content
279
-
280
- # If we get here, validation failed
281
- error_msg = (
282
- f'Could not validate media type from content.\n'
283
- f'Content-Type: {content_type}\n'
284
- f'URL extension: {url.split("?")[0].split(".")[-1]}\n'
285
- f'Allowed types: {self.ALLOWED_TYPES}'
286
- )
287
- self._logger.error(error_msg)
288
- raise ValueError(error_msg)
289
-
290
- def is_local(self) -> bool:
291
- """Check if the media asset is a local file."""
292
- return self._url is None
293
-
294
- def to_file(self) -> StrictStr | tuple[StrictStr, StrictBytes] | StrictBytes:
295
- """Convert the media asset to a file representation."""
296
- if self._url is None:
297
- self.path = cast(str, self.path)
298
- return self.path
299
- else:
300
- return (self.name, self.content)
301
-
302
- def __str__(self) -> str:
303
- return f"MediaAsset(path={self.path})"
304
-
305
- def __repr__(self) -> str:
306
- return f"MediaAsset(path={self.path})"
@@ -1,61 +0,0 @@
1
- """Multi Asset Module
2
-
3
- Defines the MultiAsset class for handling multiple BaseAsset instances.
4
- """
5
-
6
- from rapidata.rapidata_client.assets._base_asset import BaseAsset
7
- from rapidata.rapidata_client.assets import MediaAsset, TextAsset
8
- from typing import Iterator, Sequence, cast
9
-
10
-
11
- class MultiAsset(BaseAsset):
12
- """MultiAsset Class
13
-
14
- Represents a collection of multiple BaseAsset instances.
15
-
16
- Args:
17
- assets (List[BaseAsset]): A list of BaseAsset instances to be managed together.
18
- """
19
-
20
- def __init__(self, assets: Sequence[BaseAsset]) -> None:
21
- """
22
- Initialize a MultiAsset instance.
23
-
24
- Args:
25
- assets (List[BaseAsset]): A list of BaseAsset instances to be managed together.
26
- """
27
- if len(assets) != 2:
28
- raise ValueError("Assets must come in pairs for comparison tasks.")
29
-
30
- for asset in assets:
31
- if not isinstance(asset, (TextAsset, MediaAsset)):
32
- raise TypeError("All assets must be a TextAsset or MediaAsset.")
33
-
34
- if not all(isinstance(asset, type(assets[0])) for asset in assets):
35
- raise ValueError("All assets must be of the same type.")
36
-
37
- self.assets = assets
38
-
39
- def __len__(self) -> int:
40
- """
41
- Get the number of assets in the MultiAsset.
42
-
43
- Returns:
44
- int: The number of assets.
45
- """
46
- return len(self.assets)
47
-
48
- def __iter__(self) -> Iterator[BaseAsset]:
49
- """
50
- Return an iterator over the assets in the MultiAsset.
51
-
52
- Returns:
53
- Iterator[BaseAsset]: An iterator over the assets.
54
- """
55
- return iter(self.assets)
56
-
57
- def __str__(self) -> str:
58
- return f"MultiAsset(assets={self.assets})"
59
-
60
- def __repr__(self) -> str:
61
- return f"MultiAsset(assets={self.assets})"
@@ -1,35 +0,0 @@
1
- import requests
2
- from requests.adapters import HTTPAdapter
3
- from urllib3.util.retry import Retry
4
-
5
- class SessionManager:
6
- _session = None
7
-
8
- @classmethod
9
- def get_session(cls, ) -> requests.Session:
10
- """Get a singleton requests session with retry logic.
11
-
12
- Returns:
13
- requests.Session: A singleton requests session with retry logic.
14
- """
15
- if cls._session is None:
16
- max_retries: int = 5
17
- max_workers: int = 10
18
- cls._session = requests.Session()
19
- retries = Retry(
20
- total=max_retries,
21
- backoff_factor=1,
22
- status_forcelist=[500, 502, 503, 504],
23
- allowed_methods=["GET"],
24
- respect_retry_after_header=True
25
- )
26
-
27
- adapter = HTTPAdapter(
28
- pool_connections=max_workers * 2,
29
- pool_maxsize=max_workers * 4,
30
- max_retries=retries
31
- )
32
- cls._session.mount('http://', adapter)
33
- cls._session.mount('https://', adapter)
34
-
35
- return cls._session
@@ -1,34 +0,0 @@
1
- """Text Asset Module
2
-
3
- Defines the TextAsset class for handling textual data within assets.
4
- """
5
-
6
- from rapidata.rapidata_client.assets._base_asset import BaseAsset
7
-
8
-
9
- class TextAsset(BaseAsset):
10
- """TextAsset Class
11
-
12
- Represents a textual asset.
13
-
14
- Args:
15
- text (str): The text content of the asset.
16
- """
17
-
18
- def __init__(self, text: str):
19
- """
20
- Initialize a TextAsset instance.
21
-
22
- Args:
23
- text (str): The textual content of the asset.
24
- """
25
- if not isinstance(text, str):
26
- raise ValueError("Text must be a string")
27
-
28
- self.text = text
29
-
30
- def __str__(self) -> str:
31
- return f"TextAsset(text={self.text})"
32
-
33
- def __repr__(self) -> str:
34
- return f"TextAsset(text={self.text})"
@@ -1,7 +0,0 @@
1
- class RapidataDataTypes:
2
- MEDIA = "media" # any form of image, video or audio
3
- TEXT = "text"
4
-
5
- @classmethod
6
- def _possible_values(cls):
7
- return [cls.MEDIA, cls.TEXT]
@@ -1 +0,0 @@
1
- from .country_codes import CountryCodes
@@ -1,19 +0,0 @@
1
- class CountryCodes:
2
-
3
- ENGLISH_SPEAKING = [
4
- "AU",
5
- "BE",
6
- "CA",
7
- "DK",
8
- "FI",
9
- "IE",
10
- "LU",
11
- "NL",
12
- "NZ",
13
- "NO",
14
- "SG",
15
- "SE",
16
- "GB",
17
- "US",
18
- ]
19
- GERMAN_SPEAKING = ["AT", "DE"]