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

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

Potentially problematic release.


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

Files changed (743) hide show
  1. rapidata/__init__.py +23 -15
  2. rapidata/api_client/__init__.py +84 -427
  3. rapidata/api_client/api/__init__.py +5 -2
  4. rapidata/api_client/api/asset_api.py +853 -0
  5. rapidata/api_client/api/audience_api.py +2505 -0
  6. rapidata/api_client/api/benchmark_api.py +618 -253
  7. rapidata/api_client/api/campaign_api.py +322 -32
  8. rapidata/api_client/api/client_api.py +38 -33
  9. rapidata/api_client/api/compare_workflow_api.py +11 -10
  10. rapidata/api_client/api/customer_rapid_api.py +119 -125
  11. rapidata/api_client/api/datapoint_api.py +8 -6
  12. rapidata/api_client/api/dataset_api.py +240 -1516
  13. rapidata/api_client/api/evaluation_workflow_api.py +29 -82
  14. rapidata/api_client/api/feedback_api.py +11 -11
  15. rapidata/api_client/api/grouped_ranking_workflow_api.py +319 -0
  16. rapidata/api_client/api/identity_api.py +26 -300
  17. rapidata/api_client/api/job_api.py +3902 -0
  18. rapidata/api_client/api/job_definition_api.py +319 -0
  19. rapidata/api_client/api/job_revision_api.py +335 -0
  20. rapidata/api_client/api/leaderboard_api.py +139 -2355
  21. rapidata/api_client/api/newsletter_api.py +20 -19
  22. rapidata/api_client/api/order_api.py +375 -91
  23. rapidata/api_client/api/participant_api.py +80 -118
  24. rapidata/api_client/api/pipeline_api.py +24 -607
  25. rapidata/api_client/api/prompt_api.py +11 -11
  26. rapidata/api_client/api/rapidata_identity_api_api.py +5 -4
  27. rapidata/api_client/api/sample_api.py +5 -4
  28. rapidata/api_client/api/simple_workflow_api.py +11 -10
  29. rapidata/api_client/api/survey_api.py +304 -0
  30. rapidata/api_client/api/user_rapid_api.py +35 -31
  31. rapidata/api_client/api/validation_set_api.py +337 -2043
  32. rapidata/api_client/api/workflow_api.py +32 -26
  33. rapidata/api_client/api_client.py +2 -2
  34. rapidata/api_client/configuration.py +16 -29
  35. rapidata/api_client/exceptions.py +2 -2
  36. rapidata/api_client/models/__init__.py +65 -400
  37. rapidata/api_client/models/ab_test_selection_a_inner.py +1 -1
  38. rapidata/api_client/models/add_rapid_to_audience_model.py +144 -0
  39. rapidata/api_client/models/add_user_response_result.py +10 -5
  40. rapidata/api_client/models/add_validation_rapid_model.py +34 -36
  41. rapidata/api_client/models/add_validation_rapid_model_asset.py +154 -0
  42. rapidata/api_client/models/add_validation_rapid_model_context_asset.py +160 -0
  43. rapidata/api_client/models/add_validation_rapid_model_metadata_inner.py +140 -0
  44. rapidata/api_client/models/add_validation_rapid_new_model.py +137 -0
  45. rapidata/api_client/models/add_validation_rapid_new_model_asset.py +182 -0
  46. rapidata/api_client/models/add_validation_rapid_new_model_truth.py +286 -0
  47. rapidata/api_client/models/age_user_filter_model.py +2 -2
  48. rapidata/api_client/models/age_user_filter_model_age_group.py +41 -0
  49. rapidata/api_client/models/aggregated_orders_model.py +98 -0
  50. rapidata/api_client/models/aggregator_type.py +4 -2
  51. rapidata/api_client/models/and_filter_filters_inner.py +24 -10
  52. rapidata/api_client/models/are_rapids_active_result.py +2 -2
  53. rapidata/api_client/models/asset_metadata.py +2 -8
  54. rapidata/api_client/models/attach_category_rapid_blueprint.py +13 -3
  55. rapidata/api_client/models/attach_category_rapid_blueprint_category.py +89 -0
  56. rapidata/api_client/models/audience_job_state.py +38 -0
  57. rapidata/api_client/models/audience_status.py +39 -0
  58. rapidata/api_client/models/benchmark_query_result.py +5 -3
  59. rapidata/api_client/models/boost_leaderboard_model.py +5 -5
  60. rapidata/api_client/models/boost_query_result.py +4 -4
  61. rapidata/api_client/models/boost_query_result_boost_mode.py +37 -0
  62. rapidata/api_client/models/boost_query_result_boost_status.py +39 -0
  63. rapidata/api_client/models/boosting_profile.py +91 -0
  64. rapidata/api_client/models/box_shape.py +4 -33
  65. rapidata/api_client/models/campaign_query_result.py +13 -5
  66. rapidata/api_client/models/campaign_status.py +2 -2
  67. rapidata/api_client/models/change_boost_model.py +5 -5
  68. rapidata/api_client/models/classify_payload.py +14 -15
  69. rapidata/api_client/models/classify_payload_category.py +89 -0
  70. rapidata/api_client/models/client_model.py +25 -35
  71. rapidata/api_client/models/clients_query_result.py +5 -5
  72. rapidata/api_client/models/clone_order_model.py +4 -4
  73. rapidata/api_client/models/clone_order_result.py +9 -4
  74. rapidata/api_client/models/compare_workflow_config.py +19 -18
  75. rapidata/api_client/models/compare_workflow_config_context_asset.py +174 -0
  76. rapidata/api_client/models/compare_workflow_config_model.py +3 -3
  77. rapidata/api_client/models/compare_workflow_model.py +25 -7
  78. rapidata/api_client/models/compare_workflow_model1.py +20 -9
  79. rapidata/api_client/models/compare_workflow_model_context_asset.py +160 -0
  80. rapidata/api_client/models/compare_workflow_model_metadata_inner.py +154 -0
  81. rapidata/api_client/models/compare_workflow_model_pair_maker_config.py +1 -1
  82. rapidata/api_client/models/comparison_operator.py +2 -2
  83. rapidata/api_client/models/conditional_validation_selection.py +6 -11
  84. rapidata/api_client/models/conditional_validation_selection_validation_chance.py +103 -0
  85. rapidata/api_client/models/confidence_interval.py +89 -0
  86. rapidata/api_client/models/create_audience_request.py +122 -0
  87. rapidata/api_client/models/create_audience_result.py +87 -0
  88. rapidata/api_client/models/create_benchmark_model.py +5 -5
  89. rapidata/api_client/models/create_benchmark_participant_model.py +5 -5
  90. rapidata/api_client/models/create_benchmark_participant_result.py +4 -4
  91. rapidata/api_client/models/create_benchmark_prompt_result.py +87 -0
  92. rapidata/api_client/models/create_benchmark_result.py +2 -2
  93. rapidata/api_client/models/create_bridge_token_result.py +2 -2
  94. rapidata/api_client/models/create_client_model.py +6 -13
  95. rapidata/api_client/models/create_complex_order_model.py +9 -9
  96. rapidata/api_client/models/create_complex_order_result.py +2 -2
  97. rapidata/api_client/models/create_customer_client_result.py +2 -2
  98. rapidata/api_client/models/create_datapoint_from_files_model.py +3 -3
  99. rapidata/api_client/models/create_datapoint_from_text_sources_model.py +3 -3
  100. rapidata/api_client/models/create_datapoint_from_urls_model.py +3 -3
  101. rapidata/api_client/models/create_datapoint_model.py +124 -0
  102. rapidata/api_client/models/create_datapoint_model_asset.py +154 -0
  103. rapidata/api_client/models/create_datapoint_model_context_asset.py +160 -0
  104. rapidata/api_client/models/create_datapoint_model_metadata_inner.py +154 -0
  105. rapidata/api_client/models/create_datapoint_result.py +2 -2
  106. rapidata/api_client/models/create_dataset_endpoint_input.py +87 -0
  107. rapidata/api_client/models/create_dataset_endpoint_output.py +87 -0
  108. rapidata/api_client/models/create_demographic_rapid_model.py +33 -10
  109. rapidata/api_client/models/create_demographic_rapid_model_asset.py +160 -0
  110. rapidata/api_client/models/create_demographic_rapid_model_context_asset.py +160 -0
  111. rapidata/api_client/models/create_demographic_rapid_model_new.py +119 -0
  112. rapidata/api_client/models/create_empty_validation_set_result.py +2 -2
  113. rapidata/api_client/models/create_job_definition_endpoint_input.py +119 -0
  114. rapidata/api_client/models/create_job_definition_endpoint_output.py +89 -0
  115. rapidata/api_client/models/create_job_endpoint_input.py +100 -0
  116. rapidata/api_client/models/create_job_endpoint_output.py +89 -0
  117. rapidata/api_client/models/create_job_revision_endpoint_input.py +127 -0
  118. rapidata/api_client/models/create_job_revision_endpoint_output.py +89 -0
  119. rapidata/api_client/models/create_leaderboard_model.py +23 -26
  120. rapidata/api_client/models/create_leaderboard_result.py +2 -2
  121. rapidata/api_client/models/create_order_definition_model.py +119 -0
  122. rapidata/api_client/models/create_order_definition_result.py +87 -0
  123. rapidata/api_client/models/create_order_definition_revision_model.py +117 -0
  124. rapidata/api_client/models/create_order_definition_revision_result.py +87 -0
  125. rapidata/api_client/models/create_order_model.py +33 -62
  126. rapidata/api_client/models/create_order_model_referee.py +12 -12
  127. rapidata/api_client/models/create_order_model_workflow.py +35 -21
  128. rapidata/api_client/models/create_order_result.py +2 -2
  129. rapidata/api_client/models/create_rapid_result.py +2 -2
  130. rapidata/api_client/models/create_sample_model.py +13 -7
  131. rapidata/api_client/models/create_sample_model_asset.py +154 -0
  132. rapidata/api_client/models/create_sample_model_obsolete.py +87 -0
  133. rapidata/api_client/models/create_simple_pipeline_model_pipeline_steps_inner.py +8 -22
  134. rapidata/api_client/models/create_unsupported_order_model.py +6 -6
  135. rapidata/api_client/models/create_validation_set_model.py +5 -5
  136. rapidata/api_client/models/datapoint_model.py +3 -3
  137. rapidata/api_client/models/datapoint_state.py +2 -2
  138. rapidata/api_client/models/definition_type.py +49 -0
  139. rapidata/api_client/models/dynamic_client_registration_request.py +21 -36
  140. rapidata/api_client/models/early_stopping_referee_model.py +3 -3
  141. rapidata/api_client/models/elo_config.py +2 -2
  142. rapidata/api_client/models/elo_config_model.py +6 -6
  143. rapidata/api_client/models/entity_tag_header_value.py +93 -0
  144. rapidata/api_client/models/evaluation_workflow_model.py +4 -4
  145. rapidata/api_client/models/existing_asset_input.py +109 -0
  146. rapidata/api_client/models/existing_asset_input_metadata_value.py +126 -0
  147. rapidata/api_client/models/feature_flag.py +2 -2
  148. rapidata/api_client/models/feature_flag_model.py +2 -2
  149. rapidata/api_client/models/feedback_model.py +7 -7
  150. rapidata/api_client/models/file_asset.py +3 -5
  151. rapidata/api_client/models/file_asset_input_file.py +8 -22
  152. rapidata/api_client/models/file_asset_metadata_value.py +252 -0
  153. rapidata/api_client/models/file_asset_model_metadata_value.py +18 -88
  154. rapidata/api_client/models/file_stream_result.py +122 -0
  155. rapidata/api_client/models/file_type.py +2 -2
  156. rapidata/api_client/models/filter.py +2 -2
  157. rapidata/api_client/models/filter_operator.py +2 -2
  158. rapidata/api_client/models/fork_benchmark_result.py +87 -0
  159. rapidata/api_client/models/form_file_wrapper.py +17 -2
  160. rapidata/api_client/models/gender_user_filter_model.py +2 -2
  161. rapidata/api_client/models/gender_user_filter_model_gender.py +38 -0
  162. rapidata/api_client/models/get_asset_metadata_result.py +100 -0
  163. rapidata/api_client/models/get_audience_by_id_result.py +118 -0
  164. rapidata/api_client/models/get_available_validation_sets_result.py +2 -2
  165. rapidata/api_client/models/get_benchmark_by_id_result.py +8 -4
  166. rapidata/api_client/models/get_boost_result.py +97 -0
  167. rapidata/api_client/models/get_boost_result_boost_mode.py +37 -0
  168. rapidata/api_client/models/get_boost_result_boost_status.py +39 -0
  169. rapidata/api_client/models/get_compare_ab_summary_result.py +3 -5
  170. rapidata/api_client/models/get_compare_workflow_results_model.py +7 -7
  171. rapidata/api_client/models/get_compare_workflow_results_result.py +5 -5
  172. rapidata/api_client/models/get_datapoint_by_id_result.py +7 -12
  173. rapidata/api_client/models/get_datapoint_by_id_result_asset.py +170 -0
  174. rapidata/api_client/models/get_dataset_by_id_result.py +2 -2
  175. rapidata/api_client/models/get_dataset_progress_result.py +2 -2
  176. rapidata/api_client/models/get_evaluation_workflow_results_model.py +119 -0
  177. rapidata/api_client/models/get_failed_datapoints_result.py +5 -5
  178. rapidata/api_client/models/get_failed_datapoints_result_datapoint.py +100 -0
  179. rapidata/api_client/models/get_file_metadata_result.py +100 -0
  180. rapidata/api_client/models/get_grouped_ranking_workflow_results_model.py +106 -0
  181. rapidata/api_client/models/get_grouped_ranking_workflow_results_result.py +97 -0
  182. rapidata/api_client/models/get_grouped_ranking_workflow_results_result_paged_result.py +105 -0
  183. rapidata/api_client/models/get_job_by_id_endpoint_output.py +130 -0
  184. rapidata/api_client/models/get_job_definition_by_id_endpoint_output.py +95 -0
  185. rapidata/api_client/models/get_job_revision_endpoint_output.py +133 -0
  186. rapidata/api_client/models/get_leaderboard_by_id_result.py +5 -5
  187. rapidata/api_client/models/get_order_by_id_result.py +12 -5
  188. rapidata/api_client/models/get_participant_by_id_result.py +4 -6
  189. rapidata/api_client/models/get_pipeline_by_id_result.py +5 -5
  190. rapidata/api_client/models/get_public_orders_result.py +2 -2
  191. rapidata/api_client/models/get_public_responses_result.py +5 -5
  192. rapidata/api_client/models/get_public_responses_result_response.py +112 -0
  193. rapidata/api_client/models/get_rapid_responses_result.py +3 -3
  194. rapidata/api_client/models/get_recommended_validation_set_result.py +2 -2
  195. rapidata/api_client/models/get_responses_for_rapid_result.py +106 -0
  196. rapidata/api_client/models/get_responses_for_rapid_result_response.py +103 -0
  197. rapidata/api_client/models/get_responses_for_rapid_result_response_result.py +266 -0
  198. rapidata/api_client/models/get_responses_result.py +5 -5
  199. rapidata/api_client/models/get_responses_result_response.py +103 -0
  200. rapidata/api_client/models/get_sample_by_id_result.py +7 -8
  201. rapidata/api_client/models/get_simple_workflow_results_model.py +20 -15
  202. rapidata/api_client/models/get_standing_by_id_result.py +3 -5
  203. rapidata/api_client/models/get_validation_rapids_result.py +29 -32
  204. rapidata/api_client/models/get_validation_set_by_id_result.py +10 -4
  205. rapidata/api_client/models/get_workflow_by_id_result.py +5 -5
  206. rapidata/api_client/models/get_workflow_by_id_result_workflow.py +23 -9
  207. rapidata/api_client/models/get_workflow_progress_result.py +2 -2
  208. rapidata/api_client/models/get_workflow_results_result.py +31 -14
  209. rapidata/api_client/models/get_workflow_results_result_response.py +103 -0
  210. rapidata/api_client/models/google_one_tap_login_model.py +4 -4
  211. rapidata/api_client/models/grouped_ranking_workflow_config.py +155 -0
  212. rapidata/api_client/models/grouped_ranking_workflow_config_context_assets_value.py +170 -0
  213. rapidata/api_client/models/grouped_ranking_workflow_model.py +147 -0
  214. rapidata/api_client/models/grouped_ranking_workflow_model1.py +121 -0
  215. rapidata/api_client/models/i_artifact_model.py +182 -0
  216. rapidata/api_client/models/i_artifact_model_campaign_artifact_model.py +98 -0
  217. rapidata/api_client/models/i_artifact_model_dataset_artifact_model.py +98 -0
  218. rapidata/api_client/models/i_artifact_model_file_artifact_model.py +98 -0
  219. rapidata/api_client/models/i_artifact_model_workflow_artifact_model.py +98 -0
  220. rapidata/api_client/models/i_artifact_model_workflow_config_artifact_model.py +102 -0
  221. rapidata/api_client/models/i_asset.py +170 -0
  222. rapidata/api_client/models/i_asset_file_asset.py +111 -0
  223. rapidata/api_client/models/i_asset_input.py +156 -0
  224. rapidata/api_client/models/i_asset_input_existing_asset_input.py +118 -0
  225. rapidata/api_client/models/i_asset_input_multi_asset_input.py +128 -0
  226. rapidata/api_client/models/i_asset_input_text_asset_input.py +118 -0
  227. rapidata/api_client/models/i_asset_model.py +170 -0
  228. rapidata/api_client/models/i_asset_model_file_asset_model.py +113 -0
  229. rapidata/api_client/models/i_asset_model_multi_asset_model.py +123 -0
  230. rapidata/api_client/models/i_asset_model_null_asset_model.py +111 -0
  231. rapidata/api_client/models/i_asset_model_text_asset_model.py +113 -0
  232. rapidata/api_client/models/i_asset_multi_asset.py +121 -0
  233. rapidata/api_client/models/i_asset_null_asset.py +109 -0
  234. rapidata/api_client/models/i_asset_text_asset.py +111 -0
  235. rapidata/api_client/models/i_audience_filter.py +184 -0
  236. rapidata/api_client/models/i_audience_filter_and_audience_filter.py +106 -0
  237. rapidata/api_client/models/i_audience_filter_country_audience_filter.py +96 -0
  238. rapidata/api_client/models/i_audience_filter_country_filter.py +96 -0
  239. rapidata/api_client/models/i_audience_filter_language_audience_filter.py +96 -0
  240. rapidata/api_client/models/i_audience_filter_language_filter.py +96 -0
  241. rapidata/api_client/models/i_audience_filter_not_audience_filter.py +102 -0
  242. rapidata/api_client/models/i_audience_filter_or_audience_filter.py +106 -0
  243. rapidata/api_client/models/i_campaign_filter.py +296 -0
  244. rapidata/api_client/models/i_campaign_filter_and_filter.py +117 -0
  245. rapidata/api_client/models/i_campaign_filter_campaign_filter.py +98 -0
  246. rapidata/api_client/models/i_campaign_filter_campaign_session_count_filter.py +101 -0
  247. rapidata/api_client/models/i_campaign_filter_country_filter.py +98 -0
  248. rapidata/api_client/models/i_campaign_filter_demographic_filter.py +100 -0
  249. rapidata/api_client/models/i_campaign_filter_device_filter.py +106 -0
  250. rapidata/api_client/models/i_campaign_filter_language_filter.py +98 -0
  251. rapidata/api_client/models/i_campaign_filter_new_user_filter.py +96 -0
  252. rapidata/api_client/models/i_campaign_filter_not_filter.py +113 -0
  253. rapidata/api_client/models/i_campaign_filter_or_filter.py +117 -0
  254. rapidata/api_client/models/i_campaign_filter_response_count_filter.py +103 -0
  255. rapidata/api_client/models/i_campaign_filter_user_action_restriction_filter.py +106 -0
  256. rapidata/api_client/models/i_campaign_filter_user_score_filter.py +102 -0
  257. rapidata/api_client/models/i_campaign_filter_user_state_filter.py +106 -0
  258. rapidata/api_client/models/i_dataset_metadata_input.py +154 -0
  259. rapidata/api_client/models/i_dataset_metadata_input_prompt_asset_metadata_input.py +100 -0
  260. rapidata/api_client/models/i_dataset_metadata_input_prompt_metadata_input.py +96 -0
  261. rapidata/api_client/models/i_dataset_metadata_input_transcription_metadata_input.py +96 -0
  262. rapidata/api_client/models/i_dataset_model.py +126 -0
  263. rapidata/api_client/models/i_dataset_model_clone_dataset_model.py +98 -0
  264. rapidata/api_client/models/i_metadata.py +252 -0
  265. rapidata/api_client/models/i_metadata_classification_metadata.py +109 -0
  266. rapidata/api_client/models/i_metadata_count_metadata.py +109 -0
  267. rapidata/api_client/models/i_metadata_duration_metadata.py +110 -0
  268. rapidata/api_client/models/i_metadata_file_type_metadata.py +110 -0
  269. rapidata/api_client/models/i_metadata_image_dimension_metadata.py +111 -0
  270. rapidata/api_client/models/i_metadata_input.py +126 -0
  271. rapidata/api_client/models/i_metadata_input_text_metadata_input.py +111 -0
  272. rapidata/api_client/models/i_metadata_location_metadata.py +111 -0
  273. rapidata/api_client/models/i_metadata_model.py +252 -0
  274. rapidata/api_client/models/i_metadata_model_classification_metadata_model.py +96 -0
  275. rapidata/api_client/models/i_metadata_model_count_metadata_model.py +96 -0
  276. rapidata/api_client/models/i_metadata_model_file_type_metadata_model.py +97 -0
  277. rapidata/api_client/models/i_metadata_model_image_dimension_metadata_model.py +98 -0
  278. rapidata/api_client/models/i_metadata_model_location_metadata_model.py +98 -0
  279. rapidata/api_client/models/i_metadata_model_original_filename_metadata_model.py +96 -0
  280. rapidata/api_client/models/i_metadata_model_source_url_metadata_model.py +96 -0
  281. rapidata/api_client/models/i_metadata_model_streams_metadata_model.py +100 -0
  282. rapidata/api_client/models/i_metadata_model_text_metadata_model.py +101 -0
  283. rapidata/api_client/models/i_metadata_model_video_duration_metadata_model.py +97 -0
  284. rapidata/api_client/models/i_metadata_original_filename_metadata.py +109 -0
  285. rapidata/api_client/models/i_metadata_source_url_metadata.py +109 -0
  286. rapidata/api_client/models/i_metadata_streams_metadata.py +113 -0
  287. rapidata/api_client/models/i_metadata_text_metadata.py +114 -0
  288. rapidata/api_client/models/i_metadata_video_duration_metadata.py +110 -0
  289. rapidata/api_client/models/i_order_workflow_model.py +168 -0
  290. rapidata/api_client/models/i_order_workflow_model_compare_workflow_model.py +146 -0
  291. rapidata/api_client/models/i_order_workflow_model_evaluation_workflow_model.py +108 -0
  292. rapidata/api_client/models/i_order_workflow_model_grouped_ranking_workflow_model.py +147 -0
  293. rapidata/api_client/models/i_order_workflow_model_simple_workflow_model.py +110 -0
  294. rapidata/api_client/models/i_pair_maker_config.py +126 -0
  295. rapidata/api_client/models/i_pair_maker_config_model.py +126 -0
  296. rapidata/api_client/models/i_pair_maker_config_model_online_pair_maker_config_model.py +98 -0
  297. rapidata/api_client/models/i_pair_maker_config_online_pair_maker_config.py +98 -0
  298. rapidata/api_client/models/i_pair_maker_information.py +126 -0
  299. rapidata/api_client/models/i_pair_maker_information_online_pair_maker_information.py +100 -0
  300. rapidata/api_client/models/i_pipeline_artifact_model.py +126 -0
  301. rapidata/api_client/models/i_pipeline_artifact_model_create_dataset_artifact_model.py +102 -0
  302. rapidata/api_client/models/i_pipeline_model.py +126 -0
  303. rapidata/api_client/models/i_pipeline_model_create_simple_pipeline_model.py +116 -0
  304. rapidata/api_client/models/i_pipeline_step_model.py +168 -0
  305. rapidata/api_client/models/i_pipeline_step_model_dataset_evaluation_step_model.py +102 -0
  306. rapidata/api_client/models/i_pipeline_step_model_send_completion_mail_step_model.py +98 -0
  307. rapidata/api_client/models/i_pipeline_step_model_workflow_aggregation_step_model.py +103 -0
  308. rapidata/api_client/models/i_pipeline_step_model_workflow_labeling_step_model.py +96 -0
  309. rapidata/api_client/models/i_rapid_blueprint.py +252 -0
  310. rapidata/api_client/models/i_rapid_blueprint_attach_category_rapid_blueprint.py +108 -0
  311. rapidata/api_client/models/i_rapid_blueprint_bounding_box_rapid_blueprint.py +96 -0
  312. rapidata/api_client/models/i_rapid_blueprint_compare_rapid_blueprint.py +98 -0
  313. rapidata/api_client/models/i_rapid_blueprint_free_text_rapid_blueprint.py +105 -0
  314. rapidata/api_client/models/i_rapid_blueprint_line_rapid_blueprint.py +96 -0
  315. rapidata/api_client/models/i_rapid_blueprint_locate_rapid_blueprint.py +96 -0
  316. rapidata/api_client/models/i_rapid_blueprint_named_entity_rapid_blueprint.py +98 -0
  317. rapidata/api_client/models/i_rapid_blueprint_polygon_rapid_blueprint.py +96 -0
  318. rapidata/api_client/models/i_rapid_blueprint_scrub_rapid_blueprint.py +96 -0
  319. rapidata/api_client/models/i_rapid_blueprint_transcription_rapid_blueprint.py +96 -0
  320. rapidata/api_client/models/i_rapid_payload.py +252 -0
  321. rapidata/api_client/models/i_rapid_payload_bounding_box_payload.py +96 -0
  322. rapidata/api_client/models/i_rapid_payload_classify_payload.py +106 -0
  323. rapidata/api_client/models/i_rapid_payload_compare_payload.py +96 -0
  324. rapidata/api_client/models/i_rapid_payload_free_text_payload.py +105 -0
  325. rapidata/api_client/models/i_rapid_payload_line_payload.py +96 -0
  326. rapidata/api_client/models/i_rapid_payload_locate_payload.py +96 -0
  327. rapidata/api_client/models/i_rapid_payload_named_entity_payload.py +98 -0
  328. rapidata/api_client/models/i_rapid_payload_polygon_payload.py +96 -0
  329. rapidata/api_client/models/i_rapid_payload_scrub_payload.py +96 -0
  330. rapidata/api_client/models/i_rapid_payload_transcription_payload.py +106 -0
  331. rapidata/api_client/models/i_rapid_result.py +266 -0
  332. rapidata/api_client/models/i_rapid_result_attach_category_result.py +98 -0
  333. rapidata/api_client/models/i_rapid_result_bounding_box_result.py +106 -0
  334. rapidata/api_client/models/i_rapid_result_compare_result.py +98 -0
  335. rapidata/api_client/models/i_rapid_result_free_text_result.py +98 -0
  336. rapidata/api_client/models/i_rapid_result_line_result.py +106 -0
  337. rapidata/api_client/models/i_rapid_result_locate_result.py +106 -0
  338. rapidata/api_client/models/i_rapid_result_named_entity_result.py +106 -0
  339. rapidata/api_client/models/i_rapid_result_polygon_result.py +106 -0
  340. rapidata/api_client/models/i_rapid_result_scrub_result.py +98 -0
  341. rapidata/api_client/models/i_rapid_result_skip_result.py +96 -0
  342. rapidata/api_client/models/i_rapid_result_transcription_result.py +106 -0
  343. rapidata/api_client/models/i_referee_config.py +154 -0
  344. rapidata/api_client/models/i_referee_config_naive_referee_config.py +96 -0
  345. rapidata/api_client/models/i_referee_config_never_ending_referee_config.py +94 -0
  346. rapidata/api_client/models/i_referee_config_probabilistic_attach_category_referee_config.py +98 -0
  347. rapidata/api_client/models/i_referee_info.py +154 -0
  348. rapidata/api_client/models/i_referee_info_naive_referee_info.py +96 -0
  349. rapidata/api_client/models/i_referee_info_never_ending_referee_info.py +94 -0
  350. rapidata/api_client/models/i_referee_info_probabilistic_attach_category_referee_info.py +98 -0
  351. rapidata/api_client/models/i_referee_model.py +140 -0
  352. rapidata/api_client/models/i_referee_model_early_stopping_referee_model.py +98 -0
  353. rapidata/api_client/models/i_referee_model_naive_referee_model.py +96 -0
  354. rapidata/api_client/models/i_selection.py +240 -0
  355. rapidata/api_client/models/i_selection_ab_test_selection.py +122 -0
  356. rapidata/api_client/models/i_selection_capped_selection.py +108 -0
  357. rapidata/api_client/models/i_selection_conditional_validation_selection.py +110 -0
  358. rapidata/api_client/models/i_selection_demographic_selection.py +98 -0
  359. rapidata/api_client/models/i_selection_effort_capped_selection.py +101 -0
  360. rapidata/api_client/models/i_selection_labeling_selection.py +103 -0
  361. rapidata/api_client/models/i_selection_shuffling_selection.py +106 -0
  362. rapidata/api_client/models/i_selection_static_selection.py +96 -0
  363. rapidata/api_client/models/i_selection_validation_selection.py +98 -0
  364. rapidata/api_client/models/i_user_filter_model.py +296 -0
  365. rapidata/api_client/models/i_user_filter_model_age_user_filter_model.py +104 -0
  366. rapidata/api_client/models/i_user_filter_model_and_user_filter_model.py +106 -0
  367. rapidata/api_client/models/i_user_filter_model_campaign_user_filter_model.py +96 -0
  368. rapidata/api_client/models/i_user_filter_model_country_user_filter_model.py +96 -0
  369. rapidata/api_client/models/i_user_filter_model_custom_user_filter_model.py +98 -0
  370. rapidata/api_client/models/i_user_filter_model_device_user_filter_model.py +104 -0
  371. rapidata/api_client/models/i_user_filter_model_gender_user_filter_model.py +104 -0
  372. rapidata/api_client/models/i_user_filter_model_language_user_filter_model.py +96 -0
  373. rapidata/api_client/models/i_user_filter_model_new_user_filter_model.py +94 -0
  374. rapidata/api_client/models/i_user_filter_model_not_user_filter_model.py +102 -0
  375. rapidata/api_client/models/i_user_filter_model_or_user_filter_model.py +106 -0
  376. rapidata/api_client/models/i_user_filter_model_response_count_user_filter_model.py +101 -0
  377. rapidata/api_client/models/i_user_filter_model_user_score_user_filter_model.py +105 -0
  378. rapidata/api_client/models/i_validation_metadata_input.py +140 -0
  379. rapidata/api_client/models/i_validation_metadata_input_prompt_asset_metadata_input.py +100 -0
  380. rapidata/api_client/models/i_validation_metadata_input_prompt_metadata_input.py +96 -0
  381. rapidata/api_client/models/i_validation_truth.py +280 -0
  382. rapidata/api_client/models/i_validation_truth_attach_category_truth.py +96 -0
  383. rapidata/api_client/models/i_validation_truth_bounding_box_truth.py +102 -0
  384. rapidata/api_client/models/i_validation_truth_compare_truth.py +96 -0
  385. rapidata/api_client/models/i_validation_truth_empty_validation_truth.py +94 -0
  386. rapidata/api_client/models/i_validation_truth_line_truth.py +94 -0
  387. rapidata/api_client/models/i_validation_truth_locate_box_truth.py +108 -0
  388. rapidata/api_client/models/i_validation_truth_model.py +294 -0
  389. rapidata/api_client/models/i_validation_truth_model_attach_category_truth_model.py +96 -0
  390. rapidata/api_client/models/i_validation_truth_model_bounding_box_truth_model.py +102 -0
  391. rapidata/api_client/models/i_validation_truth_model_classify_truth_model.py +96 -0
  392. rapidata/api_client/models/i_validation_truth_model_compare_truth_model.py +96 -0
  393. rapidata/api_client/models/i_validation_truth_model_empty_validation_truth_model.py +94 -0
  394. rapidata/api_client/models/i_validation_truth_model_line_truth_model.py +94 -0
  395. rapidata/api_client/models/i_validation_truth_model_locate_box_truth_model.py +108 -0
  396. rapidata/api_client/models/i_validation_truth_model_multi_compare_truth_model.py +96 -0
  397. rapidata/api_client/models/i_validation_truth_model_named_entity_truth_model.py +104 -0
  398. rapidata/api_client/models/i_validation_truth_model_polygon_truth_model.py +94 -0
  399. rapidata/api_client/models/i_validation_truth_model_scrub_truth_model.py +104 -0
  400. rapidata/api_client/models/i_validation_truth_model_skip_truth_model.py +94 -0
  401. rapidata/api_client/models/i_validation_truth_model_transcription_truth_model.py +115 -0
  402. rapidata/api_client/models/i_validation_truth_multi_compare_truth.py +96 -0
  403. rapidata/api_client/models/i_validation_truth_named_entity_truth.py +104 -0
  404. rapidata/api_client/models/i_validation_truth_polygon_truth.py +94 -0
  405. rapidata/api_client/models/i_validation_truth_scrub_truth.py +104 -0
  406. rapidata/api_client/models/i_validation_truth_skip_truth.py +94 -0
  407. rapidata/api_client/models/i_validation_truth_transcription_truth.py +115 -0
  408. rapidata/api_client/models/i_workflow_config.py +168 -0
  409. rapidata/api_client/models/i_workflow_config_compare_workflow_config.py +142 -0
  410. rapidata/api_client/models/i_workflow_config_evaluation_workflow_config.py +114 -0
  411. rapidata/api_client/models/i_workflow_config_grouped_ranking_workflow_config.py +155 -0
  412. rapidata/api_client/models/i_workflow_config_simple_workflow_config.py +116 -0
  413. rapidata/api_client/models/i_workflow_model.py +168 -0
  414. rapidata/api_client/models/i_workflow_model_compare_workflow_model.py +145 -0
  415. rapidata/api_client/models/i_workflow_model_evaluation_workflow_model.py +115 -0
  416. rapidata/api_client/models/i_workflow_model_grouped_ranking_workflow_model.py +121 -0
  417. rapidata/api_client/models/i_workflow_model_simple_workflow_model.py +119 -0
  418. rapidata/api_client/models/inquire_file_metadata_result.py +100 -0
  419. rapidata/api_client/models/inspect_report_result.py +2 -2
  420. rapidata/api_client/models/job_definition_revision_state.py +38 -0
  421. rapidata/api_client/models/json_web_key.py +2 -36
  422. rapidata/api_client/models/json_web_key_set.py +2 -22
  423. rapidata/api_client/models/labeling_selection.py +9 -2
  424. rapidata/api_client/models/leaderboards_query_result.py +135 -0
  425. rapidata/api_client/models/line_result.py +3 -3
  426. rapidata/api_client/models/line_result_line.py +97 -0
  427. rapidata/api_client/models/line_result_line_point.py +89 -0
  428. rapidata/api_client/models/locate_coordinate.py +4 -13
  429. rapidata/api_client/models/logic_operator.py +2 -2
  430. rapidata/api_client/models/metadata_i_order_metadata_input.py +154 -0
  431. rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_asset_metadata_input.py +100 -0
  432. rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_metadata_input.py +96 -0
  433. rapidata/api_client/models/metadata_i_order_metadata_input_metadata_transcription_metadata_input.py +96 -0
  434. rapidata/api_client/models/metadata_prompt_asset_metadata_input.py +100 -0
  435. rapidata/api_client/models/metadata_prompt_metadata_input.py +96 -0
  436. rapidata/api_client/models/metadata_transcription_metadata_input.py +96 -0
  437. rapidata/api_client/models/multi_asset.py +6 -6
  438. rapidata/api_client/models/multi_asset_assets_inner.py +170 -0
  439. rapidata/api_client/models/multi_asset_input.py +21 -1
  440. rapidata/api_client/models/multi_asset_input1_assets_inner.py +40 -12
  441. rapidata/api_client/models/multi_asset_input3_assets_inner.py +40 -12
  442. rapidata/api_client/models/multi_asset_input_assets_inner.py +16 -30
  443. rapidata/api_client/models/multi_asset_model.py +3 -3
  444. rapidata/api_client/models/naive_referee_model.py +2 -2
  445. rapidata/api_client/models/named_classification.py +4 -13
  446. rapidata/api_client/models/newsletter_model.py +6 -6
  447. rapidata/api_client/models/not_available_yet_result.py +4 -13
  448. rapidata/api_client/models/null_asset.py +3 -5
  449. rapidata/api_client/models/online_pair_maker_config_model.py +3 -3
  450. rapidata/api_client/models/option_of_aggregator_type.py +49 -0
  451. rapidata/api_client/models/order_model.py +12 -5
  452. rapidata/api_client/models/order_state.py +2 -2
  453. rapidata/api_client/models/page_info.py +2 -7
  454. rapidata/api_client/models/paged_result_aggregated_orders_model.py +105 -0
  455. rapidata/api_client/models/paged_result_benchmark_query_result.py +105 -0
  456. rapidata/api_client/models/paged_result_campaign_query_result.py +105 -0
  457. rapidata/api_client/models/paged_result_clients_query_result.py +105 -0
  458. rapidata/api_client/models/paged_result_datapoint_model.py +105 -0
  459. rapidata/api_client/models/paged_result_get_compare_workflow_results_result.py +105 -0
  460. rapidata/api_client/models/paged_result_get_grouped_ranking_workflow_results_result.py +105 -0
  461. rapidata/api_client/models/paged_result_get_validation_rapids_result.py +105 -0
  462. rapidata/api_client/models/paged_result_get_workflow_results_result.py +105 -0
  463. rapidata/api_client/models/paged_result_i_workflow_model.py +105 -0
  464. rapidata/api_client/models/paged_result_leaderboard_query_result.py +105 -0
  465. rapidata/api_client/models/paged_result_leaderboards_query_result.py +105 -0
  466. rapidata/api_client/models/paged_result_of_aggregated_orders_model.py +103 -0
  467. rapidata/api_client/models/paged_result_of_benchmark_query_result.py +103 -0
  468. rapidata/api_client/models/paged_result_of_campaign_query_result.py +103 -0
  469. rapidata/api_client/models/paged_result_of_clients_query_result.py +103 -0
  470. rapidata/api_client/models/paged_result_of_get_compare_workflow_results_result.py +103 -0
  471. rapidata/api_client/models/paged_result_of_get_grouped_ranking_workflow_results_result.py +103 -0
  472. rapidata/api_client/models/paged_result_of_get_validation_rapids_result.py +103 -0
  473. rapidata/api_client/models/paged_result_of_get_workflow_results_result.py +103 -0
  474. rapidata/api_client/models/paged_result_of_i_workflow_model.py +103 -0
  475. rapidata/api_client/models/paged_result_of_leaderboards_query_result.py +103 -0
  476. rapidata/api_client/models/paged_result_of_order_model.py +103 -0
  477. rapidata/api_client/models/paged_result_of_participant_by_benchmark.py +103 -0
  478. rapidata/api_client/models/paged_result_of_prompt_by_benchmark_result.py +103 -0
  479. rapidata/api_client/models/paged_result_of_query_audiences_result.py +103 -0
  480. rapidata/api_client/models/paged_result_of_query_datapoints_by_dataset_id_result.py +103 -0
  481. rapidata/api_client/models/paged_result_of_query_job_definitions_result.py +103 -0
  482. rapidata/api_client/models/paged_result_of_query_job_revisions_result.py +103 -0
  483. rapidata/api_client/models/paged_result_of_query_jobs_result.py +103 -0
  484. rapidata/api_client/models/paged_result_of_query_rapids_for_audience_result.py +103 -0
  485. rapidata/api_client/models/paged_result_of_query_validation_rapid_eligibility_result.py +103 -0
  486. rapidata/api_client/models/paged_result_of_rapid_model.py +103 -0
  487. rapidata/api_client/models/paged_result_of_runs_by_leaderboard_result.py +103 -0
  488. rapidata/api_client/models/paged_result_of_sample_by_identifier.py +103 -0
  489. rapidata/api_client/models/paged_result_of_sample_by_participant.py +103 -0
  490. rapidata/api_client/models/paged_result_of_standing_by_leaderboard.py +103 -0
  491. rapidata/api_client/models/paged_result_of_validation_set_model.py +103 -0
  492. rapidata/api_client/models/paged_result_order_model.py +105 -0
  493. rapidata/api_client/models/paged_result_participant_by_benchmark.py +105 -0
  494. rapidata/api_client/models/paged_result_potential_validation_rapid.py +105 -0
  495. rapidata/api_client/models/paged_result_prompt_by_benchmark_result.py +105 -0
  496. rapidata/api_client/models/paged_result_query_audiences_result.py +105 -0
  497. rapidata/api_client/models/paged_result_query_datapoints_by_dataset_id_result.py +105 -0
  498. rapidata/api_client/models/paged_result_query_validation_rapid_eligibility_result.py +105 -0
  499. rapidata/api_client/models/paged_result_rapid_model.py +105 -0
  500. rapidata/api_client/models/paged_result_runs_by_leaderboard_result.py +105 -0
  501. rapidata/api_client/models/paged_result_sample_by_identifier.py +105 -0
  502. rapidata/api_client/models/paged_result_sample_by_participant.py +105 -0
  503. rapidata/api_client/models/paged_result_standing_by_leaderboard.py +105 -0
  504. rapidata/api_client/models/paged_result_validation_set_model.py +105 -0
  505. rapidata/api_client/models/participant_by_benchmark.py +3 -5
  506. rapidata/api_client/models/participant_status.py +2 -2
  507. rapidata/api_client/models/polygon_result.py +3 -3
  508. rapidata/api_client/models/polygon_result_coordinate.py +89 -0
  509. rapidata/api_client/models/polygon_result_shape.py +95 -0
  510. rapidata/api_client/models/preliminary_download_model.py +5 -5
  511. rapidata/api_client/models/preview_order_model.py +5 -5
  512. rapidata/api_client/models/problem_details.py +2 -20
  513. rapidata/api_client/models/prompt_asset_metadata_input.py +4 -6
  514. rapidata/api_client/models/prompt_asset_metadata_input_asset.py +25 -41
  515. rapidata/api_client/models/prompt_by_benchmark_result.py +5 -5
  516. rapidata/api_client/models/prompt_metadata_input.py +5 -7
  517. rapidata/api_client/models/proxy_file_wrapper.py +17 -2
  518. rapidata/api_client/models/public_order_model.py +2 -2
  519. rapidata/api_client/models/query_audiences_result.py +118 -0
  520. rapidata/api_client/models/query_datapoints_by_dataset_id_result.py +95 -0
  521. rapidata/api_client/models/query_job_definitions_result.py +97 -0
  522. rapidata/api_client/models/query_job_revisions_result.py +95 -0
  523. rapidata/api_client/models/query_jobs_result.py +103 -0
  524. rapidata/api_client/models/query_model.py +10 -5
  525. rapidata/api_client/models/query_rapids_for_audience_result.py +150 -0
  526. rapidata/api_client/models/query_validation_rapid_eligibility_model_query_validation_model.py +107 -0
  527. rapidata/api_client/models/query_validation_rapid_eligibility_result.py +103 -0
  528. rapidata/api_client/models/query_validation_rapid_eligibility_result_truth.py +280 -0
  529. rapidata/api_client/models/rapid_issue.py +2 -2
  530. rapidata/api_client/models/rapid_model.py +30 -40
  531. rapidata/api_client/models/rapid_result_model.py +7 -7
  532. rapidata/api_client/models/rapid_skipped_model.py +5 -5
  533. rapidata/api_client/models/rapid_state.py +2 -2
  534. rapidata/api_client/models/read_bridge_token_keys_result.py +10 -24
  535. rapidata/api_client/models/reference_asset_input.py +100 -0
  536. rapidata/api_client/models/report_model.py +7 -7
  537. rapidata/api_client/models/retrieval_mode.py +2 -2
  538. rapidata/api_client/models/root_filter.py +2 -2
  539. rapidata/api_client/models/run_status.py +2 -2
  540. rapidata/api_client/models/runs_by_leaderboard_result.py +3 -3
  541. rapidata/api_client/models/sample_by_identifier.py +7 -8
  542. rapidata/api_client/models/sample_by_participant.py +7 -8
  543. rapidata/api_client/models/scrub_range.py +2 -2
  544. rapidata/api_client/models/send_survey_model.py +87 -0
  545. rapidata/api_client/models/simple_workflow_config.py +3 -3
  546. rapidata/api_client/models/simple_workflow_model.py +2 -2
  547. rapidata/api_client/models/simple_workflow_model1.py +4 -11
  548. rapidata/api_client/models/simple_workflow_model_blueprint.py +1 -1
  549. rapidata/api_client/models/sort_criterion.py +2 -2
  550. rapidata/api_client/models/sort_direction.py +2 -2
  551. rapidata/api_client/models/standing_by_benchmark.py +113 -0
  552. rapidata/api_client/models/standing_by_leaderboard.py +16 -12
  553. rapidata/api_client/models/standing_status.py +2 -2
  554. rapidata/api_client/models/standings_by_benchmark_result.py +95 -0
  555. rapidata/api_client/models/standings_by_leaderboard_result.py +2 -2
  556. rapidata/api_client/models/start_preliminary_download_result.py +87 -0
  557. rapidata/api_client/models/sticky_state.py +3 -2
  558. rapidata/api_client/models/stream_file_wrapper.py +25 -3
  559. rapidata/api_client/models/string_segment.py +105 -0
  560. rapidata/api_client/models/submit_order_model.py +5 -5
  561. rapidata/api_client/models/submit_participant_result.py +2 -2
  562. rapidata/api_client/models/submit_prompt_model.py +9 -14
  563. rapidata/api_client/models/submit_prompt_model_prompt_asset.py +40 -12
  564. rapidata/api_client/models/tags_by_benchmark_result.py +2 -2
  565. rapidata/api_client/models/text_asset.py +3 -5
  566. rapidata/api_client/models/text_asset_input.py +21 -1
  567. rapidata/api_client/models/text_metadata.py +6 -1
  568. rapidata/api_client/models/text_metadata_input.py +111 -0
  569. rapidata/api_client/models/text_metadata_model.py +7 -2
  570. rapidata/api_client/models/transcription_metadata_input.py +5 -7
  571. rapidata/api_client/models/transcription_word.py +2 -2
  572. rapidata/api_client/models/translated_string.py +2 -2
  573. rapidata/api_client/models/unlock_order_result.py +2 -2
  574. rapidata/api_client/models/update_audience_request.py +113 -0
  575. rapidata/api_client/models/update_benchmark_model.py +99 -0
  576. rapidata/api_client/models/update_benchmark_name_model.py +5 -5
  577. rapidata/api_client/models/update_campaign_model.py +11 -11
  578. rapidata/api_client/models/update_dataset_name_model.py +5 -5
  579. rapidata/api_client/models/update_dimensions_model.py +3 -3
  580. rapidata/api_client/models/update_job_definition_endpoint_input.py +92 -0
  581. rapidata/api_client/models/update_leaderboard_model.py +18 -3
  582. rapidata/api_client/models/update_leaderboard_name_model.py +5 -5
  583. rapidata/api_client/models/update_leaderboard_response_config_model.py +5 -5
  584. rapidata/api_client/models/update_order_name_model.py +5 -5
  585. rapidata/api_client/models/update_participant_model.py +92 -0
  586. rapidata/api_client/models/update_participant_name_model.py +5 -5
  587. rapidata/api_client/models/update_priority_model.py +87 -0
  588. rapidata/api_client/models/update_prompt_tags_model.py +5 -5
  589. rapidata/api_client/models/update_should_alert_model.py +4 -4
  590. rapidata/api_client/models/update_validation_rapid_model.py +35 -14
  591. rapidata/api_client/models/update_validation_rapid_model_context_asset.py +160 -0
  592. rapidata/api_client/models/update_validation_set_model.py +120 -0
  593. rapidata/api_client/models/upload_asset_result.py +102 -0
  594. rapidata/api_client/models/upload_file_from_url_result.py +87 -0
  595. rapidata/api_client/models/upload_file_result.py +87 -0
  596. rapidata/api_client/models/user_action_restriction.py +37 -0
  597. rapidata/api_client/models/user_action_restriction_filter.py +101 -0
  598. rapidata/api_client/models/validation_chance.py +20 -3
  599. rapidata/api_client/models/validation_problem_details.py +117 -0
  600. rapidata/api_client/models/validation_set_model.py +11 -16
  601. rapidata/api_client/models/validation_set_overview_model.py +2 -2
  602. rapidata/api_client/models/workflow_config_artifact_model_workflow_config.py +23 -9
  603. rapidata/api_client/models/workflow_state.py +2 -2
  604. rapidata/api_client/models/zip_entry_file_wrapper.py +33 -2
  605. rapidata/api_client/rest.py +2 -2
  606. rapidata/api_client_README.md +371 -326
  607. rapidata/rapidata_client/__init__.py +14 -11
  608. rapidata/rapidata_client/api/{rapidata_exception.py → rapidata_api_client.py} +119 -2
  609. rapidata/rapidata_client/audience/__init__.py +2 -0
  610. rapidata/rapidata_client/audience/audience_example_handler.py +168 -0
  611. rapidata/rapidata_client/audience/rapidata_audience.py +287 -0
  612. rapidata/rapidata_client/audience/rapidata_audience_manager.py +162 -0
  613. rapidata/rapidata_client/benchmark/_detail_mapper.py +11 -9
  614. rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py +98 -54
  615. rapidata/rapidata_client/benchmark/participant/_participant.py +57 -32
  616. rapidata/rapidata_client/benchmark/rapidata_benchmark.py +384 -246
  617. rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py +137 -81
  618. rapidata/rapidata_client/config/__init__.py +3 -0
  619. rapidata/rapidata_client/config/logger.py +135 -0
  620. rapidata/rapidata_client/config/logging_config.py +55 -0
  621. rapidata/rapidata_client/config/managed_print.py +6 -0
  622. rapidata/rapidata_client/config/order_config.py +14 -0
  623. rapidata/rapidata_client/config/rapidata_config.py +15 -10
  624. rapidata/rapidata_client/config/tracer.py +184 -0
  625. rapidata/rapidata_client/config/upload_config.py +64 -0
  626. rapidata/rapidata_client/datapoints/__init__.py +0 -3
  627. rapidata/rapidata_client/datapoints/_asset_uploader.py +184 -0
  628. rapidata/rapidata_client/datapoints/_datapoint.py +72 -176
  629. rapidata/rapidata_client/datapoints/_datapoint_uploader.py +47 -0
  630. rapidata/rapidata_client/datapoints/_datapoints_validator.py +70 -0
  631. rapidata/rapidata_client/datapoints/assets/__init__.py +0 -10
  632. rapidata/rapidata_client/datapoints/metadata/__init__.py +0 -2
  633. rapidata/rapidata_client/datapoints/metadata/_private_text_metadata.py +5 -6
  634. rapidata/rapidata_client/datapoints/metadata/_prompt_identifier_metadata.py +4 -5
  635. rapidata/rapidata_client/datapoints/metadata/_public_text_metadata.py +5 -6
  636. rapidata/rapidata_client/datapoints/metadata/_select_words_metadata.py +3 -4
  637. rapidata/rapidata_client/dataset/__init__.py +1 -0
  638. rapidata/rapidata_client/dataset/_rapidata_dataset.py +55 -0
  639. rapidata/rapidata_client/demographic/demographic_manager.py +44 -19
  640. rapidata/rapidata_client/exceptions/failed_upload_exception.py +10 -65
  641. rapidata/rapidata_client/filter/_backend_filter_mapper.py +134 -0
  642. rapidata/rapidata_client/filter/_base_filter.py +13 -8
  643. rapidata/rapidata_client/filter/age_filter.py +26 -10
  644. rapidata/rapidata_client/filter/and_filter.py +36 -11
  645. rapidata/rapidata_client/filter/campaign_filter.py +21 -10
  646. rapidata/rapidata_client/filter/country_filter.py +46 -12
  647. rapidata/rapidata_client/filter/custom_filter.py +25 -12
  648. rapidata/rapidata_client/filter/gender_filter.py +25 -10
  649. rapidata/rapidata_client/filter/language_filter.py +51 -21
  650. rapidata/rapidata_client/filter/models/age_group.py +14 -12
  651. rapidata/rapidata_client/filter/models/gender.py +12 -8
  652. rapidata/rapidata_client/filter/new_user_filter.py +14 -4
  653. rapidata/rapidata_client/filter/not_filter.py +35 -11
  654. rapidata/rapidata_client/filter/or_filter.py +36 -11
  655. rapidata/rapidata_client/filter/rapidata_filters.py +17 -23
  656. rapidata/rapidata_client/filter/response_count_filter.py +40 -14
  657. rapidata/rapidata_client/filter/user_score_filter.py +62 -24
  658. rapidata/rapidata_client/job/__init__.py +3 -0
  659. rapidata/rapidata_client/job/job_definition.py +110 -0
  660. rapidata/rapidata_client/job/job_manager.py +758 -0
  661. rapidata/rapidata_client/job/rapidata_job.py +326 -0
  662. rapidata/rapidata_client/order/__init__.py +2 -0
  663. rapidata/rapidata_client/order/_rapidata_order_builder.py +236 -196
  664. rapidata/rapidata_client/order/rapidata_order.py +271 -176
  665. rapidata/rapidata_client/order/rapidata_order_manager.py +520 -364
  666. rapidata/rapidata_client/rapidata_client.py +96 -29
  667. rapidata/rapidata_client/referee/__init__.py +1 -1
  668. rapidata/rapidata_client/referee/_base_referee.py +14 -3
  669. rapidata/rapidata_client/referee/_early_stopping_referee.py +32 -17
  670. rapidata/rapidata_client/referee/_naive_referee.py +24 -3
  671. rapidata/rapidata_client/results/__init__.py +3 -0
  672. rapidata/rapidata_client/{order → results}/rapidata_results.py +86 -63
  673. rapidata/rapidata_client/selection/_base_selection.py +9 -2
  674. rapidata/rapidata_client/selection/ab_test_selection.py +28 -20
  675. rapidata/rapidata_client/selection/capped_selection.py +23 -16
  676. rapidata/rapidata_client/selection/conditional_validation_selection.py +43 -24
  677. rapidata/rapidata_client/selection/demographic_selection.py +21 -6
  678. rapidata/rapidata_client/selection/effort_selection.py +20 -8
  679. rapidata/rapidata_client/selection/labeling_selection.py +21 -10
  680. rapidata/rapidata_client/selection/rapidata_selections.py +23 -14
  681. rapidata/rapidata_client/selection/shuffling_selection.py +21 -13
  682. rapidata/rapidata_client/selection/static_selection.py +19 -8
  683. rapidata/rapidata_client/selection/validation_selection.py +20 -4
  684. rapidata/rapidata_client/settings/__init__.py +2 -0
  685. rapidata/rapidata_client/settings/_rapidata_setting.py +22 -3
  686. rapidata/rapidata_client/settings/alert_on_fast_response.py +8 -5
  687. rapidata/rapidata_client/settings/allow_neither_both.py +3 -0
  688. rapidata/rapidata_client/settings/custom_setting.py +3 -2
  689. rapidata/rapidata_client/settings/free_text_minimum_characters.py +9 -4
  690. rapidata/rapidata_client/settings/models/translation_behaviour_options.py +3 -2
  691. rapidata/rapidata_client/settings/mute_video.py +15 -0
  692. rapidata/rapidata_client/settings/no_shuffle.py +4 -2
  693. rapidata/rapidata_client/settings/play_video_until_the_end.py +7 -4
  694. rapidata/rapidata_client/settings/rapidata_settings.py +22 -9
  695. rapidata/rapidata_client/settings/swap_context_instruction.py +20 -0
  696. rapidata/rapidata_client/settings/translation_behaviour.py +7 -5
  697. rapidata/rapidata_client/utils/__init__.py +3 -0
  698. rapidata/rapidata_client/utils/threaded_uploader.py +153 -0
  699. rapidata/rapidata_client/validation/__init__.py +2 -0
  700. rapidata/rapidata_client/validation/rapidata_validation_set.py +68 -21
  701. rapidata/rapidata_client/validation/rapids/__init__.py +2 -0
  702. rapidata/rapidata_client/validation/rapids/_validation_rapid_uploader.py +48 -0
  703. rapidata/rapidata_client/validation/rapids/box.py +37 -12
  704. rapidata/rapidata_client/validation/rapids/rapids.py +28 -109
  705. rapidata/rapidata_client/validation/rapids/rapids_manager.py +369 -211
  706. rapidata/rapidata_client/validation/validation_set_manager.py +417 -294
  707. rapidata/rapidata_client/workflow/__init__.py +2 -2
  708. rapidata/rapidata_client/workflow/_base_workflow.py +17 -26
  709. rapidata/rapidata_client/workflow/_classify_workflow.py +44 -17
  710. rapidata/rapidata_client/workflow/_compare_workflow.py +33 -14
  711. rapidata/rapidata_client/workflow/_draw_workflow.py +35 -13
  712. rapidata/rapidata_client/workflow/_evaluation_workflow.py +20 -6
  713. rapidata/rapidata_client/workflow/_free_text_workflow.py +34 -15
  714. rapidata/rapidata_client/workflow/_locate_workflow.py +35 -13
  715. rapidata/rapidata_client/workflow/_multi_ranking_workflow.py +90 -0
  716. rapidata/rapidata_client/workflow/_select_words_workflow.py +38 -32
  717. rapidata/rapidata_client/workflow/_timestamp_workflow.py +35 -13
  718. rapidata/service/__init__.py +0 -1
  719. rapidata/service/credential_manager.py +1 -1
  720. rapidata/service/openapi_service.py +99 -23
  721. rapidata/types/__init__.py +149 -0
  722. rapidata-3.0.0a8.dist-info/METADATA +32 -0
  723. rapidata-3.0.0a8.dist-info/RECORD +1083 -0
  724. {rapidata-2.37.0.dist-info → rapidata-3.0.0a8.dist-info}/WHEEL +1 -1
  725. rapidata/rapidata_client/country_codes/__init__.py +0 -1
  726. rapidata/rapidata_client/country_codes/country_codes.py +0 -19
  727. rapidata/rapidata_client/datapoints/assets/_base_asset.py +0 -11
  728. rapidata/rapidata_client/datapoints/assets/_media_asset.py +0 -318
  729. rapidata/rapidata_client/datapoints/assets/_multi_asset.py +0 -61
  730. rapidata/rapidata_client/datapoints/assets/_sessions.py +0 -40
  731. rapidata/rapidata_client/datapoints/assets/_text_asset.py +0 -34
  732. rapidata/rapidata_client/datapoints/assets/data_type_enum.py +0 -8
  733. rapidata/rapidata_client/datapoints/metadata/_media_asset_metadata.py +0 -22
  734. rapidata/rapidata_client/datapoints/metadata/_prompt_metadata.py +0 -18
  735. rapidata/rapidata_client/logging/__init__.py +0 -2
  736. rapidata/rapidata_client/logging/logger.py +0 -122
  737. rapidata/rapidata_client/logging/output_manager.py +0 -20
  738. rapidata/rapidata_client/order/_rapidata_dataset.py +0 -447
  739. rapidata/rapidata_client/workflow/_ranking_workflow.py +0 -71
  740. rapidata/service/local_file_service.py +0 -25
  741. rapidata-2.37.0.dist-info/METADATA +0 -35
  742. rapidata-2.37.0.dist-info/RECORD +0 -687
  743. {rapidata-2.37.0.dist-info → rapidata-3.0.0a8.dist-info/licenses}/LICENSE +0 -0
@@ -1,37 +1,67 @@
1
- from typing import Any
1
+ from __future__ import annotations
2
+
2
3
  from rapidata.rapidata_client.filter._base_filter import RapidataFilter
3
- from rapidata.api_client.models.language_user_filter_model import (
4
- LanguageUserFilterModel,
5
- )
4
+ from pydantic import BaseModel, field_validator
5
+ from rapidata.rapidata_client.config import logger
6
6
 
7
7
 
8
- class LanguageFilter(RapidataFilter):
8
+ class LanguageFilter(RapidataFilter, BaseModel):
9
9
  """LanguageFilter Class
10
-
10
+
11
11
  Can be used to filter who to target based on language codes.
12
12
 
13
13
  Args:
14
14
  language_codes (list[str]): List of language codes to filter by.
15
-
16
- Example:
15
+
16
+ Example:
17
17
  ```python
18
18
  LanguageFilter(["en", "de"])
19
19
  ```
20
20
  This will limit the order to be shown to only people who have their phone set to english or german
21
21
  """
22
+
23
+ language_codes: list[str]
24
+
22
25
  def __init__(self, language_codes: list[str]):
23
- if not isinstance(language_codes, list):
24
- raise ValueError("Language codes must be a list")
25
-
26
- # check that all characters in the language codes are lowercase
27
- if not all([code.islower() for code in language_codes]):
28
- raise ValueError("Language codes must be lowercase")
29
-
30
- for code in language_codes:
31
- if not len(code) == 2:
32
- raise ValueError("Language codes must be two characters long")
33
-
34
- self.languages = language_codes
26
+ super().__init__(language_codes=language_codes)
27
+
28
+ @field_validator("language_codes")
29
+ @classmethod
30
+ def validate_language_codes(cls, codes: list[str]) -> list[str]:
31
+ validated = []
32
+ for code in codes:
33
+ if len(code) != 2:
34
+ raise ValueError(
35
+ f"Language codes must be length 2. Invalid code: '{code}'"
36
+ )
37
+ if code != code.lower():
38
+ logger.warning(
39
+ f"Language code '{code}' should be lowercase. It will be lowercased automatically."
40
+ )
41
+ validated.append(code.lower())
42
+ return validated
35
43
 
36
44
  def _to_model(self):
37
- return LanguageUserFilterModel(_t="LanguageFilter", languages=self.languages)
45
+ from rapidata.api_client.models.i_user_filter_model import IUserFilterModel
46
+ from rapidata.api_client.models.i_user_filter_model_language_user_filter_model import (
47
+ IUserFilterModelLanguageUserFilterModel,
48
+ )
49
+
50
+ return IUserFilterModel(
51
+ actual_instance=IUserFilterModelLanguageUserFilterModel(
52
+ _t="LanguageFilter",
53
+ languages=self.language_codes,
54
+ )
55
+ )
56
+
57
+ def _to_audience_model(self):
58
+ from rapidata.api_client.models.i_audience_filter import IAudienceFilter
59
+ from rapidata.api_client.models.i_audience_filter_language_audience_filter import (
60
+ IAudienceFilterLanguageAudienceFilter,
61
+ )
62
+
63
+ return IAudienceFilter(
64
+ actual_instance=IAudienceFilterLanguageAudienceFilter(
65
+ _t="LanguageFilter", languages=self.language_codes
66
+ )
67
+ )
@@ -1,11 +1,14 @@
1
- from rapidata.api_client.models.age_group import AgeGroup as BackendAgeGroupModel
1
+ from rapidata.api_client.models.age_user_filter_model_age_group import (
2
+ AgeUserFilterModelAgeGroup,
3
+ )
2
4
  from enum import Enum
3
5
 
6
+
4
7
  class AgeGroup(Enum):
5
8
  """AgeGroup Enum
6
-
9
+
7
10
  Represents the age group of a user. Used to filter who to target based on age groups.
8
-
11
+
9
12
  Attributes:
10
13
  UNDER_18 (AgeGroup): Represents the age group of users under 18.
11
14
  BETWEEN_18_29 (AgeGroup): Represents the age group of users between 18 and 29.
@@ -13,14 +16,13 @@ class AgeGroup(Enum):
13
16
  BETWEEN_40_49 (AgeGroup): Represents the age group of users between 40 and 49.
14
17
  BETWEEN_50_64 (AgeGroup): Represents the age group of users between 50 and 64.
15
18
  OVER_65 (AgeGroup): Represents the age group of users over 65."""
16
-
17
- UNDER_18 = BackendAgeGroupModel.ENUM_0_MINUS_17
18
- BETWEEN_18_29 = BackendAgeGroupModel.ENUM_18_MINUS_29
19
- BETWEEN_30_39 = BackendAgeGroupModel.ENUM_30_MINUS_39
20
- BETWEEN_40_49 = BackendAgeGroupModel.ENUM_40_MINUS_49
21
- BETWEEN_50_64 = BackendAgeGroupModel.ENUM_50_MINUS_64
22
- OVER_65 = BackendAgeGroupModel.ENUM_65_PLUS
23
19
 
24
- def _to_backend_model(self) -> BackendAgeGroupModel:
25
- return BackendAgeGroupModel(self.value)
20
+ UNDER_18 = AgeUserFilterModelAgeGroup.ENUM_0_MINUS_17
21
+ BETWEEN_18_29 = AgeUserFilterModelAgeGroup.ENUM_18_MINUS_29
22
+ BETWEEN_30_39 = AgeUserFilterModelAgeGroup.ENUM_30_MINUS_39
23
+ BETWEEN_40_49 = AgeUserFilterModelAgeGroup.ENUM_40_MINUS_49
24
+ BETWEEN_50_64 = AgeUserFilterModelAgeGroup.ENUM_50_MINUS_64
25
+ OVER_65 = AgeUserFilterModelAgeGroup.ENUM_65_PLUS
26
26
 
27
+ def _to_backend_model(self) -> AgeUserFilterModelAgeGroup:
28
+ return AgeUserFilterModelAgeGroup(self.value)
@@ -1,19 +1,23 @@
1
1
  from enum import Enum
2
- from rapidata.api_client.models.gender import Gender as BackendGenderModel
2
+ from rapidata.api_client.models.gender_user_filter_model_gender import (
3
+ GenderUserFilterModelGender,
4
+ )
5
+
3
6
 
4
7
  class Gender(Enum):
5
8
  """Gender Enum
6
-
9
+
7
10
  Represents the gender of a user. Used to filter who to target based on genders.
8
-
11
+
9
12
  Attributes:
10
13
  MALE (Gender): Represents the Male gender.
11
14
  FEMALE (Gender): Represents the Female gender.
12
15
  OTHER (Gender): Represents any other gender.
13
16
  """
14
- MALE = BackendGenderModel.MALE
15
- FEMALE = BackendGenderModel.FEMALE
16
- OTHER = BackendGenderModel.OTHER
17
17
 
18
- def _to_backend_model(self) -> BackendGenderModel:
19
- return BackendGenderModel(self.value)
18
+ MALE = GenderUserFilterModelGender.MALE
19
+ FEMALE = GenderUserFilterModelGender.FEMALE
20
+ OTHER = GenderUserFilterModelGender.OTHER
21
+
22
+ def _to_backend_model(self) -> GenderUserFilterModelGender:
23
+ return GenderUserFilterModelGender(self.value)
@@ -1,13 +1,23 @@
1
+ from __future__ import annotations
2
+
1
3
  from rapidata.rapidata_client.filter._base_filter import RapidataFilter
2
- from rapidata.api_client.models.new_user_filter_model import NewUserFilterModel
4
+
3
5
 
4
6
  class NewUserFilter(RapidataFilter):
5
7
  """NewUserFilter Class
6
-
8
+
7
9
  Can be used to filter new users.
8
10
  """
9
11
 
10
12
  def _to_model(self):
11
- return NewUserFilterModel(
12
- _t="NewUserFilter"
13
+ from rapidata.api_client.models.i_user_filter_model import IUserFilterModel
14
+ from rapidata.api_client.models.i_user_filter_model_new_user_filter_model import (
15
+ IUserFilterModelNewUserFilterModel,
13
16
  )
17
+
18
+ return IUserFilterModel(
19
+ actual_instance=IUserFilterModelNewUserFilterModel(_t="NewUserFilter")
20
+ )
21
+
22
+ def _to_audience_model(self):
23
+ raise NotImplementedError("NewUserFilter is not supported for audiences")
@@ -1,30 +1,54 @@
1
- from typing import Any
1
+ from __future__ import annotations
2
+
2
3
  from rapidata.rapidata_client.filter._base_filter import RapidataFilter
3
- from rapidata.api_client.models.not_user_filter_model import NotUserFilterModel
4
- from rapidata.api_client.models.and_user_filter_model_filters_inner import AndUserFilterModelFiltersInner
4
+ from pydantic import BaseModel, ConfigDict
5
5
 
6
6
 
7
- class NotFilter(RapidataFilter):
7
+ class NotFilter(RapidataFilter, BaseModel):
8
8
  """A filter that negates another filter's condition.
9
9
  This class implements a logical NOT operation on a given filter, inverting its results.
10
10
 
11
11
  Args:
12
12
  filter (RapidataFilter): The filter whose condition should be negated.
13
-
13
+
14
14
  Example:
15
15
  ```python
16
16
  from rapidata import NotFilter, LanguageFilter
17
17
 
18
- NotFilter(LanguageFilter(["en"]))
18
+ NotFilter(LanguageFilter(["en"]))
19
19
  ```
20
20
 
21
21
  This will limit the order to be shown to only people who have their phone set to a language other than English.
22
22
  """
23
+
24
+ model_config = ConfigDict(arbitrary_types_allowed=True)
25
+
26
+ filter: RapidataFilter
27
+
23
28
  def __init__(self, filter: RapidataFilter):
24
- if not isinstance(filter, RapidataFilter):
25
- raise ValueError("Filter must be a RapidataFilter object")
26
-
27
- self.filter = filter
29
+ super().__init__(filter=filter)
28
30
 
29
31
  def _to_model(self):
30
- return NotUserFilterModel(_t="NotFilter", filter=AndUserFilterModelFiltersInner(self.filter._to_model()))
32
+ from rapidata.api_client.models.i_user_filter_model import IUserFilterModel
33
+ from rapidata.api_client.models.i_user_filter_model_not_user_filter_model import (
34
+ IUserFilterModelNotUserFilterModel,
35
+ )
36
+
37
+ return IUserFilterModel(
38
+ actual_instance=IUserFilterModelNotUserFilterModel(
39
+ _t="NotFilter",
40
+ filter=self.filter._to_model(),
41
+ )
42
+ )
43
+
44
+ def _to_audience_model(self):
45
+ from rapidata.api_client.models.i_audience_filter import IAudienceFilter
46
+ from rapidata.api_client.models.i_audience_filter_not_audience_filter import (
47
+ IAudienceFilterNotAudienceFilter,
48
+ )
49
+
50
+ return IAudienceFilter(
51
+ actual_instance=IAudienceFilterNotAudienceFilter(
52
+ _t="NotFilter", filter=self.filter._to_audience_model()
53
+ )
54
+ )
@@ -1,30 +1,55 @@
1
- from typing import Any
1
+ from __future__ import annotations
2
+
2
3
  from rapidata.rapidata_client.filter._base_filter import RapidataFilter
3
- from rapidata.api_client.models.or_user_filter_model import OrUserFilterModel
4
- from rapidata.api_client.models.and_user_filter_model_filters_inner import AndUserFilterModelFiltersInner
4
+ from pydantic import BaseModel, ConfigDict
5
5
 
6
6
 
7
- class OrFilter(RapidataFilter):
7
+ class OrFilter(RapidataFilter, BaseModel):
8
8
  """A filter that combines multiple filters with a logical OR operation.
9
9
  This class implements a logical OR operation on a list of filters, where the condition is met if any of the filters' conditions are met.
10
10
 
11
11
  Args:
12
12
  filters (list[RapidataFilter]): A list of filters to be combined with OR.
13
-
13
+
14
14
  Example:
15
15
  ```python
16
16
  from rapidata import OrFilter, LanguageFilter, CountryFilter
17
17
 
18
- OrFilter([LanguageFilter(["en"]), CountryFilter(["US"])])
18
+ OrFilter([LanguageFilter(["en"]), CountryFilter(["US"])])
19
19
  ```
20
20
 
21
21
  This will match users who either have their phone set to English OR are located in the United States.
22
22
  """
23
+
24
+ model_config = ConfigDict(arbitrary_types_allowed=True)
25
+
26
+ filters: list[RapidataFilter]
27
+
23
28
  def __init__(self, filters: list[RapidataFilter]):
24
- if not all(isinstance(filter, RapidataFilter) for filter in filters):
25
- raise ValueError("Filters must be a RapidataFilter object")
26
-
27
- self.filters = filters
29
+ super().__init__(filters=filters)
28
30
 
29
31
  def _to_model(self):
30
- return OrUserFilterModel(_t="OrFilter", filters=[AndUserFilterModelFiltersInner(filter._to_model()) for filter in self.filters])
32
+ from rapidata.api_client.models.i_user_filter_model import IUserFilterModel
33
+ from rapidata.api_client.models.i_user_filter_model_or_user_filter_model import (
34
+ IUserFilterModelOrUserFilterModel,
35
+ )
36
+
37
+ return IUserFilterModel(
38
+ actual_instance=IUserFilterModelOrUserFilterModel(
39
+ _t="OrFilter",
40
+ filters=[filter._to_model() for filter in self.filters],
41
+ )
42
+ )
43
+
44
+ def _to_audience_model(self):
45
+ from rapidata.api_client.models.i_audience_filter import IAudienceFilter
46
+ from rapidata.api_client.models.i_audience_filter_or_audience_filter import (
47
+ IAudienceFilterOrAudienceFilter,
48
+ )
49
+
50
+ return IAudienceFilter(
51
+ actual_instance=IAudienceFilterOrAudienceFilter(
52
+ _t="OrFilter",
53
+ filters=[filter._to_audience_model() for filter in self.filters],
54
+ )
55
+ )
@@ -1,12 +1,11 @@
1
1
  from rapidata.rapidata_client.filter import (
2
- AgeFilter,
3
- CountryFilter,
4
- GenderFilter,
5
- LanguageFilter,
6
- UserScoreFilter,
2
+ CountryFilter,
3
+ LanguageFilter,
7
4
  NotFilter,
8
5
  OrFilter,
9
- AndFilter)
6
+ AndFilter,
7
+ )
8
+
10
9
 
11
10
  class RapidataFilters:
12
11
  """RapidataFilters Classes
@@ -15,14 +14,11 @@ class RapidataFilters:
15
14
 
16
15
  Note that adding multiple filters to the same order will result in a logical AND operation between the filters.
17
16
 
18
- Warning:
17
+ Warning:
19
18
  This might significantly slow down the number of responses you receive.
20
-
19
+
21
20
  Attributes:
22
- user_score (UserScoreFilter): Filters for users with a specific user score.
23
- age (AgeFilter): Filters for users with a specific age.
24
21
  country (CountryFilter): Filters for users with a specific country.
25
- gender (GenderFilter): Filters for users with a specific gender.
26
22
  language (LanguageFilter): Filters for users with a specific language.
27
23
  not_filter (NotFilter): Inverts the filter.
28
24
  or_filter (OrFilter): Combines multiple filters with a logical OR operation.
@@ -36,22 +32,20 @@ class RapidataFilters:
36
32
 
37
33
  This ensures the order is only shown to users in the US and Germany whose phones are set to English.
38
34
 
39
- Info:
35
+ Info:
40
36
  The OR, AND and NOT filter support the |, & and ~ operators respectively.
41
37
  The AND is additionally given by the elements in the list.
42
38
 
43
39
  ```python
44
- from rapidata import AgeFilter, LanguageFilter, CountryFilter
45
- filters=[~AgeFilter([AgeGroup.UNDER_18]), CountryFilter(["US"]) | (CountryFilter(["CA"]) & LanguageFilter(["en"]))]
40
+ from rapidata import LanguageFilter, CountryFilter
41
+ filters=[(CountryFilter(["US"]) & ~LanguageFilter(["fr"])) | (CountryFilter(["CA"]) & LanguageFilter(["en"]))]
46
42
  ```
47
43
 
48
- This would return users who are not under 18 years old and are from the US or who are from Canada and whose phones are set to English.
44
+ This would return users who are from the US and whose phones are not set to French or who are from Canada and whose phones are set to English.
49
45
  """
50
- user_score = UserScoreFilter
51
- age = AgeFilter
52
- country = CountryFilter
53
- gender = GenderFilter
54
- language = LanguageFilter
55
- not_filter = NotFilter
56
- or_filter = OrFilter
57
- and_filter = AndFilter
46
+
47
+ Country = CountryFilter
48
+ Language = LanguageFilter
49
+ Not_filter = NotFilter
50
+ Or_filter = OrFilter
51
+ And_filter = AndFilter
@@ -1,12 +1,11 @@
1
- from typing import Any
1
+ from __future__ import annotations
2
+
2
3
  from rapidata.rapidata_client.filter._base_filter import RapidataFilter
3
- from rapidata.api_client.models.response_count_user_filter_model import (
4
- ResponseCountUserFilterModel,
5
- )
6
4
  from rapidata.api_client.models.comparison_operator import ComparisonOperator
5
+ from pydantic import BaseModel, ConfigDict
7
6
 
8
7
 
9
- class ResponseCountFilter(RapidataFilter):
8
+ class ResponseCountFilter(RapidataFilter, BaseModel):
10
9
  """ResponseCountFilter Class
11
10
  Can be used to filter users based on the number of responses they have given on validation tasks with the specified dimension.
12
11
 
@@ -34,18 +33,45 @@ class ResponseCountFilter(RapidataFilter):
34
33
  This will filter users who have a response count greater than 10 for the "electrical" dimension.
35
34
  """
36
35
 
36
+ model_config = ConfigDict(arbitrary_types_allowed=True)
37
+
38
+ response_count: int
39
+ dimension: str
40
+ operator: ComparisonOperator
41
+
37
42
  def __init__(
38
43
  self, response_count: int, dimension: str, operator: ComparisonOperator
39
44
  ):
40
-
41
- self.response_count = response_count
42
- self.dimension = dimension
43
- self.operator = operator
45
+ super().__init__(
46
+ response_count=response_count, dimension=dimension, operator=operator
47
+ )
44
48
 
45
49
  def _to_model(self):
46
- return ResponseCountUserFilterModel(
47
- _t="ResponseCountFilter",
48
- responseCount=self.response_count,
49
- dimension=self.dimension,
50
- operator=self.operator,
50
+ from rapidata.api_client.models.i_user_filter_model import IUserFilterModel
51
+ from rapidata.api_client.models.i_user_filter_model_response_count_user_filter_model import (
52
+ IUserFilterModelResponseCountUserFilterModel,
53
+ )
54
+
55
+ return IUserFilterModel(
56
+ actual_instance=IUserFilterModelResponseCountUserFilterModel(
57
+ _t="ResponseCountFilter",
58
+ responseCount=self.response_count,
59
+ dimension=self.dimension,
60
+ operator=self.operator,
61
+ )
62
+ )
63
+
64
+ def _to_campaign_model(self):
65
+ from rapidata.api_client.models.i_campaign_filter import ICampaignFilter
66
+ from rapidata.api_client.models.i_campaign_filter_response_count_filter import (
67
+ ICampaignFilterResponseCountFilter,
68
+ )
69
+
70
+ return ICampaignFilter(
71
+ actual_instance=ICampaignFilterResponseCountFilter(
72
+ _t="ResponseCountFilter",
73
+ responseCount=self.response_count,
74
+ dimension=self.dimension,
75
+ operator=self.operator,
76
+ )
51
77
  )
@@ -1,42 +1,80 @@
1
- from typing import Any
1
+ from __future__ import annotations
2
+
3
+ from pydantic_core.core_schema import FieldValidationInfo
2
4
  from rapidata.rapidata_client.filter._base_filter import RapidataFilter
3
- from rapidata.api_client.models.user_score_user_filter_model import (
4
- UserScoreUserFilterModel,
5
- )
5
+ from pydantic import BaseModel, field_validator, model_validator
6
6
 
7
7
 
8
- class UserScoreFilter(RapidataFilter):
8
+ class UserScoreFilter(RapidataFilter, BaseModel):
9
9
  """UserScoreFilter Class
10
-
10
+
11
11
  Can be used to filter who to target based on their user score.
12
-
12
+
13
13
  Args:
14
14
  lower_bound (float): The lower bound of the user score.
15
15
  upper_bound (float): The upper bound of the user score.
16
16
  dimension (str): The dimension of the userScore to be considerd for the filter.
17
17
 
18
- Example:
18
+ Example:
19
19
  ```python
20
20
  UserScoreFilter(0.5, 0.9)
21
21
  ```
22
22
  This will only show the order to users that have a UserScore of >=0.5 and <=0.9
23
23
  """
24
- def __init__(self, lower_bound: float = 0.0, upper_bound: float = 1.0, dimension: str | None = None):
25
- if lower_bound < 0 or lower_bound > 1:
26
- raise ValueError("The lower bound must be between 0 and 1.")
27
- if upper_bound < 0 or upper_bound > 1:
28
- raise ValueError("The upper bound must be between 0 and 1.")
29
- if lower_bound >= upper_bound:
30
- raise ValueError("The lower bound must be less than the upper bound.")
31
-
32
- self.upper_bound = upper_bound
33
- self.lower_bound = lower_bound
34
- self.dimension = dimension
24
+
25
+ lower_bound: float
26
+ upper_bound: float
27
+ dimension: str | None = None
28
+
29
+ def __init__(
30
+ self,
31
+ lower_bound: float = 0.0,
32
+ upper_bound: float = 1.0,
33
+ dimension: str | None = None,
34
+ ):
35
+ super().__init__(
36
+ lower_bound=lower_bound, upper_bound=upper_bound, dimension=dimension
37
+ )
38
+
39
+ @field_validator("lower_bound", "upper_bound")
40
+ @classmethod
41
+ def validate_bounds(cls, v: float, info: FieldValidationInfo) -> float:
42
+ if v < 0 or v > 1:
43
+ raise ValueError(f"{info.field_name} must be between 0 and 1")
44
+ return v
45
+
46
+ @model_validator(mode="after")
47
+ def validate_bounds_relationship(self) -> "UserScoreFilter":
48
+ if self.lower_bound >= self.upper_bound:
49
+ raise ValueError("lower_bound must be less than upper_bound")
50
+ return self
35
51
 
36
52
  def _to_model(self):
37
- return UserScoreUserFilterModel(
38
- _t="UserScoreFilter",
39
- upperbound=self.upper_bound,
40
- lowerbound=self.lower_bound,
41
- dimension=self.dimension,
53
+ from rapidata.api_client.models.i_user_filter_model import IUserFilterModel
54
+ from rapidata.api_client.models.i_user_filter_model_user_score_user_filter_model import (
55
+ IUserFilterModelUserScoreUserFilterModel,
56
+ )
57
+
58
+ return IUserFilterModel(
59
+ actual_instance=IUserFilterModelUserScoreUserFilterModel(
60
+ _t="UserScoreFilter",
61
+ upperbound=self.upper_bound,
62
+ lowerbound=self.lower_bound,
63
+ dimension=self.dimension,
64
+ )
65
+ )
66
+
67
+ def _to_campaign_model(self):
68
+ from rapidata.api_client.models.i_campaign_filter import ICampaignFilter
69
+ from rapidata.api_client.models.i_campaign_filter_user_score_filter import (
70
+ ICampaignFilterUserScoreFilter,
71
+ )
72
+
73
+ return ICampaignFilter(
74
+ actual_instance=ICampaignFilterUserScoreFilter(
75
+ _t="UserScoreFilter",
76
+ upperbound=self.upper_bound,
77
+ lowerbound=self.lower_bound,
78
+ dimension=self.dimension if self.dimension else "global",
79
+ )
42
80
  )
@@ -0,0 +1,3 @@
1
+ from .job_definition import JobDefinition
2
+ from .job_manager import JobManager
3
+ from .rapidata_job import RapidataJob