rapidata 2.23.2__py3-none-any.whl → 3.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of rapidata might be problematic. Click here for more details.
- rapidata/__init__.py +31 -14
- rapidata/api_client/__init__.py +84 -312
- rapidata/api_client/api/__init__.py +12 -3
- rapidata/api_client/api/asset_api.py +853 -0
- rapidata/api_client/api/audience_api.py +3044 -0
- rapidata/api_client/api/benchmark_api.py +4307 -0
- rapidata/api_client/api/campaign_api.py +232 -207
- rapidata/api_client/api/client_api.py +166 -145
- rapidata/api_client/api/coco_api.py +0 -571
- rapidata/api_client/api/compare_workflow_api.py +11 -10
- rapidata/api_client/api/customer_rapid_api.py +2216 -0
- rapidata/api_client/api/datapoint_api.py +8 -797
- rapidata/api_client/api/dataset_api.py +276 -2858
- rapidata/api_client/api/evaluation_workflow_api.py +29 -82
- rapidata/api_client/api/feedback_api.py +11 -281
- rapidata/api_client/api/grouped_ranking_workflow_api.py +319 -0
- rapidata/api_client/api/identity_api.py +83 -1171
- rapidata/api_client/api/job_api.py +4200 -0
- rapidata/api_client/api/job_definition_api.py +319 -0
- rapidata/api_client/api/job_revision_api.py +335 -0
- rapidata/api_client/api/leaderboard_api.py +2855 -0
- rapidata/api_client/api/newsletter_api.py +30 -317
- rapidata/api_client/api/order_api.py +758 -5487
- rapidata/api_client/api/participant_api.py +2181 -0
- rapidata/api_client/api/pipeline_api.py +24 -1783
- rapidata/api_client/api/prompt_api.py +320 -0
- rapidata/api_client/api/rapidata_identity_api_api.py +5 -4
- rapidata/api_client/api/sample_api.py +300 -0
- rapidata/api_client/api/simple_workflow_api.py +11 -10
- rapidata/api_client/api/survey_api.py +304 -0
- rapidata/api_client/api/user_rapid_api.py +1389 -0
- rapidata/api_client/api/validation_set_api.py +510 -3230
- rapidata/api_client/api/workflow_api.py +32 -825
- rapidata/api_client/api_client.py +2 -2
- rapidata/api_client/configuration.py +16 -29
- rapidata/api_client/exceptions.py +2 -2
- rapidata/api_client/models/__init__.py +65 -291
- rapidata/api_client/models/ab_test_selection_a_inner.py +27 -13
- rapidata/api_client/models/add_campaign_model.py +8 -3
- rapidata/api_client/models/add_rapid_to_audience_model.py +144 -0
- rapidata/api_client/models/add_user_response_result.py +10 -5
- rapidata/api_client/models/add_validation_rapid_model.py +49 -28
- rapidata/api_client/models/add_validation_rapid_model_asset.py +154 -0
- rapidata/api_client/models/add_validation_rapid_model_context_asset.py +160 -0
- rapidata/api_client/models/add_validation_rapid_model_metadata_inner.py +140 -0
- rapidata/api_client/models/add_validation_rapid_model_truth.py +32 -12
- rapidata/api_client/models/add_validation_rapid_new_model.py +137 -0
- rapidata/api_client/models/add_validation_rapid_new_model_asset.py +182 -0
- rapidata/api_client/models/add_validation_rapid_new_model_truth.py +286 -0
- rapidata/api_client/models/add_validation_text_rapid_model.py +4 -6
- rapidata/api_client/models/age_user_filter_model.py +2 -2
- rapidata/api_client/models/age_user_filter_model_age_group.py +41 -0
- rapidata/api_client/models/aggregated_orders_model.py +98 -0
- rapidata/api_client/models/aggregator_type.py +4 -2
- rapidata/api_client/models/and_filter.py +121 -0
- rapidata/api_client/models/and_filter_filters_inner.py +282 -0
- rapidata/api_client/models/and_user_filter_model.py +106 -0
- rapidata/api_client/models/and_user_filter_model_filters_inner.py +282 -0
- rapidata/api_client/models/are_rapids_active_result.py +2 -2
- rapidata/api_client/models/asset_metadata.py +106 -0
- rapidata/api_client/models/asset_metadata_asset.py +170 -0
- rapidata/api_client/models/asset_metadata_model.py +96 -0
- rapidata/api_client/models/asset_metadata_model_asset.py +170 -0
- rapidata/api_client/models/asset_type.py +40 -0
- rapidata/api_client/models/attach_category_rapid_blueprint.py +13 -3
- rapidata/api_client/models/attach_category_rapid_blueprint_category.py +89 -0
- rapidata/api_client/models/audience_job_state.py +38 -0
- rapidata/api_client/models/audience_status.py +39 -0
- rapidata/api_client/models/benchmark_query_result.py +98 -0
- rapidata/api_client/models/benchmark_query_result_paged_result.py +105 -0
- rapidata/api_client/models/boost_leaderboard_model.py +89 -0
- rapidata/api_client/models/boost_mode.py +37 -0
- rapidata/api_client/models/boost_query_result.py +97 -0
- rapidata/api_client/models/boost_query_result_boost_mode.py +37 -0
- rapidata/api_client/models/boost_query_result_boost_status.py +39 -0
- rapidata/api_client/models/boost_status.py +39 -0
- rapidata/api_client/models/boosting_profile.py +91 -0
- rapidata/api_client/models/box_shape.py +4 -33
- rapidata/api_client/models/campaign_filter.py +98 -0
- rapidata/api_client/models/campaign_query_result.py +15 -13
- rapidata/api_client/models/campaign_status.py +2 -2
- rapidata/api_client/models/change_boost_model.py +89 -0
- rapidata/api_client/models/classification_metadata.py +12 -1
- rapidata/api_client/models/classify_payload.py +14 -15
- rapidata/api_client/models/classify_payload_category.py +89 -0
- rapidata/api_client/models/client_model.py +181 -0
- rapidata/api_client/models/clients_query_result.py +5 -5
- rapidata/api_client/models/clone_order_model.py +6 -8
- rapidata/api_client/models/clone_order_result.py +9 -4
- rapidata/api_client/models/compare_rapid_blueprint.py +5 -3
- rapidata/api_client/models/compare_rapid_blueprint1.py +96 -0
- rapidata/api_client/models/compare_result.py +1 -10
- rapidata/api_client/models/compare_workflow_config.py +34 -23
- rapidata/api_client/models/compare_workflow_config_context_asset.py +174 -0
- rapidata/api_client/models/compare_workflow_config_metadata_value.py +75 -17
- rapidata/api_client/models/compare_workflow_config_model.py +15 -5
- rapidata/api_client/models/compare_workflow_model.py +34 -6
- rapidata/api_client/models/compare_workflow_model1.py +20 -9
- rapidata/api_client/models/compare_workflow_model_context_asset.py +160 -0
- rapidata/api_client/models/compare_workflow_model_metadata_inner.py +154 -0
- rapidata/api_client/models/compare_workflow_model_pair_maker_config.py +1 -1
- rapidata/api_client/models/comparison_operator.py +2 -2
- rapidata/api_client/models/conditional_validation_selection.py +8 -11
- rapidata/api_client/models/conditional_validation_selection_validation_chance.py +103 -0
- rapidata/api_client/models/confidence_interval.py +89 -0
- rapidata/api_client/models/count_metadata.py +12 -1
- rapidata/api_client/models/country_filter.py +98 -0
- rapidata/api_client/models/create_audience_request.py +122 -0
- rapidata/api_client/models/create_audience_result.py +87 -0
- rapidata/api_client/models/create_benchmark_model.py +87 -0
- rapidata/api_client/models/create_benchmark_participant_model.py +87 -0
- rapidata/api_client/models/create_benchmark_participant_result.py +89 -0
- rapidata/api_client/models/create_benchmark_prompt_result.py +87 -0
- rapidata/api_client/models/create_benchmark_result.py +87 -0
- rapidata/api_client/models/create_bridge_token_result.py +2 -2
- rapidata/api_client/models/create_client_model.py +6 -13
- rapidata/api_client/models/create_complex_order_model.py +9 -9
- rapidata/api_client/models/create_complex_order_result.py +6 -4
- rapidata/api_client/models/create_customer_client_result.py +89 -0
- rapidata/api_client/models/create_datapoint_from_files_model_metadata_inner.py +25 -11
- rapidata/api_client/models/create_datapoint_model.py +124 -0
- rapidata/api_client/models/create_datapoint_model_asset.py +154 -0
- rapidata/api_client/models/create_datapoint_model_context_asset.py +160 -0
- rapidata/api_client/models/create_datapoint_model_metadata_inner.py +154 -0
- rapidata/api_client/models/create_datapoint_result.py +6 -18
- rapidata/api_client/models/create_dataset_endpoint_input.py +87 -0
- rapidata/api_client/models/create_dataset_endpoint_output.py +87 -0
- rapidata/api_client/models/create_demographic_rapid_model.py +45 -7
- rapidata/api_client/models/create_demographic_rapid_model_asset.py +160 -0
- rapidata/api_client/models/create_demographic_rapid_model_context_asset.py +160 -0
- rapidata/api_client/models/create_demographic_rapid_model_new.py +119 -0
- rapidata/api_client/models/create_empty_validation_set_result.py +2 -2
- rapidata/api_client/models/create_job_definition_endpoint_input.py +119 -0
- rapidata/api_client/models/create_job_definition_endpoint_output.py +89 -0
- rapidata/api_client/models/create_job_endpoint_input.py +100 -0
- rapidata/api_client/models/create_job_endpoint_output.py +89 -0
- rapidata/api_client/models/create_job_revision_endpoint_input.py +127 -0
- rapidata/api_client/models/create_job_revision_endpoint_output.py +89 -0
- rapidata/api_client/models/create_leaderboard_model.py +147 -0
- rapidata/api_client/models/create_leaderboard_participant_model.py +87 -0
- rapidata/api_client/models/create_leaderboard_participant_result.py +89 -0
- rapidata/api_client/models/create_leaderboard_result.py +99 -0
- rapidata/api_client/models/create_order_definition_model.py +119 -0
- rapidata/api_client/models/create_order_definition_result.py +87 -0
- rapidata/api_client/models/create_order_definition_revision_model.py +117 -0
- rapidata/api_client/models/create_order_definition_revision_result.py +87 -0
- rapidata/api_client/models/create_order_model.py +30 -103
- rapidata/api_client/models/create_order_model_referee.py +12 -12
- rapidata/api_client/models/create_order_model_workflow.py +35 -21
- rapidata/api_client/models/create_order_result.py +6 -4
- rapidata/api_client/models/create_rapid_result.py +2 -2
- rapidata/api_client/models/create_sample_model.py +93 -0
- rapidata/api_client/models/create_sample_model_asset.py +154 -0
- rapidata/api_client/models/create_sample_model_obsolete.py +87 -0
- rapidata/api_client/models/create_simple_pipeline_model_pipeline_steps_inner.py +8 -22
- rapidata/api_client/models/create_unsupported_order_model.py +6 -6
- rapidata/api_client/models/create_validation_set_model.py +5 -5
- rapidata/api_client/models/datapoint_metadata_model.py +3 -3
- rapidata/api_client/models/datapoint_model.py +3 -3
- rapidata/api_client/models/datapoint_model_paged_result.py +105 -0
- rapidata/api_client/models/datapoint_state.py +2 -2
- rapidata/api_client/models/dataset_dataset_id_datapoints_post_request_metadata_inner.py +182 -0
- rapidata/api_client/models/definition_type.py +49 -0
- rapidata/api_client/models/demographic_filter.py +100 -0
- rapidata/api_client/models/dynamic_client_registration_request.py +160 -0
- rapidata/api_client/models/early_stopping_referee_model.py +3 -3
- rapidata/api_client/models/effort_capped_selection.py +106 -0
- rapidata/api_client/models/elo_config.py +2 -2
- rapidata/api_client/models/elo_config_model.py +6 -6
- rapidata/api_client/models/entity_tag_header_value.py +93 -0
- rapidata/api_client/models/evaluation_workflow_config.py +13 -3
- rapidata/api_client/models/evaluation_workflow_model.py +16 -6
- rapidata/api_client/models/existing_asset_input.py +109 -0
- rapidata/api_client/models/existing_asset_input_metadata_value.py +126 -0
- rapidata/api_client/models/feature_flag.py +2 -2
- rapidata/api_client/models/feature_flag_model.py +6 -6
- rapidata/api_client/models/feedback_model.py +7 -7
- rapidata/api_client/models/file_asset.py +15 -12
- rapidata/api_client/models/file_asset_input.py +104 -0
- rapidata/api_client/models/file_asset_input1.py +104 -0
- rapidata/api_client/models/file_asset_input1_file.py +168 -0
- rapidata/api_client/models/file_asset_input2.py +104 -0
- rapidata/api_client/models/file_asset_input3.py +104 -0
- rapidata/api_client/models/file_asset_input_file.py +168 -0
- rapidata/api_client/models/file_asset_metadata_value.py +252 -0
- rapidata/api_client/models/file_asset_model_metadata_value.py +37 -51
- rapidata/api_client/models/file_stream_result.py +122 -0
- rapidata/api_client/models/file_type.py +39 -0
- rapidata/api_client/models/file_type_metadata.py +110 -0
- rapidata/api_client/models/file_type_metadata_model.py +97 -0
- rapidata/api_client/models/filter.py +7 -25
- rapidata/api_client/models/filter_operator.py +3 -2
- rapidata/api_client/models/fork_benchmark_result.py +87 -0
- rapidata/api_client/models/form_file_wrapper.py +135 -0
- rapidata/api_client/models/free_text_payload.py +10 -3
- rapidata/api_client/models/free_text_rapid_blueprint.py +10 -3
- rapidata/api_client/models/gender_user_filter_model.py +2 -2
- rapidata/api_client/models/gender_user_filter_model_gender.py +38 -0
- rapidata/api_client/models/get_asset_metadata_result.py +100 -0
- rapidata/api_client/models/get_audience_by_id_result.py +118 -0
- rapidata/api_client/models/get_audience_user_state_metrics_result.py +87 -0
- rapidata/api_client/models/get_available_validation_sets_result.py +2 -2
- rapidata/api_client/models/get_benchmark_by_id_query.py +96 -0
- rapidata/api_client/models/get_benchmark_by_id_query_result.py +94 -0
- rapidata/api_client/models/get_benchmark_by_id_query_result_paged_result.py +105 -0
- rapidata/api_client/models/get_benchmark_by_id_result.py +98 -0
- rapidata/api_client/models/get_boost_result.py +97 -0
- rapidata/api_client/models/get_boost_result_boost_mode.py +37 -0
- rapidata/api_client/models/get_boost_result_boost_status.py +39 -0
- rapidata/api_client/models/get_compare_ab_summary_result.py +5 -5
- rapidata/api_client/models/get_compare_workflow_results_model.py +7 -7
- rapidata/api_client/models/get_compare_workflow_results_result.py +5 -5
- rapidata/api_client/models/get_datapoint_by_id_result.py +10 -21
- rapidata/api_client/models/get_datapoint_by_id_result_asset.py +170 -0
- rapidata/api_client/models/get_dataset_by_id_result.py +2 -2
- rapidata/api_client/models/get_dataset_progress_result.py +2 -2
- rapidata/api_client/models/get_evaluation_workflow_results_model.py +119 -0
- rapidata/api_client/models/get_failed_datapoints_result.py +5 -5
- rapidata/api_client/models/get_failed_datapoints_result_datapoint.py +100 -0
- rapidata/api_client/models/get_file_metadata_result.py +100 -0
- rapidata/api_client/models/get_grouped_ranking_workflow_results_model.py +106 -0
- rapidata/api_client/models/get_grouped_ranking_workflow_results_result.py +97 -0
- rapidata/api_client/models/get_grouped_ranking_workflow_results_result_paged_result.py +105 -0
- rapidata/api_client/models/get_job_by_id_endpoint_output.py +130 -0
- rapidata/api_client/models/get_job_definition_by_id_endpoint_output.py +95 -0
- rapidata/api_client/models/get_job_revision_endpoint_output.py +133 -0
- rapidata/api_client/models/get_leaderboard_by_id_result.py +135 -0
- rapidata/api_client/models/get_order_by_id_result.py +12 -5
- rapidata/api_client/models/get_participant_by_id_result.py +91 -0
- rapidata/api_client/models/get_pipeline_by_id_result.py +5 -5
- rapidata/api_client/models/get_public_orders_result.py +2 -2
- rapidata/api_client/models/get_public_responses_result.py +95 -0
- rapidata/api_client/models/get_public_responses_result_response.py +112 -0
- rapidata/api_client/models/get_rapid_responses_result.py +6 -12
- rapidata/api_client/models/get_recommended_validation_set_result.py +95 -0
- rapidata/api_client/models/get_responses_for_rapid_result.py +106 -0
- rapidata/api_client/models/get_responses_for_rapid_result_response.py +103 -0
- rapidata/api_client/models/get_responses_for_rapid_result_response_result.py +266 -0
- rapidata/api_client/models/get_responses_result.py +5 -5
- rapidata/api_client/models/get_responses_result_response.py +103 -0
- rapidata/api_client/models/get_sample_by_id_result.py +125 -0
- rapidata/api_client/models/get_simple_workflow_results_model.py +20 -15
- rapidata/api_client/models/get_standing_by_id_result.py +96 -0
- rapidata/api_client/models/get_validation_rapids_result.py +33 -33
- rapidata/api_client/models/get_validation_rapids_result_truth.py +25 -11
- rapidata/api_client/models/get_validation_set_by_id_result.py +10 -4
- rapidata/api_client/models/get_workflow_by_id_result.py +5 -5
- rapidata/api_client/models/get_workflow_by_id_result_workflow.py +23 -9
- rapidata/api_client/models/get_workflow_progress_result.py +5 -11
- rapidata/api_client/models/get_workflow_results_result.py +34 -23
- rapidata/api_client/models/get_workflow_results_result_response.py +103 -0
- rapidata/api_client/models/google_one_tap_login_model.py +4 -4
- rapidata/api_client/models/grouped_ranking_workflow_config.py +155 -0
- rapidata/api_client/models/grouped_ranking_workflow_config_context_assets_value.py +170 -0
- rapidata/api_client/models/grouped_ranking_workflow_model.py +147 -0
- rapidata/api_client/models/grouped_ranking_workflow_model1.py +121 -0
- rapidata/api_client/models/i_artifact_model.py +182 -0
- rapidata/api_client/models/i_artifact_model_campaign_artifact_model.py +98 -0
- rapidata/api_client/models/i_artifact_model_dataset_artifact_model.py +98 -0
- rapidata/api_client/models/i_artifact_model_file_artifact_model.py +98 -0
- rapidata/api_client/models/i_artifact_model_workflow_artifact_model.py +98 -0
- rapidata/api_client/models/i_artifact_model_workflow_config_artifact_model.py +102 -0
- rapidata/api_client/models/i_asset.py +170 -0
- rapidata/api_client/models/i_asset_file_asset.py +111 -0
- rapidata/api_client/models/i_asset_input.py +156 -0
- rapidata/api_client/models/i_asset_input_existing_asset_input.py +118 -0
- rapidata/api_client/models/i_asset_input_multi_asset_input.py +128 -0
- rapidata/api_client/models/i_asset_input_text_asset_input.py +118 -0
- rapidata/api_client/models/i_asset_model.py +170 -0
- rapidata/api_client/models/i_asset_model_file_asset_model.py +113 -0
- rapidata/api_client/models/i_asset_model_multi_asset_model.py +123 -0
- rapidata/api_client/models/i_asset_model_null_asset_model.py +111 -0
- rapidata/api_client/models/i_asset_model_text_asset_model.py +113 -0
- rapidata/api_client/models/i_asset_multi_asset.py +121 -0
- rapidata/api_client/models/i_asset_null_asset.py +109 -0
- rapidata/api_client/models/i_asset_text_asset.py +111 -0
- rapidata/api_client/models/i_audience_filter.py +184 -0
- rapidata/api_client/models/i_audience_filter_and_audience_filter.py +106 -0
- rapidata/api_client/models/i_audience_filter_country_audience_filter.py +96 -0
- rapidata/api_client/models/i_audience_filter_country_filter.py +96 -0
- rapidata/api_client/models/i_audience_filter_language_audience_filter.py +96 -0
- rapidata/api_client/models/i_audience_filter_language_filter.py +96 -0
- rapidata/api_client/models/i_audience_filter_not_audience_filter.py +102 -0
- rapidata/api_client/models/i_audience_filter_or_audience_filter.py +106 -0
- rapidata/api_client/models/i_campaign_filter.py +296 -0
- rapidata/api_client/models/i_campaign_filter_and_filter.py +117 -0
- rapidata/api_client/models/i_campaign_filter_campaign_filter.py +98 -0
- rapidata/api_client/models/i_campaign_filter_campaign_session_count_filter.py +101 -0
- rapidata/api_client/models/i_campaign_filter_country_filter.py +98 -0
- rapidata/api_client/models/i_campaign_filter_demographic_filter.py +100 -0
- rapidata/api_client/models/i_campaign_filter_device_filter.py +106 -0
- rapidata/api_client/models/i_campaign_filter_language_filter.py +98 -0
- rapidata/api_client/models/i_campaign_filter_new_user_filter.py +96 -0
- rapidata/api_client/models/i_campaign_filter_not_filter.py +113 -0
- rapidata/api_client/models/i_campaign_filter_or_filter.py +117 -0
- rapidata/api_client/models/i_campaign_filter_response_count_filter.py +103 -0
- rapidata/api_client/models/i_campaign_filter_user_action_restriction_filter.py +106 -0
- rapidata/api_client/models/i_campaign_filter_user_score_filter.py +102 -0
- rapidata/api_client/models/i_campaign_filter_user_state_filter.py +106 -0
- rapidata/api_client/models/i_dataset_metadata_input.py +154 -0
- rapidata/api_client/models/i_dataset_metadata_input_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/i_dataset_metadata_input_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/i_dataset_metadata_input_transcription_metadata_input.py +96 -0
- rapidata/api_client/models/i_dataset_model.py +126 -0
- rapidata/api_client/models/i_dataset_model_clone_dataset_model.py +98 -0
- rapidata/api_client/models/i_metadata.py +252 -0
- rapidata/api_client/models/i_metadata_classification_metadata.py +109 -0
- rapidata/api_client/models/i_metadata_count_metadata.py +109 -0
- rapidata/api_client/models/i_metadata_duration_metadata.py +110 -0
- rapidata/api_client/models/i_metadata_file_type_metadata.py +110 -0
- rapidata/api_client/models/i_metadata_image_dimension_metadata.py +111 -0
- rapidata/api_client/models/i_metadata_input.py +126 -0
- rapidata/api_client/models/i_metadata_input_text_metadata_input.py +111 -0
- rapidata/api_client/models/i_metadata_location_metadata.py +111 -0
- rapidata/api_client/models/i_metadata_model.py +252 -0
- rapidata/api_client/models/i_metadata_model_classification_metadata_model.py +96 -0
- rapidata/api_client/models/i_metadata_model_count_metadata_model.py +96 -0
- rapidata/api_client/models/i_metadata_model_file_type_metadata_model.py +97 -0
- rapidata/api_client/models/i_metadata_model_image_dimension_metadata_model.py +98 -0
- rapidata/api_client/models/i_metadata_model_location_metadata_model.py +98 -0
- rapidata/api_client/models/i_metadata_model_original_filename_metadata_model.py +96 -0
- rapidata/api_client/models/i_metadata_model_source_url_metadata_model.py +96 -0
- rapidata/api_client/models/i_metadata_model_streams_metadata_model.py +100 -0
- rapidata/api_client/models/i_metadata_model_text_metadata_model.py +101 -0
- rapidata/api_client/models/i_metadata_model_video_duration_metadata_model.py +97 -0
- rapidata/api_client/models/i_metadata_original_filename_metadata.py +109 -0
- rapidata/api_client/models/i_metadata_source_url_metadata.py +109 -0
- rapidata/api_client/models/i_metadata_streams_metadata.py +113 -0
- rapidata/api_client/models/i_metadata_text_metadata.py +114 -0
- rapidata/api_client/models/i_metadata_video_duration_metadata.py +110 -0
- rapidata/api_client/models/i_order_workflow_model.py +168 -0
- rapidata/api_client/models/i_order_workflow_model_compare_workflow_model.py +146 -0
- rapidata/api_client/models/i_order_workflow_model_evaluation_workflow_model.py +108 -0
- rapidata/api_client/models/i_order_workflow_model_grouped_ranking_workflow_model.py +147 -0
- rapidata/api_client/models/i_order_workflow_model_simple_workflow_model.py +110 -0
- rapidata/api_client/models/i_pair_maker_config.py +126 -0
- rapidata/api_client/models/i_pair_maker_config_model.py +126 -0
- rapidata/api_client/models/i_pair_maker_config_model_online_pair_maker_config_model.py +98 -0
- rapidata/api_client/models/i_pair_maker_config_online_pair_maker_config.py +98 -0
- rapidata/api_client/models/i_pair_maker_information.py +126 -0
- rapidata/api_client/models/i_pair_maker_information_online_pair_maker_information.py +100 -0
- rapidata/api_client/models/i_pipeline_artifact_model.py +126 -0
- rapidata/api_client/models/i_pipeline_artifact_model_create_dataset_artifact_model.py +102 -0
- rapidata/api_client/models/i_pipeline_model.py +126 -0
- rapidata/api_client/models/i_pipeline_model_create_simple_pipeline_model.py +116 -0
- rapidata/api_client/models/i_pipeline_step_model.py +168 -0
- rapidata/api_client/models/i_pipeline_step_model_dataset_evaluation_step_model.py +102 -0
- rapidata/api_client/models/i_pipeline_step_model_send_completion_mail_step_model.py +98 -0
- rapidata/api_client/models/i_pipeline_step_model_workflow_aggregation_step_model.py +103 -0
- rapidata/api_client/models/i_pipeline_step_model_workflow_labeling_step_model.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint.py +252 -0
- rapidata/api_client/models/i_rapid_blueprint_attach_category_rapid_blueprint.py +108 -0
- rapidata/api_client/models/i_rapid_blueprint_bounding_box_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_compare_rapid_blueprint.py +98 -0
- rapidata/api_client/models/i_rapid_blueprint_free_text_rapid_blueprint.py +105 -0
- rapidata/api_client/models/i_rapid_blueprint_line_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_locate_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_named_entity_rapid_blueprint.py +98 -0
- rapidata/api_client/models/i_rapid_blueprint_polygon_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_scrub_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_transcription_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_payload.py +252 -0
- rapidata/api_client/models/i_rapid_payload_bounding_box_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_classify_payload.py +106 -0
- rapidata/api_client/models/i_rapid_payload_compare_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_free_text_payload.py +105 -0
- rapidata/api_client/models/i_rapid_payload_line_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_locate_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_named_entity_payload.py +98 -0
- rapidata/api_client/models/i_rapid_payload_polygon_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_scrub_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_transcription_payload.py +106 -0
- rapidata/api_client/models/i_rapid_result.py +266 -0
- rapidata/api_client/models/i_rapid_result_attach_category_result.py +98 -0
- rapidata/api_client/models/i_rapid_result_bounding_box_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_compare_result.py +98 -0
- rapidata/api_client/models/i_rapid_result_free_text_result.py +98 -0
- rapidata/api_client/models/i_rapid_result_line_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_locate_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_named_entity_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_polygon_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_scrub_result.py +98 -0
- rapidata/api_client/models/i_rapid_result_skip_result.py +96 -0
- rapidata/api_client/models/i_rapid_result_transcription_result.py +106 -0
- rapidata/api_client/models/i_referee_config.py +154 -0
- rapidata/api_client/models/i_referee_config_naive_referee_config.py +96 -0
- rapidata/api_client/models/i_referee_config_never_ending_referee_config.py +94 -0
- rapidata/api_client/models/i_referee_config_probabilistic_attach_category_referee_config.py +98 -0
- rapidata/api_client/models/i_referee_info.py +154 -0
- rapidata/api_client/models/i_referee_info_naive_referee_info.py +96 -0
- rapidata/api_client/models/i_referee_info_never_ending_referee_info.py +94 -0
- rapidata/api_client/models/i_referee_info_probabilistic_attach_category_referee_info.py +98 -0
- rapidata/api_client/models/i_referee_model.py +140 -0
- rapidata/api_client/models/i_referee_model_early_stopping_referee_model.py +98 -0
- rapidata/api_client/models/i_referee_model_naive_referee_model.py +96 -0
- rapidata/api_client/models/i_selection.py +240 -0
- rapidata/api_client/models/i_selection_ab_test_selection.py +122 -0
- rapidata/api_client/models/i_selection_capped_selection.py +108 -0
- rapidata/api_client/models/i_selection_conditional_validation_selection.py +110 -0
- rapidata/api_client/models/i_selection_demographic_selection.py +98 -0
- rapidata/api_client/models/i_selection_effort_capped_selection.py +101 -0
- rapidata/api_client/models/i_selection_labeling_selection.py +103 -0
- rapidata/api_client/models/i_selection_shuffling_selection.py +106 -0
- rapidata/api_client/models/i_selection_static_selection.py +96 -0
- rapidata/api_client/models/i_selection_validation_selection.py +98 -0
- rapidata/api_client/models/i_user_filter_model.py +296 -0
- rapidata/api_client/models/i_user_filter_model_age_user_filter_model.py +104 -0
- rapidata/api_client/models/i_user_filter_model_and_user_filter_model.py +106 -0
- rapidata/api_client/models/i_user_filter_model_campaign_user_filter_model.py +96 -0
- rapidata/api_client/models/i_user_filter_model_country_user_filter_model.py +96 -0
- rapidata/api_client/models/i_user_filter_model_custom_user_filter_model.py +98 -0
- rapidata/api_client/models/i_user_filter_model_device_user_filter_model.py +104 -0
- rapidata/api_client/models/i_user_filter_model_gender_user_filter_model.py +104 -0
- rapidata/api_client/models/i_user_filter_model_language_user_filter_model.py +96 -0
- rapidata/api_client/models/i_user_filter_model_new_user_filter_model.py +94 -0
- rapidata/api_client/models/i_user_filter_model_not_user_filter_model.py +102 -0
- rapidata/api_client/models/i_user_filter_model_or_user_filter_model.py +106 -0
- rapidata/api_client/models/i_user_filter_model_response_count_user_filter_model.py +101 -0
- rapidata/api_client/models/i_user_filter_model_user_score_user_filter_model.py +105 -0
- rapidata/api_client/models/i_validation_metadata_input.py +140 -0
- rapidata/api_client/models/i_validation_metadata_input_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/i_validation_metadata_input_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/i_validation_truth.py +280 -0
- rapidata/api_client/models/i_validation_truth_attach_category_truth.py +96 -0
- rapidata/api_client/models/i_validation_truth_bounding_box_truth.py +102 -0
- rapidata/api_client/models/i_validation_truth_compare_truth.py +96 -0
- rapidata/api_client/models/i_validation_truth_empty_validation_truth.py +94 -0
- rapidata/api_client/models/i_validation_truth_line_truth.py +94 -0
- rapidata/api_client/models/i_validation_truth_locate_box_truth.py +108 -0
- rapidata/api_client/models/i_validation_truth_model.py +294 -0
- rapidata/api_client/models/i_validation_truth_model_attach_category_truth_model.py +96 -0
- rapidata/api_client/models/i_validation_truth_model_bounding_box_truth_model.py +102 -0
- rapidata/api_client/models/i_validation_truth_model_classify_truth_model.py +96 -0
- rapidata/api_client/models/i_validation_truth_model_compare_truth_model.py +96 -0
- rapidata/api_client/models/i_validation_truth_model_empty_validation_truth_model.py +94 -0
- rapidata/api_client/models/i_validation_truth_model_line_truth_model.py +94 -0
- rapidata/api_client/models/i_validation_truth_model_locate_box_truth_model.py +108 -0
- rapidata/api_client/models/i_validation_truth_model_multi_compare_truth_model.py +96 -0
- rapidata/api_client/models/i_validation_truth_model_named_entity_truth_model.py +104 -0
- rapidata/api_client/models/i_validation_truth_model_polygon_truth_model.py +94 -0
- rapidata/api_client/models/i_validation_truth_model_scrub_truth_model.py +104 -0
- rapidata/api_client/models/i_validation_truth_model_skip_truth_model.py +94 -0
- rapidata/api_client/models/i_validation_truth_model_transcription_truth_model.py +115 -0
- rapidata/api_client/models/i_validation_truth_multi_compare_truth.py +96 -0
- rapidata/api_client/models/i_validation_truth_named_entity_truth.py +104 -0
- rapidata/api_client/models/i_validation_truth_polygon_truth.py +94 -0
- rapidata/api_client/models/i_validation_truth_scrub_truth.py +104 -0
- rapidata/api_client/models/i_validation_truth_skip_truth.py +94 -0
- rapidata/api_client/models/i_validation_truth_transcription_truth.py +115 -0
- rapidata/api_client/models/i_workflow_config.py +168 -0
- rapidata/api_client/models/i_workflow_config_compare_workflow_config.py +142 -0
- rapidata/api_client/models/i_workflow_config_evaluation_workflow_config.py +114 -0
- rapidata/api_client/models/i_workflow_config_grouped_ranking_workflow_config.py +155 -0
- rapidata/api_client/models/i_workflow_config_simple_workflow_config.py +116 -0
- rapidata/api_client/models/i_workflow_model.py +168 -0
- rapidata/api_client/models/i_workflow_model_compare_workflow_model.py +145 -0
- rapidata/api_client/models/i_workflow_model_evaluation_workflow_model.py +115 -0
- rapidata/api_client/models/i_workflow_model_grouped_ranking_workflow_model.py +121 -0
- rapidata/api_client/models/i_workflow_model_simple_workflow_model.py +119 -0
- rapidata/api_client/models/image_dimension_metadata.py +12 -1
- rapidata/api_client/models/inquire_file_metadata_result.py +100 -0
- rapidata/api_client/models/inspect_report_result.py +2 -2
- rapidata/api_client/models/job_definition_revision_state.py +38 -0
- rapidata/api_client/models/json_web_key.py +224 -0
- rapidata/api_client/models/json_web_key_set.py +95 -0
- rapidata/api_client/models/labeling_selection.py +11 -13
- rapidata/api_client/models/language_filter.py +98 -0
- rapidata/api_client/models/leaderboard_query_result.py +135 -0
- rapidata/api_client/models/leaderboard_query_result_paged_result.py +105 -0
- rapidata/api_client/models/leaderboards_query_result.py +135 -0
- rapidata/api_client/models/line_result.py +3 -3
- rapidata/api_client/models/line_result_line.py +97 -0
- rapidata/api_client/models/line_result_line_point.py +89 -0
- rapidata/api_client/models/local_file_wrapper.py +120 -0
- rapidata/api_client/models/locate_coordinate.py +4 -13
- rapidata/api_client/models/location_metadata.py +12 -1
- rapidata/api_client/models/logic_operator.py +2 -2
- rapidata/api_client/models/metadata_i_order_metadata_input.py +154 -0
- rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/metadata_i_order_metadata_input_metadata_transcription_metadata_input.py +96 -0
- rapidata/api_client/models/metadata_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/metadata_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/metadata_transcription_metadata_input.py +96 -0
- rapidata/api_client/models/multi_asset.py +17 -12
- rapidata/api_client/models/multi_asset_assets_inner.py +170 -0
- rapidata/api_client/models/multi_asset_input.py +130 -0
- rapidata/api_client/models/multi_asset_input1.py +110 -0
- rapidata/api_client/models/multi_asset_input1_assets_inner.py +198 -0
- rapidata/api_client/models/multi_asset_input2.py +110 -0
- rapidata/api_client/models/multi_asset_input3.py +110 -0
- rapidata/api_client/models/multi_asset_input3_assets_inner.py +198 -0
- rapidata/api_client/models/multi_asset_input_assets_inner.py +156 -0
- rapidata/api_client/models/multi_asset_model.py +3 -3
- rapidata/api_client/models/multi_compare_truth.py +96 -0
- rapidata/api_client/models/naive_referee_info.py +96 -0
- rapidata/api_client/models/naive_referee_model.py +2 -2
- rapidata/api_client/models/named_classification.py +4 -13
- rapidata/api_client/models/never_ending_referee_info.py +94 -0
- rapidata/api_client/models/new_user_filter.py +96 -0
- rapidata/api_client/models/newsletter_model.py +6 -6
- rapidata/api_client/models/not_available_yet_result.py +4 -13
- rapidata/api_client/models/not_filter.py +117 -0
- rapidata/api_client/models/not_user_filter_model.py +3 -3
- rapidata/api_client/models/null_asset.py +14 -9
- rapidata/api_client/models/online_pair_maker_config_model.py +3 -3
- rapidata/api_client/models/option_of_aggregator_type.py +49 -0
- rapidata/api_client/models/or_filter.py +121 -0
- rapidata/api_client/models/or_user_filter_model.py +3 -3
- rapidata/api_client/models/order_model.py +15 -14
- rapidata/api_client/models/order_state.py +2 -2
- rapidata/api_client/models/original_filename_metadata.py +12 -1
- rapidata/api_client/models/page_info.py +2 -7
- rapidata/api_client/models/paged_result_aggregated_orders_model.py +105 -0
- rapidata/api_client/models/paged_result_benchmark_query_result.py +105 -0
- rapidata/api_client/models/paged_result_campaign_query_result.py +105 -0
- rapidata/api_client/models/paged_result_clients_query_result.py +105 -0
- rapidata/api_client/models/paged_result_datapoint_model.py +105 -0
- rapidata/api_client/models/paged_result_get_compare_workflow_results_result.py +105 -0
- rapidata/api_client/models/paged_result_get_grouped_ranking_workflow_results_result.py +105 -0
- rapidata/api_client/models/paged_result_get_validation_rapids_result.py +105 -0
- rapidata/api_client/models/paged_result_get_workflow_results_result.py +105 -0
- rapidata/api_client/models/paged_result_i_workflow_model.py +105 -0
- rapidata/api_client/models/paged_result_leaderboard_query_result.py +105 -0
- rapidata/api_client/models/paged_result_leaderboards_query_result.py +105 -0
- rapidata/api_client/models/paged_result_of_aggregated_orders_model.py +103 -0
- rapidata/api_client/models/paged_result_of_benchmark_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_campaign_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_clients_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_compare_workflow_results_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_grouped_ranking_workflow_results_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_validation_rapids_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_workflow_results_result.py +103 -0
- rapidata/api_client/models/paged_result_of_i_workflow_model.py +103 -0
- rapidata/api_client/models/paged_result_of_leaderboards_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_order_model.py +103 -0
- rapidata/api_client/models/paged_result_of_participant_by_benchmark.py +103 -0
- rapidata/api_client/models/paged_result_of_prompt_by_benchmark_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_audiences_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_datapoints_by_dataset_id_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_job_definitions_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_job_revisions_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_jobs_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_rapids_for_audience_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_validation_rapid_eligibility_result.py +103 -0
- rapidata/api_client/models/paged_result_of_rapid_model.py +103 -0
- rapidata/api_client/models/paged_result_of_runs_by_leaderboard_result.py +103 -0
- rapidata/api_client/models/paged_result_of_sample_by_identifier.py +103 -0
- rapidata/api_client/models/paged_result_of_sample_by_participant.py +103 -0
- rapidata/api_client/models/paged_result_of_standing_by_leaderboard.py +103 -0
- rapidata/api_client/models/paged_result_of_validation_set_model.py +103 -0
- rapidata/api_client/models/paged_result_order_model.py +105 -0
- rapidata/api_client/models/paged_result_participant_by_benchmark.py +105 -0
- rapidata/api_client/models/paged_result_potential_validation_rapid.py +105 -0
- rapidata/api_client/models/paged_result_prompt_by_benchmark_result.py +105 -0
- rapidata/api_client/models/paged_result_query_audiences_result.py +105 -0
- rapidata/api_client/models/paged_result_query_datapoints_by_dataset_id_result.py +105 -0
- rapidata/api_client/models/paged_result_query_validation_rapid_eligibility_result.py +105 -0
- rapidata/api_client/models/paged_result_rapid_model.py +105 -0
- rapidata/api_client/models/paged_result_runs_by_leaderboard_result.py +105 -0
- rapidata/api_client/models/paged_result_sample_by_identifier.py +105 -0
- rapidata/api_client/models/paged_result_sample_by_participant.py +105 -0
- rapidata/api_client/models/paged_result_standing_by_leaderboard.py +105 -0
- rapidata/api_client/models/paged_result_validation_set_model.py +105 -0
- rapidata/api_client/models/participant_by_benchmark.py +94 -0
- rapidata/api_client/models/participant_by_benchmark_paged_result.py +105 -0
- rapidata/api_client/models/participant_by_leaderboard.py +113 -0
- rapidata/api_client/models/participant_by_leaderboard_paged_result.py +105 -0
- rapidata/api_client/models/participant_status.py +38 -0
- rapidata/api_client/models/pipeline_id_workflow_config_put_request.py +140 -0
- rapidata/api_client/models/polygon_result.py +3 -3
- rapidata/api_client/models/polygon_result_coordinate.py +89 -0
- rapidata/api_client/models/polygon_result_shape.py +95 -0
- rapidata/api_client/models/potential_validation_rapid.py +103 -0
- rapidata/api_client/models/potential_validation_rapid_paged_result.py +105 -0
- rapidata/api_client/models/potential_validation_rapid_truth.py +280 -0
- rapidata/api_client/models/preliminary_download_model.py +5 -5
- rapidata/api_client/models/preview_order_model.py +92 -0
- rapidata/api_client/models/probabilistic_attach_category_referee_info.py +98 -0
- rapidata/api_client/models/problem_details.py +2 -20
- rapidata/api_client/models/prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/prompt_asset_metadata_input_asset.py +154 -0
- rapidata/api_client/models/prompt_by_benchmark_result.py +112 -0
- rapidata/api_client/models/prompt_by_benchmark_result_paged_result.py +105 -0
- rapidata/api_client/models/prompt_by_leaderboard_result.py +90 -0
- rapidata/api_client/models/prompt_by_leaderboard_result_paged_result.py +105 -0
- rapidata/api_client/models/prompt_metadata.py +12 -1
- rapidata/api_client/models/prompt_metadata_input.py +2 -2
- rapidata/api_client/models/prompt_type.py +38 -0
- rapidata/api_client/models/proxy_file_wrapper.py +129 -0
- rapidata/api_client/models/public_order_model.py +2 -2
- rapidata/api_client/models/public_rapid_response.py +112 -0
- rapidata/api_client/models/query_audiences_result.py +118 -0
- rapidata/api_client/models/query_datapoints_by_dataset_id_result.py +95 -0
- rapidata/api_client/models/query_job_definitions_result.py +97 -0
- rapidata/api_client/models/query_job_revisions_result.py +95 -0
- rapidata/api_client/models/query_jobs_result.py +103 -0
- rapidata/api_client/models/query_model.py +10 -5
- rapidata/api_client/models/query_rapids_for_audience_result.py +150 -0
- rapidata/api_client/models/query_validation_model.py +97 -0
- rapidata/api_client/models/query_validation_rapid_eligibility_model_query_validation_model.py +107 -0
- rapidata/api_client/models/query_validation_rapid_eligibility_result.py +103 -0
- rapidata/api_client/models/query_validation_rapid_eligibility_result_truth.py +280 -0
- rapidata/api_client/models/rapid_issue.py +2 -2
- rapidata/api_client/models/rapid_modality.py +46 -0
- rapidata/api_client/models/rapid_model.py +157 -0
- rapidata/api_client/models/rapid_model_paged_result.py +105 -0
- rapidata/api_client/models/rapid_model_referee.py +154 -0
- rapidata/api_client/models/rapid_result_model.py +7 -7
- rapidata/api_client/models/rapid_skipped_model.py +5 -5
- rapidata/api_client/models/rapid_state.py +3 -2
- rapidata/api_client/models/read_bridge_token_keys_result.py +10 -24
- rapidata/api_client/models/reference_asset_input.py +100 -0
- rapidata/api_client/models/report_model.py +9 -15
- rapidata/api_client/models/response_count_filter.py +103 -0
- rapidata/api_client/models/response_count_user_filter_model.py +2 -8
- rapidata/api_client/models/retrieval_mode.py +2 -2
- rapidata/api_client/models/root_filter.py +5 -14
- rapidata/api_client/models/run_status.py +39 -0
- rapidata/api_client/models/runs_by_leaderboard_result.py +104 -0
- rapidata/api_client/models/runs_by_leaderboard_result_paged_result.py +105 -0
- rapidata/api_client/models/sample_by_identifier.py +125 -0
- rapidata/api_client/models/sample_by_identifier_paged_result.py +105 -0
- rapidata/api_client/models/sample_by_participant.py +121 -0
- rapidata/api_client/models/sample_by_participant_paged_result.py +105 -0
- rapidata/api_client/models/scrub_range.py +2 -2
- rapidata/api_client/models/send_survey_model.py +87 -0
- rapidata/api_client/models/simple_workflow_config.py +15 -7
- rapidata/api_client/models/simple_workflow_config_blueprint.py +37 -23
- rapidata/api_client/models/simple_workflow_config_model.py +11 -3
- rapidata/api_client/models/simple_workflow_model.py +14 -4
- rapidata/api_client/models/simple_workflow_model1.py +4 -11
- rapidata/api_client/models/simple_workflow_model_blueprint.py +1 -1
- rapidata/api_client/models/sort_criterion.py +5 -11
- rapidata/api_client/models/sort_direction.py +2 -2
- rapidata/api_client/models/source_url_metadata.py +12 -1
- rapidata/api_client/models/standing_by_benchmark.py +113 -0
- rapidata/api_client/models/standing_by_leaderboard.py +113 -0
- rapidata/api_client/models/standing_by_leaderboard_paged_result.py +105 -0
- rapidata/api_client/models/standing_status.py +38 -0
- rapidata/api_client/models/standings_by_benchmark_result.py +95 -0
- rapidata/api_client/models/standings_by_leaderboard_result.py +95 -0
- rapidata/api_client/models/start_preliminary_download_result.py +87 -0
- rapidata/api_client/models/sticky_state.py +3 -2
- rapidata/api_client/models/stream_file_wrapper.py +138 -0
- rapidata/api_client/models/streams_metadata.py +113 -0
- rapidata/api_client/models/streams_metadata_model.py +100 -0
- rapidata/api_client/models/string_segment.py +105 -0
- rapidata/api_client/models/submit_coco_model.py +1 -3
- rapidata/api_client/models/submit_order_model.py +92 -0
- rapidata/api_client/models/submit_participant_result.py +89 -0
- rapidata/api_client/models/submit_prompt_model.py +107 -0
- rapidata/api_client/models/submit_prompt_model_prompt_asset.py +202 -0
- rapidata/api_client/models/tags_by_benchmark_result.py +87 -0
- rapidata/api_client/models/text_asset.py +15 -10
- rapidata/api_client/models/text_asset_input.py +120 -0
- rapidata/api_client/models/text_metadata.py +18 -2
- rapidata/api_client/models/text_metadata_input.py +111 -0
- rapidata/api_client/models/text_metadata_model.py +7 -2
- rapidata/api_client/models/transcription_metadata.py +9 -1
- rapidata/api_client/models/transcription_metadata_input.py +2 -2
- rapidata/api_client/models/transcription_word.py +2 -2
- rapidata/api_client/models/translated_string.py +2 -2
- rapidata/api_client/models/unlock_order_result.py +2 -2
- rapidata/api_client/models/update_access_model.py +1 -1
- rapidata/api_client/models/update_audience_request.py +113 -0
- rapidata/api_client/models/update_benchmark_model.py +99 -0
- rapidata/api_client/models/update_benchmark_name_model.py +87 -0
- rapidata/api_client/models/update_campaign_model.py +11 -11
- rapidata/api_client/models/update_dataset_name_model.py +5 -5
- rapidata/api_client/models/update_dimensions_model.py +3 -3
- rapidata/api_client/models/update_job_definition_endpoint_input.py +92 -0
- rapidata/api_client/models/update_job_endpoint_input.py +92 -0
- rapidata/api_client/models/update_leaderboard_model.py +106 -0
- rapidata/api_client/models/update_leaderboard_name_model.py +87 -0
- rapidata/api_client/models/update_leaderboard_response_config_model.py +89 -0
- rapidata/api_client/models/update_order_name_model.py +5 -5
- rapidata/api_client/models/update_participant_model.py +92 -0
- rapidata/api_client/models/update_participant_name_model.py +87 -0
- rapidata/api_client/models/update_priority_model.py +87 -0
- rapidata/api_client/models/update_prompt_tags_model.py +87 -0
- rapidata/api_client/models/update_should_alert_model.py +87 -0
- rapidata/api_client/models/update_validation_rapid_model.py +28 -12
- rapidata/api_client/models/update_validation_rapid_model_context_asset.py +160 -0
- rapidata/api_client/models/update_validation_rapid_model_truth.py +26 -12
- rapidata/api_client/models/update_validation_set_model.py +120 -0
- rapidata/api_client/models/upload_asset_result.py +102 -0
- rapidata/api_client/models/upload_file_from_url_result.py +87 -0
- rapidata/api_client/models/upload_file_result.py +87 -0
- rapidata/api_client/models/upload_files_from_s3_bucket_model.py +12 -2
- rapidata/api_client/models/upload_text_sources_to_dataset_model.py +3 -3
- rapidata/api_client/models/url_asset_input.py +100 -0
- rapidata/api_client/models/user_action_restriction.py +37 -0
- rapidata/api_client/models/user_action_restriction_filter.py +101 -0
- rapidata/api_client/models/user_score_filter.py +102 -0
- rapidata/api_client/models/user_state.py +38 -0
- rapidata/api_client/models/user_state_filter.py +101 -0
- rapidata/api_client/models/validation_chance.py +20 -3
- rapidata/api_client/models/validation_problem_details.py +117 -0
- rapidata/api_client/models/validation_set_model.py +39 -5
- rapidata/api_client/models/validation_set_overview_model.py +2 -2
- rapidata/api_client/models/validation_set_validation_set_id_rapid_post_payload_parameter.py +252 -0
- rapidata/api_client/models/validation_set_validation_set_id_rapid_post_truth_parameter.py +280 -0
- rapidata/api_client/models/validation_set_zip_post_request_blueprint.py +252 -0
- rapidata/api_client/models/video_duration_metadata.py +109 -0
- rapidata/api_client/models/video_duration_metadata_model.py +96 -0
- rapidata/api_client/models/vote_matrix_result.py +91 -0
- rapidata/api_client/models/workflow_aggregation_step_model.py +3 -12
- rapidata/api_client/models/workflow_config_artifact_model_workflow_config.py +23 -9
- rapidata/api_client/models/workflow_state.py +2 -2
- rapidata/api_client/models/zip_entry_file_wrapper.py +151 -0
- rapidata/api_client/rest.py +2 -2
- rapidata/api_client_README.md +469 -309
- rapidata/rapidata_client/__init__.py +23 -22
- rapidata/rapidata_client/api/rapidata_api_client.py +253 -0
- rapidata/rapidata_client/audience/__init__.py +2 -0
- rapidata/rapidata_client/audience/audience_example_handler.py +168 -0
- rapidata/rapidata_client/audience/rapidata_audience.py +287 -0
- rapidata/rapidata_client/audience/rapidata_audience_manager.py +162 -0
- rapidata/rapidata_client/benchmark/__init__.py +0 -0
- rapidata/rapidata_client/benchmark/_detail_mapper.py +34 -0
- rapidata/rapidata_client/benchmark/leaderboard/__init__.py +0 -0
- rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py +257 -0
- rapidata/rapidata_client/benchmark/participant/__init__.py +0 -0
- rapidata/rapidata_client/benchmark/participant/_participant.py +146 -0
- rapidata/rapidata_client/benchmark/rapidata_benchmark.py +592 -0
- rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py +216 -0
- rapidata/rapidata_client/config/__init__.py +4 -0
- rapidata/rapidata_client/config/logger.py +135 -0
- rapidata/rapidata_client/config/logging_config.py +55 -0
- rapidata/rapidata_client/config/managed_print.py +6 -0
- rapidata/rapidata_client/config/order_config.py +14 -0
- rapidata/rapidata_client/config/rapidata_config.py +36 -0
- rapidata/rapidata_client/config/tracer.py +184 -0
- rapidata/rapidata_client/config/upload_config.py +64 -0
- rapidata/rapidata_client/datapoints/__init__.py +8 -0
- rapidata/rapidata_client/datapoints/_asset_uploader.py +194 -0
- rapidata/rapidata_client/datapoints/_datapoint.py +92 -0
- rapidata/rapidata_client/datapoints/_datapoint_uploader.py +47 -0
- rapidata/rapidata_client/datapoints/_datapoints_validator.py +70 -0
- rapidata/rapidata_client/datapoints/_single_flight_cache.py +82 -0
- rapidata/rapidata_client/datapoints/assets/__init__.py +0 -0
- rapidata/rapidata_client/datapoints/assets/constants.py +7 -0
- rapidata/rapidata_client/{metadata → datapoints/metadata}/__init__.py +1 -1
- rapidata/rapidata_client/datapoints/metadata/_private_text_metadata.py +16 -0
- rapidata/rapidata_client/datapoints/metadata/_prompt_identifier_metadata.py +14 -0
- rapidata/rapidata_client/datapoints/metadata/_public_text_metadata.py +16 -0
- rapidata/rapidata_client/{metadata → datapoints/metadata}/_select_words_metadata.py +4 -5
- rapidata/rapidata_client/dataset/__init__.py +1 -0
- rapidata/rapidata_client/dataset/_rapidata_dataset.py +55 -0
- rapidata/rapidata_client/demographic/demographic_manager.py +44 -19
- rapidata/rapidata_client/exceptions/__init__.py +1 -0
- rapidata/rapidata_client/exceptions/failed_upload_exception.py +27 -0
- rapidata/rapidata_client/filter/__init__.py +3 -0
- rapidata/rapidata_client/filter/_backend_filter_mapper.py +134 -0
- rapidata/rapidata_client/filter/_base_filter.py +58 -2
- rapidata/rapidata_client/filter/age_filter.py +26 -10
- rapidata/rapidata_client/filter/and_filter.py +55 -0
- rapidata/rapidata_client/filter/campaign_filter.py +21 -10
- rapidata/rapidata_client/filter/country_filter.py +46 -12
- rapidata/rapidata_client/filter/custom_filter.py +25 -12
- rapidata/rapidata_client/filter/device_filter.py +38 -0
- rapidata/rapidata_client/filter/gender_filter.py +25 -10
- rapidata/rapidata_client/filter/language_filter.py +51 -21
- rapidata/rapidata_client/filter/models/age_group.py +14 -12
- rapidata/rapidata_client/filter/models/device_type.py +20 -0
- rapidata/rapidata_client/filter/models/gender.py +12 -8
- rapidata/rapidata_client/filter/new_user_filter.py +14 -4
- rapidata/rapidata_client/filter/not_filter.py +35 -11
- rapidata/rapidata_client/filter/or_filter.py +36 -11
- rapidata/rapidata_client/filter/rapidata_filters.py +30 -25
- rapidata/rapidata_client/filter/response_count_filter.py +51 -20
- rapidata/rapidata_client/filter/user_score_filter.py +62 -24
- rapidata/rapidata_client/job/__init__.py +3 -0
- rapidata/rapidata_client/job/job_definition.py +110 -0
- rapidata/rapidata_client/job/job_manager.py +758 -0
- rapidata/rapidata_client/job/rapidata_job.py +326 -0
- rapidata/rapidata_client/order/__init__.py +2 -0
- rapidata/rapidata_client/order/_rapidata_order_builder.py +286 -193
- rapidata/rapidata_client/order/rapidata_order.py +329 -153
- rapidata/rapidata_client/order/rapidata_order_manager.py +722 -420
- rapidata/rapidata_client/rapidata_client.py +130 -26
- rapidata/rapidata_client/referee/__init__.py +1 -1
- rapidata/rapidata_client/referee/_base_referee.py +14 -3
- rapidata/rapidata_client/referee/_early_stopping_referee.py +32 -17
- rapidata/rapidata_client/referee/_naive_referee.py +24 -3
- rapidata/rapidata_client/results/__init__.py +3 -0
- rapidata/rapidata_client/{order → results}/rapidata_results.py +98 -67
- rapidata/rapidata_client/selection/__init__.py +2 -1
- rapidata/rapidata_client/selection/_base_selection.py +9 -2
- rapidata/rapidata_client/selection/ab_test_selection.py +28 -20
- rapidata/rapidata_client/selection/capped_selection.py +23 -16
- rapidata/rapidata_client/selection/conditional_validation_selection.py +43 -24
- rapidata/rapidata_client/selection/demographic_selection.py +21 -6
- rapidata/rapidata_client/selection/effort_selection.py +49 -0
- rapidata/rapidata_client/selection/labeling_selection.py +36 -12
- rapidata/rapidata_client/selection/{retrieval_modes.py → rapidata_retrieval_modes.py} +10 -7
- rapidata/rapidata_client/selection/rapidata_selections.py +31 -21
- rapidata/rapidata_client/selection/shuffling_selection.py +21 -13
- rapidata/rapidata_client/selection/static_selection.py +20 -9
- rapidata/rapidata_client/selection/validation_selection.py +20 -4
- rapidata/rapidata_client/settings/__init__.py +4 -1
- rapidata/rapidata_client/settings/_rapidata_setting.py +22 -3
- rapidata/rapidata_client/settings/alert_on_fast_response.py +8 -5
- rapidata/rapidata_client/settings/allow_neither_both.py +17 -0
- rapidata/rapidata_client/settings/custom_setting.py +3 -2
- rapidata/rapidata_client/settings/free_text_minimum_characters.py +9 -4
- rapidata/rapidata_client/settings/models/translation_behaviour_options.py +3 -2
- rapidata/rapidata_client/settings/mute_video.py +15 -0
- rapidata/rapidata_client/settings/no_shuffle.py +4 -2
- rapidata/rapidata_client/settings/play_video_until_the_end.py +7 -4
- rapidata/rapidata_client/settings/rapidata_settings.py +28 -16
- rapidata/rapidata_client/settings/swap_context_instruction.py +20 -0
- rapidata/rapidata_client/settings/translation_behaviour.py +7 -5
- rapidata/rapidata_client/utils/__init__.py +3 -0
- rapidata/rapidata_client/utils/threaded_uploader.py +153 -0
- rapidata/rapidata_client/validation/__init__.py +2 -0
- rapidata/rapidata_client/validation/rapidata_validation_set.py +106 -12
- rapidata/rapidata_client/validation/rapids/__init__.py +2 -0
- rapidata/rapidata_client/validation/rapids/_validation_rapid_uploader.py +48 -0
- rapidata/rapidata_client/validation/rapids/box.py +37 -12
- rapidata/rapidata_client/validation/rapids/rapids.py +29 -104
- rapidata/rapidata_client/validation/rapids/rapids_manager.py +371 -214
- rapidata/rapidata_client/validation/validation_set_manager.py +529 -227
- rapidata/rapidata_client/workflow/__init__.py +2 -2
- rapidata/rapidata_client/workflow/_base_workflow.py +25 -7
- rapidata/rapidata_client/workflow/_classify_workflow.py +58 -15
- rapidata/rapidata_client/workflow/_compare_workflow.py +44 -9
- rapidata/rapidata_client/workflow/_draw_workflow.py +40 -10
- rapidata/rapidata_client/workflow/_evaluation_workflow.py +28 -7
- rapidata/rapidata_client/workflow/_free_text_workflow.py +46 -9
- rapidata/rapidata_client/workflow/_locate_workflow.py +40 -10
- rapidata/rapidata_client/workflow/_multi_ranking_workflow.py +90 -0
- rapidata/rapidata_client/workflow/_select_words_workflow.py +51 -11
- rapidata/rapidata_client/workflow/_timestamp_workflow.py +42 -11
- rapidata/service/__init__.py +0 -1
- rapidata/service/credential_manager.py +18 -18
- rapidata/service/openapi_service.py +128 -28
- rapidata/types/__init__.py +149 -0
- rapidata-3.0.1.dist-info/METADATA +32 -0
- rapidata-3.0.1.dist-info/RECORD +1089 -0
- {rapidata-2.23.2.dist-info → rapidata-3.0.1.dist-info}/WHEEL +1 -1
- rapidata/rapidata_client/api/rapidata_exception.py +0 -107
- rapidata/rapidata_client/assets/__init__.py +0 -10
- rapidata/rapidata_client/assets/_base_asset.py +0 -11
- rapidata/rapidata_client/assets/_media_asset.py +0 -306
- rapidata/rapidata_client/assets/_multi_asset.py +0 -66
- rapidata/rapidata_client/assets/_sessions.py +0 -35
- rapidata/rapidata_client/assets/_text_asset.py +0 -34
- rapidata/rapidata_client/assets/data_type_enum.py +0 -7
- rapidata/rapidata_client/country_codes/__init__.py +0 -1
- rapidata/rapidata_client/country_codes/country_codes.py +0 -19
- rapidata/rapidata_client/logging/__init__.py +0 -2
- rapidata/rapidata_client/logging/logger.py +0 -47
- rapidata/rapidata_client/logging/output_manager.py +0 -16
- rapidata/rapidata_client/metadata/_private_text_metadata.py +0 -17
- rapidata/rapidata_client/metadata/_prompt_metadata.py +0 -18
- rapidata/rapidata_client/metadata/_public_text_metadata.py +0 -17
- rapidata/rapidata_client/order/_rapidata_dataset.py +0 -443
- rapidata/rapidata_client/workflow/_ranking_workflow.py +0 -51
- rapidata/service/local_file_service.py +0 -25
- rapidata-2.23.2.dist-info/METADATA +0 -34
- rapidata-2.23.2.dist-info/RECORD +0 -523
- /rapidata/rapidata_client/{metadata → datapoints/metadata}/_base_metadata.py +0 -0
- {rapidata-2.23.2.dist-info → rapidata-3.0.1.dist-info/licenses}/LICENSE +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
from rapidata.rapidata_client.datapoints._datapoint import Datapoint
|
|
2
|
+
from rapidata.service.openapi_service import OpenAPIService
|
|
3
|
+
from rapidata.rapidata_client.config import logger
|
|
4
|
+
from rapidata.rapidata_client.datapoints._datapoint_uploader import DatapointUploader
|
|
5
|
+
from rapidata.rapidata_client.utils.threaded_uploader import ThreadedUploader
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class RapidataDataset:
|
|
9
|
+
def __init__(self, dataset_id: str, openapi_service: OpenAPIService):
|
|
10
|
+
self.id = dataset_id
|
|
11
|
+
self.openapi_service = openapi_service
|
|
12
|
+
self.datapoint_uploader = DatapointUploader(openapi_service)
|
|
13
|
+
|
|
14
|
+
def add_datapoints(
|
|
15
|
+
self,
|
|
16
|
+
datapoints: list[Datapoint],
|
|
17
|
+
) -> tuple[list[Datapoint], list[Datapoint]]:
|
|
18
|
+
"""
|
|
19
|
+
Process uploads in chunks with a ThreadPoolExecutor.
|
|
20
|
+
|
|
21
|
+
Args:
|
|
22
|
+
datapoints: List of datapoints to upload
|
|
23
|
+
|
|
24
|
+
Returns:
|
|
25
|
+
tuple[list[Datapoint], list[Datapoint]]: Lists of successful and failed uploads
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
def upload_single_datapoint(datapoint: Datapoint, index: int) -> None:
|
|
29
|
+
self.datapoint_uploader.upload_datapoint(
|
|
30
|
+
dataset_id=self.id,
|
|
31
|
+
datapoint=datapoint,
|
|
32
|
+
index=index,
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
uploader: ThreadedUploader[Datapoint] = ThreadedUploader(
|
|
36
|
+
upload_fn=upload_single_datapoint,
|
|
37
|
+
description="Uploading datapoints",
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
successful_uploads, failed_uploads = uploader.upload(datapoints)
|
|
41
|
+
|
|
42
|
+
if failed_uploads:
|
|
43
|
+
logger.error(
|
|
44
|
+
"Upload failed for %s datapoints: %s",
|
|
45
|
+
len(failed_uploads),
|
|
46
|
+
failed_uploads,
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
return successful_uploads, failed_uploads
|
|
50
|
+
|
|
51
|
+
def __str__(self) -> str:
|
|
52
|
+
return f"RapidataDataset(id={self.id})"
|
|
53
|
+
|
|
54
|
+
def __repr__(self) -> str:
|
|
55
|
+
return self.__str__()
|
|
@@ -1,29 +1,54 @@
|
|
|
1
1
|
from rapidata.service.openapi_service import OpenAPIService
|
|
2
|
-
from rapidata.rapidata_client.
|
|
3
|
-
from rapidata.
|
|
4
|
-
|
|
5
|
-
from rapidata.rapidata_client.logging import logger
|
|
2
|
+
from rapidata.rapidata_client.config import logger
|
|
3
|
+
from rapidata.rapidata_client.datapoints._asset_uploader import AssetUploader
|
|
4
|
+
|
|
6
5
|
|
|
7
6
|
class DemographicManager:
|
|
8
7
|
def __init__(self, openapi_service: OpenAPIService):
|
|
9
8
|
self._openapi_service = openapi_service
|
|
9
|
+
self._asset_uploader = AssetUploader(openapi_service)
|
|
10
10
|
logger.debug("DemographicManager initialized")
|
|
11
|
-
|
|
12
|
-
def create_demographic_rapid(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
|
|
12
|
+
def create_demographic_rapid(
|
|
13
|
+
self, instruction: str, answer_options: list[str], datapoint: str, key: str
|
|
14
|
+
):
|
|
15
|
+
from rapidata.api_client.models.classify_payload import ClassifyPayload
|
|
16
|
+
from rapidata.api_client.models.classify_payload_category import (
|
|
17
|
+
ClassifyPayloadCategory,
|
|
18
|
+
)
|
|
19
|
+
from rapidata.api_client.models.create_demographic_rapid_model import (
|
|
20
|
+
CreateDemographicRapidModel,
|
|
21
|
+
)
|
|
22
|
+
from rapidata.api_client.models.i_asset_input import IAssetInput
|
|
23
|
+
from rapidata.api_client.models.i_asset_input_existing_asset_input import (
|
|
24
|
+
IAssetInputExistingAssetInput,
|
|
25
|
+
)
|
|
26
|
+
|
|
19
27
|
model = CreateDemographicRapidModel(
|
|
20
28
|
key=key,
|
|
21
29
|
payload=ClassifyPayload(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
30
|
+
categories=[
|
|
31
|
+
ClassifyPayloadCategory(label=option, value=option)
|
|
32
|
+
for option in answer_options
|
|
33
|
+
],
|
|
34
|
+
title=instruction,
|
|
35
|
+
),
|
|
36
|
+
asset=IAssetInput(
|
|
37
|
+
actual_instance=IAssetInputExistingAssetInput(
|
|
38
|
+
_t="ExistingAssetInput",
|
|
39
|
+
name=self._asset_uploader.upload_asset(datapoint),
|
|
40
|
+
),
|
|
41
|
+
),
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
result = self._openapi_service.rapid_api.rapid_demographic_post(
|
|
45
|
+
create_demographic_rapid_model=model
|
|
26
46
|
)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
47
|
+
logger.info(f"Demographic Rapid created: {result.rapid_id}")
|
|
48
|
+
return result.rapid_id
|
|
49
|
+
|
|
50
|
+
def __str__(self) -> str:
|
|
51
|
+
return "DemographicManager"
|
|
52
|
+
|
|
53
|
+
def __repr__(self) -> str:
|
|
54
|
+
return self.__str__()
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .failed_upload_exception import FailedUploadException
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from rapidata.rapidata_client.datapoints._datapoint import Datapoint
|
|
3
|
+
from typing import TYPE_CHECKING, Optional
|
|
4
|
+
|
|
5
|
+
if TYPE_CHECKING:
|
|
6
|
+
from rapidata.rapidata_client.dataset._rapidata_dataset import RapidataDataset
|
|
7
|
+
from rapidata.rapidata_client.job.job_definition import JobDefinition
|
|
8
|
+
from rapidata.rapidata_client.order.rapidata_order import RapidataOrder
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class FailedUploadException(Exception):
|
|
12
|
+
"""Custom error class for Failed Uploads to the Rapidata order."""
|
|
13
|
+
|
|
14
|
+
def __init__(
|
|
15
|
+
self,
|
|
16
|
+
dataset: RapidataDataset,
|
|
17
|
+
failed_uploads: list[Datapoint],
|
|
18
|
+
order: Optional[RapidataOrder] = None,
|
|
19
|
+
job: Optional[JobDefinition] = None,
|
|
20
|
+
):
|
|
21
|
+
self.dataset = dataset
|
|
22
|
+
self.order = order
|
|
23
|
+
self.job = job
|
|
24
|
+
self.failed_uploads = failed_uploads
|
|
25
|
+
|
|
26
|
+
def __str__(self) -> str:
|
|
27
|
+
return f"Failed to upload {self.failed_uploads}"
|
|
@@ -8,5 +8,8 @@ from .user_score_filter import UserScoreFilter
|
|
|
8
8
|
from .custom_filter import CustomFilter
|
|
9
9
|
from .not_filter import NotFilter
|
|
10
10
|
from .or_filter import OrFilter
|
|
11
|
+
from .and_filter import AndFilter
|
|
11
12
|
from .response_count_filter import ResponseCountFilter
|
|
12
13
|
from .new_user_filter import NewUserFilter
|
|
14
|
+
from .device_filter import DeviceFilter
|
|
15
|
+
from .models.device_type import DeviceType
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import Any, TYPE_CHECKING
|
|
4
|
+
|
|
5
|
+
if TYPE_CHECKING:
|
|
6
|
+
from rapidata.api_client.models.i_audience_filter import (
|
|
7
|
+
IAudienceFilter,
|
|
8
|
+
)
|
|
9
|
+
from rapidata.rapidata_client.filter._base_filter import RapidataFilter
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class BackendFilterMapper:
|
|
13
|
+
"""Maps backend API filter models to client-side RapidataFilter instances."""
|
|
14
|
+
|
|
15
|
+
# Cache for imported modules to avoid repeated imports
|
|
16
|
+
_imported_backend_filters: dict[str, Any] = {}
|
|
17
|
+
_imported_client_filters: dict[str, Any] = {}
|
|
18
|
+
|
|
19
|
+
@classmethod
|
|
20
|
+
def _ensure_backend_filters_imported(cls) -> None:
|
|
21
|
+
"""Lazy import all backend filter models."""
|
|
22
|
+
if cls._imported_backend_filters:
|
|
23
|
+
return
|
|
24
|
+
|
|
25
|
+
from rapidata.api_client.models.i_audience_filter_and_audience_filter import (
|
|
26
|
+
IAudienceFilterAndAudienceFilter,
|
|
27
|
+
)
|
|
28
|
+
from rapidata.api_client.models.i_audience_filter_or_audience_filter import (
|
|
29
|
+
IAudienceFilterOrAudienceFilter,
|
|
30
|
+
)
|
|
31
|
+
from rapidata.api_client.models.i_audience_filter_not_audience_filter import (
|
|
32
|
+
IAudienceFilterNotAudienceFilter,
|
|
33
|
+
)
|
|
34
|
+
from rapidata.api_client.models.i_audience_filter_country_audience_filter import (
|
|
35
|
+
IAudienceFilterCountryAudienceFilter,
|
|
36
|
+
)
|
|
37
|
+
from rapidata.api_client.models.i_audience_filter_language_audience_filter import (
|
|
38
|
+
IAudienceFilterLanguageAudienceFilter,
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
cls._imported_backend_filters = {
|
|
42
|
+
"AndAudienceFilter": IAudienceFilterAndAudienceFilter,
|
|
43
|
+
"OrAudienceFilter": IAudienceFilterOrAudienceFilter,
|
|
44
|
+
"NotAudienceFilter": IAudienceFilterNotAudienceFilter,
|
|
45
|
+
"CountryAudienceFilter": IAudienceFilterCountryAudienceFilter,
|
|
46
|
+
"LanguageAudienceFilter": IAudienceFilterLanguageAudienceFilter,
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@classmethod
|
|
50
|
+
def _ensure_client_filters_imported(cls) -> None:
|
|
51
|
+
"""Lazy import all client filter models."""
|
|
52
|
+
if cls._imported_client_filters:
|
|
53
|
+
return
|
|
54
|
+
|
|
55
|
+
from rapidata.rapidata_client.filter.and_filter import AndFilter
|
|
56
|
+
from rapidata.rapidata_client.filter.country_filter import CountryFilter
|
|
57
|
+
from rapidata.rapidata_client.filter.language_filter import LanguageFilter
|
|
58
|
+
from rapidata.rapidata_client.filter.not_filter import NotFilter
|
|
59
|
+
from rapidata.rapidata_client.filter.or_filter import OrFilter
|
|
60
|
+
|
|
61
|
+
cls._imported_client_filters = {
|
|
62
|
+
"AndFilter": AndFilter,
|
|
63
|
+
"CountryFilter": CountryFilter,
|
|
64
|
+
"LanguageFilter": LanguageFilter,
|
|
65
|
+
"NotFilter": NotFilter,
|
|
66
|
+
"OrFilter": OrFilter,
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
@classmethod
|
|
70
|
+
def backend_filter_from_rapidata_filter(
|
|
71
|
+
cls, filter: IAudienceFilter
|
|
72
|
+
) -> RapidataFilter:
|
|
73
|
+
"""Convert a backend API filter model to a client-side RapidataFilter instance.
|
|
74
|
+
|
|
75
|
+
Args:
|
|
76
|
+
filter: Backend API filter wrapped in IAudienceFilter
|
|
77
|
+
|
|
78
|
+
Returns:
|
|
79
|
+
RapidataFilter: Client-side filter instance
|
|
80
|
+
"""
|
|
81
|
+
cls._ensure_backend_filters_imported()
|
|
82
|
+
cls._ensure_client_filters_imported()
|
|
83
|
+
|
|
84
|
+
actual_instance = filter.actual_instance
|
|
85
|
+
if actual_instance is None:
|
|
86
|
+
raise ValueError("Filter actual_instance is None")
|
|
87
|
+
|
|
88
|
+
# Import backend models for isinstance checks
|
|
89
|
+
BackendAndAudienceFilter = cls._imported_backend_filters["AndAudienceFilter"]
|
|
90
|
+
BackendOrAudienceFilter = cls._imported_backend_filters["OrAudienceFilter"]
|
|
91
|
+
BackendNotAudienceFilter = cls._imported_backend_filters["NotAudienceFilter"]
|
|
92
|
+
BackendCountryAudienceFilter = cls._imported_backend_filters[
|
|
93
|
+
"CountryAudienceFilter"
|
|
94
|
+
]
|
|
95
|
+
BackendLanguageAudienceFilter = cls._imported_backend_filters[
|
|
96
|
+
"LanguageAudienceFilter"
|
|
97
|
+
]
|
|
98
|
+
|
|
99
|
+
# Import client models
|
|
100
|
+
ClientAndFilter = cls._imported_client_filters["AndFilter"]
|
|
101
|
+
ClientOrFilter = cls._imported_client_filters["OrFilter"]
|
|
102
|
+
ClientNotFilter = cls._imported_client_filters["NotFilter"]
|
|
103
|
+
ClientCountryFilter = cls._imported_client_filters["CountryFilter"]
|
|
104
|
+
ClientLanguageFilter = cls._imported_client_filters["LanguageFilter"]
|
|
105
|
+
|
|
106
|
+
# Handle recursive filters (AndFilter, OrFilter, NotFilter)
|
|
107
|
+
if isinstance(actual_instance, BackendAndAudienceFilter):
|
|
108
|
+
return ClientAndFilter(
|
|
109
|
+
[
|
|
110
|
+
cls.backend_filter_from_rapidata_filter(child_filter)
|
|
111
|
+
for child_filter in actual_instance.filters # type: ignore[attr-defined]
|
|
112
|
+
]
|
|
113
|
+
)
|
|
114
|
+
elif isinstance(actual_instance, BackendOrAudienceFilter):
|
|
115
|
+
return ClientOrFilter(
|
|
116
|
+
[
|
|
117
|
+
cls.backend_filter_from_rapidata_filter(child_filter)
|
|
118
|
+
for child_filter in actual_instance.filters # type: ignore[attr-defined]
|
|
119
|
+
]
|
|
120
|
+
)
|
|
121
|
+
elif isinstance(actual_instance, BackendNotAudienceFilter):
|
|
122
|
+
return ClientNotFilter(
|
|
123
|
+
cls.backend_filter_from_rapidata_filter(actual_instance.filter) # type: ignore[attr-defined]
|
|
124
|
+
)
|
|
125
|
+
|
|
126
|
+
# Handle simple filters with straightforward mappings
|
|
127
|
+
elif isinstance(actual_instance, BackendCountryAudienceFilter):
|
|
128
|
+
return ClientCountryFilter(actual_instance.countries) # type: ignore[attr-defined]
|
|
129
|
+
elif isinstance(actual_instance, BackendLanguageAudienceFilter):
|
|
130
|
+
return ClientLanguageFilter(actual_instance.languages) # type: ignore[attr-defined]
|
|
131
|
+
|
|
132
|
+
else:
|
|
133
|
+
backend_type_name = type(actual_instance).__name__
|
|
134
|
+
raise ValueError(f"Unhandled filter type: {backend_type_name}")
|
|
@@ -1,10 +1,66 @@
|
|
|
1
1
|
from abc import abstractmethod
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
from rapidata.api_client.models.i_user_filter_model import IUserFilterModel
|
|
4
|
+
from rapidata.api_client.models.i_audience_filter import IAudienceFilter
|
|
3
5
|
|
|
4
6
|
|
|
5
7
|
class RapidataFilter:
|
|
6
8
|
"""The base class for all Rapidata Filters."""
|
|
7
9
|
|
|
8
10
|
@abstractmethod
|
|
9
|
-
def _to_model(self) ->
|
|
11
|
+
def _to_model(self) -> IUserFilterModel:
|
|
10
12
|
pass
|
|
13
|
+
|
|
14
|
+
def _to_audience_model(self) -> IAudienceFilter:
|
|
15
|
+
raise NotImplementedError("This filter is not supported for audiences")
|
|
16
|
+
|
|
17
|
+
def __or__(self, other):
|
|
18
|
+
"""Enable the | operator to create OrFilter combinations."""
|
|
19
|
+
if not isinstance(other, RapidataFilter):
|
|
20
|
+
return NotImplemented
|
|
21
|
+
|
|
22
|
+
from rapidata.rapidata_client.filter.or_filter import OrFilter
|
|
23
|
+
|
|
24
|
+
# If self is already an OrFilter, extend its filters list
|
|
25
|
+
if isinstance(self, OrFilter):
|
|
26
|
+
if isinstance(other, OrFilter):
|
|
27
|
+
return OrFilter(self.filters + other.filters)
|
|
28
|
+
else:
|
|
29
|
+
return OrFilter(self.filters + [other])
|
|
30
|
+
# If other is an OrFilter, prepend self to its filters
|
|
31
|
+
elif isinstance(other, OrFilter):
|
|
32
|
+
return OrFilter([self] + other.filters)
|
|
33
|
+
# Neither is an OrFilter, create a new one
|
|
34
|
+
else:
|
|
35
|
+
return OrFilter([self, other])
|
|
36
|
+
|
|
37
|
+
def __and__(self, other):
|
|
38
|
+
"""Enable the & operator to create AndFilter combinations."""
|
|
39
|
+
if not isinstance(other, RapidataFilter):
|
|
40
|
+
return NotImplemented
|
|
41
|
+
|
|
42
|
+
from rapidata.rapidata_client.filter.and_filter import AndFilter
|
|
43
|
+
|
|
44
|
+
# If self is already an AndFilter, extend its filters list
|
|
45
|
+
if isinstance(self, AndFilter):
|
|
46
|
+
if isinstance(other, AndFilter):
|
|
47
|
+
return AndFilter(self.filters + other.filters)
|
|
48
|
+
else:
|
|
49
|
+
return AndFilter(self.filters + [other])
|
|
50
|
+
# If other is an AndFilter, prepend self to its filters
|
|
51
|
+
elif isinstance(other, AndFilter):
|
|
52
|
+
return AndFilter([self] + other.filters)
|
|
53
|
+
# Neither is an AndFilter, create a new one
|
|
54
|
+
else:
|
|
55
|
+
return AndFilter([self, other])
|
|
56
|
+
|
|
57
|
+
def __invert__(self):
|
|
58
|
+
"""Enable the ~ operator to create NotFilter negations."""
|
|
59
|
+
from rapidata.rapidata_client.filter.not_filter import NotFilter
|
|
60
|
+
|
|
61
|
+
# If self is already a NotFilter, return the original filter (double negation)
|
|
62
|
+
if isinstance(self, NotFilter):
|
|
63
|
+
return self.filter
|
|
64
|
+
# Create a new NotFilter
|
|
65
|
+
else:
|
|
66
|
+
return NotFilter(filter=self)
|
|
@@ -1,23 +1,39 @@
|
|
|
1
|
-
from
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
2
3
|
from rapidata.rapidata_client.filter._base_filter import RapidataFilter
|
|
3
|
-
from rapidata.api_client.models.age_user_filter_model import AgeUserFilterModel
|
|
4
4
|
from rapidata.rapidata_client.filter.models.age_group import AgeGroup
|
|
5
|
+
from pydantic import BaseModel, ConfigDict
|
|
5
6
|
|
|
6
7
|
|
|
7
|
-
class AgeFilter(RapidataFilter):
|
|
8
|
+
class AgeFilter(RapidataFilter, BaseModel):
|
|
8
9
|
"""AgeFilter Class
|
|
9
|
-
|
|
10
|
+
|
|
10
11
|
Can be used to filter who to target based on age groups.
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
|
|
13
13
|
Args:
|
|
14
14
|
age_groups (list[AgeGroup]): List of age groups to filter by."""
|
|
15
15
|
|
|
16
|
+
model_config = ConfigDict(arbitrary_types_allowed=True)
|
|
17
|
+
|
|
18
|
+
age_groups: list[AgeGroup]
|
|
19
|
+
|
|
16
20
|
def __init__(self, age_groups: list[AgeGroup]):
|
|
17
|
-
|
|
21
|
+
super().__init__(age_groups=age_groups)
|
|
18
22
|
|
|
19
23
|
def _to_model(self):
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
24
|
+
from rapidata.api_client.models.i_user_filter_model import IUserFilterModel
|
|
25
|
+
from rapidata.api_client.models.i_user_filter_model_age_user_filter_model import (
|
|
26
|
+
IUserFilterModelAgeUserFilterModel,
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
return IUserFilterModel(
|
|
30
|
+
actual_instance=IUserFilterModelAgeUserFilterModel(
|
|
31
|
+
_t="AgeFilter",
|
|
32
|
+
ageGroups=[
|
|
33
|
+
age_group._to_backend_model() for age_group in self.age_groups
|
|
34
|
+
],
|
|
35
|
+
)
|
|
23
36
|
)
|
|
37
|
+
|
|
38
|
+
def _to_audience_model(self):
|
|
39
|
+
raise NotImplementedError("AgeFilter is not supported for audiences")
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from rapidata.rapidata_client.filter._base_filter import RapidataFilter
|
|
4
|
+
from pydantic import BaseModel, ConfigDict
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class AndFilter(RapidataFilter, BaseModel):
|
|
8
|
+
"""A filter that combines multiple filters with a logical AND operation.
|
|
9
|
+
This class implements a logical AND operation on a list of filters, where the condition is met if all of the filters' conditions are met.
|
|
10
|
+
|
|
11
|
+
Args:
|
|
12
|
+
filters (list[RapidataFilter]): A list of filters to be combined with AND.
|
|
13
|
+
|
|
14
|
+
Example:
|
|
15
|
+
```python
|
|
16
|
+
from rapidata import AndFilter, LanguageFilter, CountryFilter
|
|
17
|
+
|
|
18
|
+
AndFilter([LanguageFilter(["en"]), CountryFilter(["US"])])
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
This will match users who have their phone set to English AND are located in the United States.
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
model_config = ConfigDict(arbitrary_types_allowed=True)
|
|
25
|
+
|
|
26
|
+
filters: list[RapidataFilter]
|
|
27
|
+
|
|
28
|
+
def __init__(self, filters: list[RapidataFilter]):
|
|
29
|
+
super().__init__(filters=filters)
|
|
30
|
+
|
|
31
|
+
def _to_model(self):
|
|
32
|
+
from rapidata.api_client.models.i_user_filter_model import IUserFilterModel
|
|
33
|
+
from rapidata.api_client.models.i_user_filter_model_and_user_filter_model import (
|
|
34
|
+
IUserFilterModelAndUserFilterModel,
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
return IUserFilterModel(
|
|
38
|
+
actual_instance=IUserFilterModelAndUserFilterModel(
|
|
39
|
+
_t="AndFilter",
|
|
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_and_audience_filter import (
|
|
47
|
+
IAudienceFilterAndAudienceFilter,
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
return IAudienceFilter(
|
|
51
|
+
actual_instance=IAudienceFilterAndAudienceFilter(
|
|
52
|
+
_t="AndFilter",
|
|
53
|
+
filters=[filter._to_audience_model() for filter in self.filters],
|
|
54
|
+
),
|
|
55
|
+
)
|
|
@@ -1,26 +1,37 @@
|
|
|
1
|
-
from
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
2
3
|
from rapidata.rapidata_client.filter._base_filter import RapidataFilter
|
|
3
|
-
from
|
|
4
|
-
CampaignUserFilterModel,
|
|
5
|
-
)
|
|
4
|
+
from pydantic import BaseModel
|
|
6
5
|
|
|
7
6
|
|
|
8
|
-
class CampaignFilter(RapidataFilter):
|
|
7
|
+
class CampaignFilter(RapidataFilter, BaseModel):
|
|
9
8
|
"""CampaignFilter Class
|
|
10
9
|
|
|
11
10
|
Can be used to filter who to target based on campaign IDs.
|
|
12
11
|
|
|
13
12
|
This filter can only be used when directly in contact with Rapidata.
|
|
14
|
-
|
|
13
|
+
|
|
15
14
|
Args:
|
|
16
15
|
campaign_ids (list[str]): List of campaign IDs to filter by.
|
|
17
16
|
"""
|
|
18
17
|
|
|
18
|
+
campaign_ids: list[str]
|
|
19
|
+
|
|
19
20
|
def __init__(self, campaign_ids: list[str]):
|
|
20
|
-
|
|
21
|
+
super().__init__(campaign_ids=campaign_ids)
|
|
21
22
|
|
|
22
23
|
def _to_model(self):
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
from rapidata.api_client.models.i_user_filter_model import IUserFilterModel
|
|
25
|
+
from rapidata.api_client.models.i_user_filter_model_campaign_user_filter_model import (
|
|
26
|
+
IUserFilterModelCampaignUserFilterModel,
|
|
26
27
|
)
|
|
28
|
+
|
|
29
|
+
return IUserFilterModel(
|
|
30
|
+
actual_instance=IUserFilterModelCampaignUserFilterModel(
|
|
31
|
+
_t="CampaignFilter",
|
|
32
|
+
campaignIds=self.campaign_ids,
|
|
33
|
+
)
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
def _to_campaign_model(self):
|
|
37
|
+
raise NotImplementedError("CampaignFilter is not supported for audiences")
|
|
@@ -1,26 +1,60 @@
|
|
|
1
|
-
from
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
2
3
|
from rapidata.rapidata_client.filter._base_filter import RapidataFilter
|
|
3
|
-
from
|
|
4
|
+
from pydantic import BaseModel, field_validator
|
|
5
|
+
from rapidata.rapidata_client.config import logger
|
|
4
6
|
|
|
5
7
|
|
|
6
|
-
class CountryFilter(RapidataFilter):
|
|
8
|
+
class CountryFilter(RapidataFilter, BaseModel):
|
|
7
9
|
"""CountryFilter Class
|
|
8
10
|
|
|
9
11
|
Can be used to filter who to target based on country codes.
|
|
10
|
-
|
|
12
|
+
|
|
11
13
|
Args:
|
|
12
14
|
country_codes (list[str]): List of country codes (capitalized) to filter by.
|
|
13
15
|
"""
|
|
14
16
|
|
|
17
|
+
country_codes: list[str]
|
|
18
|
+
|
|
15
19
|
def __init__(self, country_codes: list[str]):
|
|
16
|
-
|
|
17
|
-
if not isinstance(country_codes, list):
|
|
18
|
-
raise ValueError("Country codes must be a list")
|
|
19
|
-
|
|
20
|
-
if not all([code.isupper() for code in country_codes]):
|
|
21
|
-
raise ValueError("Country codes must be uppercase")
|
|
20
|
+
super().__init__(country_codes=country_codes)
|
|
22
21
|
|
|
23
|
-
|
|
22
|
+
@field_validator("country_codes")
|
|
23
|
+
@classmethod
|
|
24
|
+
def validate_country_codes(cls, codes: list[str]) -> list[str]:
|
|
25
|
+
validated = []
|
|
26
|
+
for code in codes:
|
|
27
|
+
if len(code) != 2:
|
|
28
|
+
raise ValueError(
|
|
29
|
+
f"Country codes must be length 2. Invalid code: '{code}'"
|
|
30
|
+
)
|
|
31
|
+
if code != code.upper():
|
|
32
|
+
logger.warning(
|
|
33
|
+
f"Country code '{code}' should be uppercase. It will be uppercased automatically."
|
|
34
|
+
)
|
|
35
|
+
validated.append(code.upper())
|
|
36
|
+
return validated
|
|
24
37
|
|
|
25
38
|
def _to_model(self):
|
|
26
|
-
|
|
39
|
+
from rapidata.api_client.models.i_user_filter_model import IUserFilterModel
|
|
40
|
+
from rapidata.api_client.models.i_user_filter_model_country_user_filter_model import (
|
|
41
|
+
IUserFilterModelCountryUserFilterModel,
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
return IUserFilterModel(
|
|
45
|
+
actual_instance=IUserFilterModelCountryUserFilterModel(
|
|
46
|
+
_t="CountryFilter", countries=self.country_codes
|
|
47
|
+
)
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
def _to_audience_model(self):
|
|
51
|
+
from rapidata.api_client.models.i_audience_filter import IAudienceFilter
|
|
52
|
+
from rapidata.api_client.models.i_audience_filter_country_audience_filter import (
|
|
53
|
+
IAudienceFilterCountryAudienceFilter,
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
return IAudienceFilter(
|
|
57
|
+
actual_instance=IAudienceFilterCountryAudienceFilter(
|
|
58
|
+
_t="CountryFilter", countries=self.country_codes
|
|
59
|
+
)
|
|
60
|
+
)
|
|
@@ -1,29 +1,42 @@
|
|
|
1
|
-
from
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
2
3
|
from rapidata.rapidata_client.filter._base_filter import RapidataFilter
|
|
3
|
-
from
|
|
4
|
+
from pydantic import BaseModel
|
|
4
5
|
|
|
5
6
|
|
|
6
|
-
class CustomFilter(RapidataFilter):
|
|
7
|
+
class CustomFilter(RapidataFilter, BaseModel):
|
|
7
8
|
"""CustomFilter Class
|
|
8
9
|
|
|
9
10
|
Can be used to filter who to target based on custom filters.
|
|
10
11
|
|
|
11
|
-
Ought to be used with contact to Rapidata.
|
|
12
|
-
|
|
12
|
+
Ought to be used with contact to Rapidata.
|
|
13
|
+
|
|
13
14
|
Warning: If identifier does not exist, order will not get any responses.
|
|
14
|
-
|
|
15
|
+
|
|
15
16
|
Args:
|
|
16
17
|
identifier (str): Identifier of the custom filter.
|
|
17
18
|
values (list[str]): List of values to filter by.
|
|
18
19
|
"""
|
|
19
20
|
|
|
21
|
+
identifier: str
|
|
22
|
+
values: list[str]
|
|
23
|
+
|
|
20
24
|
def __init__(self, identifier: str, values: list[str]):
|
|
21
|
-
|
|
22
|
-
self.values = values
|
|
25
|
+
super().__init__(identifier=identifier, values=values)
|
|
23
26
|
|
|
24
27
|
def _to_model(self):
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
values=self.values,
|
|
28
|
+
from rapidata.api_client.models.i_user_filter_model import IUserFilterModel
|
|
29
|
+
from rapidata.api_client.models.i_user_filter_model_custom_user_filter_model import (
|
|
30
|
+
IUserFilterModelCustomUserFilterModel,
|
|
29
31
|
)
|
|
32
|
+
|
|
33
|
+
return IUserFilterModel(
|
|
34
|
+
actual_instance=IUserFilterModelCustomUserFilterModel(
|
|
35
|
+
_t="CustomFilter",
|
|
36
|
+
identifier=self.identifier,
|
|
37
|
+
values=self.values,
|
|
38
|
+
)
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
def _to_audience_model(self):
|
|
42
|
+
raise NotImplementedError("CustomFilter cannot be used in campaigns")
|