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.
- rapidata/__init__.py +23 -15
- rapidata/api_client/__init__.py +84 -427
- rapidata/api_client/api/__init__.py +5 -2
- rapidata/api_client/api/asset_api.py +853 -0
- rapidata/api_client/api/audience_api.py +2505 -0
- rapidata/api_client/api/benchmark_api.py +618 -253
- rapidata/api_client/api/campaign_api.py +322 -32
- rapidata/api_client/api/client_api.py +38 -33
- rapidata/api_client/api/compare_workflow_api.py +11 -10
- rapidata/api_client/api/customer_rapid_api.py +119 -125
- rapidata/api_client/api/datapoint_api.py +8 -6
- rapidata/api_client/api/dataset_api.py +240 -1516
- rapidata/api_client/api/evaluation_workflow_api.py +29 -82
- rapidata/api_client/api/feedback_api.py +11 -11
- rapidata/api_client/api/grouped_ranking_workflow_api.py +319 -0
- rapidata/api_client/api/identity_api.py +26 -300
- rapidata/api_client/api/job_api.py +3902 -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 +139 -2355
- rapidata/api_client/api/newsletter_api.py +20 -19
- rapidata/api_client/api/order_api.py +375 -91
- rapidata/api_client/api/participant_api.py +80 -118
- rapidata/api_client/api/pipeline_api.py +24 -607
- rapidata/api_client/api/prompt_api.py +11 -11
- rapidata/api_client/api/rapidata_identity_api_api.py +5 -4
- rapidata/api_client/api/sample_api.py +5 -4
- 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 +35 -31
- rapidata/api_client/api/validation_set_api.py +337 -2043
- rapidata/api_client/api/workflow_api.py +32 -26
- 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 -400
- rapidata/api_client/models/ab_test_selection_a_inner.py +1 -1
- 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 +34 -36
- 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_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/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_filters_inner.py +24 -10
- rapidata/api_client/models/are_rapids_active_result.py +2 -2
- rapidata/api_client/models/asset_metadata.py +2 -8
- 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 +5 -3
- rapidata/api_client/models/boost_leaderboard_model.py +5 -5
- rapidata/api_client/models/boost_query_result.py +4 -4
- 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/boosting_profile.py +91 -0
- rapidata/api_client/models/box_shape.py +4 -33
- rapidata/api_client/models/campaign_query_result.py +13 -5
- rapidata/api_client/models/campaign_status.py +2 -2
- rapidata/api_client/models/change_boost_model.py +5 -5
- 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 +25 -35
- rapidata/api_client/models/clients_query_result.py +5 -5
- rapidata/api_client/models/clone_order_model.py +4 -4
- rapidata/api_client/models/clone_order_result.py +9 -4
- rapidata/api_client/models/compare_workflow_config.py +19 -18
- rapidata/api_client/models/compare_workflow_config_context_asset.py +174 -0
- rapidata/api_client/models/compare_workflow_config_model.py +3 -3
- rapidata/api_client/models/compare_workflow_model.py +25 -7
- 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 +6 -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/create_audience_request.py +122 -0
- rapidata/api_client/models/create_audience_result.py +87 -0
- rapidata/api_client/models/create_benchmark_model.py +5 -5
- rapidata/api_client/models/create_benchmark_participant_model.py +5 -5
- rapidata/api_client/models/create_benchmark_participant_result.py +4 -4
- rapidata/api_client/models/create_benchmark_prompt_result.py +87 -0
- rapidata/api_client/models/create_benchmark_result.py +2 -2
- 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 +2 -2
- rapidata/api_client/models/create_customer_client_result.py +2 -2
- rapidata/api_client/models/create_datapoint_from_files_model.py +3 -3
- rapidata/api_client/models/create_datapoint_from_text_sources_model.py +3 -3
- rapidata/api_client/models/create_datapoint_from_urls_model.py +3 -3
- 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 +2 -2
- 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 +33 -10
- 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 +23 -26
- rapidata/api_client/models/create_leaderboard_result.py +2 -2
- 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 +33 -62
- 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 +2 -2
- rapidata/api_client/models/create_rapid_result.py +2 -2
- rapidata/api_client/models/create_sample_model.py +13 -7
- 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_model.py +3 -3
- rapidata/api_client/models/datapoint_state.py +2 -2
- rapidata/api_client/models/definition_type.py +49 -0
- rapidata/api_client/models/dynamic_client_registration_request.py +21 -36
- rapidata/api_client/models/early_stopping_referee_model.py +3 -3
- 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_model.py +4 -4
- 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 +2 -2
- rapidata/api_client/models/feedback_model.py +7 -7
- rapidata/api_client/models/file_asset.py +3 -5
- rapidata/api_client/models/file_asset_input_file.py +8 -22
- rapidata/api_client/models/file_asset_metadata_value.py +252 -0
- rapidata/api_client/models/file_asset_model_metadata_value.py +18 -88
- rapidata/api_client/models/file_stream_result.py +122 -0
- rapidata/api_client/models/file_type.py +2 -2
- rapidata/api_client/models/filter.py +2 -2
- rapidata/api_client/models/filter_operator.py +2 -2
- rapidata/api_client/models/fork_benchmark_result.py +87 -0
- rapidata/api_client/models/form_file_wrapper.py +17 -2
- 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_available_validation_sets_result.py +2 -2
- rapidata/api_client/models/get_benchmark_by_id_result.py +8 -4
- 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 +3 -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 +7 -12
- 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 +5 -5
- rapidata/api_client/models/get_order_by_id_result.py +12 -5
- rapidata/api_client/models/get_participant_by_id_result.py +4 -6
- 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 +5 -5
- rapidata/api_client/models/get_public_responses_result_response.py +112 -0
- rapidata/api_client/models/get_rapid_responses_result.py +3 -3
- rapidata/api_client/models/get_recommended_validation_set_result.py +2 -2
- 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 +7 -8
- rapidata/api_client/models/get_simple_workflow_results_model.py +20 -15
- rapidata/api_client/models/get_standing_by_id_result.py +3 -5
- rapidata/api_client/models/get_validation_rapids_result.py +29 -32
- 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 +2 -2
- rapidata/api_client/models/get_workflow_results_result.py +31 -14
- 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/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 +2 -36
- rapidata/api_client/models/json_web_key_set.py +2 -22
- rapidata/api_client/models/labeling_selection.py +9 -2
- 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/locate_coordinate.py +4 -13
- 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 +6 -6
- rapidata/api_client/models/multi_asset_assets_inner.py +170 -0
- rapidata/api_client/models/multi_asset_input.py +21 -1
- rapidata/api_client/models/multi_asset_input1_assets_inner.py +40 -12
- rapidata/api_client/models/multi_asset_input3_assets_inner.py +40 -12
- rapidata/api_client/models/multi_asset_input_assets_inner.py +16 -30
- rapidata/api_client/models/multi_asset_model.py +3 -3
- rapidata/api_client/models/naive_referee_model.py +2 -2
- rapidata/api_client/models/named_classification.py +4 -13
- rapidata/api_client/models/newsletter_model.py +6 -6
- rapidata/api_client/models/not_available_yet_result.py +4 -13
- rapidata/api_client/models/null_asset.py +3 -5
- 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/order_model.py +12 -5
- rapidata/api_client/models/order_state.py +2 -2
- 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 +3 -5
- rapidata/api_client/models/participant_status.py +2 -2
- 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/preliminary_download_model.py +5 -5
- rapidata/api_client/models/preview_order_model.py +5 -5
- rapidata/api_client/models/problem_details.py +2 -20
- rapidata/api_client/models/prompt_asset_metadata_input.py +4 -6
- rapidata/api_client/models/prompt_asset_metadata_input_asset.py +25 -41
- rapidata/api_client/models/prompt_by_benchmark_result.py +5 -5
- rapidata/api_client/models/prompt_metadata_input.py +5 -7
- rapidata/api_client/models/proxy_file_wrapper.py +17 -2
- rapidata/api_client/models/public_order_model.py +2 -2
- 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_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_model.py +30 -40
- 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 +2 -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 +7 -7
- rapidata/api_client/models/retrieval_mode.py +2 -2
- rapidata/api_client/models/root_filter.py +2 -2
- rapidata/api_client/models/run_status.py +2 -2
- rapidata/api_client/models/runs_by_leaderboard_result.py +3 -3
- rapidata/api_client/models/sample_by_identifier.py +7 -8
- rapidata/api_client/models/sample_by_participant.py +7 -8
- 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 +3 -3
- rapidata/api_client/models/simple_workflow_model.py +2 -2
- 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 +2 -2
- rapidata/api_client/models/sort_direction.py +2 -2
- rapidata/api_client/models/standing_by_benchmark.py +113 -0
- rapidata/api_client/models/standing_by_leaderboard.py +16 -12
- rapidata/api_client/models/standing_status.py +2 -2
- rapidata/api_client/models/standings_by_benchmark_result.py +95 -0
- rapidata/api_client/models/standings_by_leaderboard_result.py +2 -2
- 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 +25 -3
- rapidata/api_client/models/string_segment.py +105 -0
- rapidata/api_client/models/submit_order_model.py +5 -5
- rapidata/api_client/models/submit_participant_result.py +2 -2
- rapidata/api_client/models/submit_prompt_model.py +9 -14
- rapidata/api_client/models/submit_prompt_model_prompt_asset.py +40 -12
- rapidata/api_client/models/tags_by_benchmark_result.py +2 -2
- rapidata/api_client/models/text_asset.py +3 -5
- rapidata/api_client/models/text_asset_input.py +21 -1
- rapidata/api_client/models/text_metadata.py +6 -1
- 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_input.py +5 -7
- 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_audience_request.py +113 -0
- rapidata/api_client/models/update_benchmark_model.py +99 -0
- rapidata/api_client/models/update_benchmark_name_model.py +5 -5
- 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_leaderboard_model.py +18 -3
- rapidata/api_client/models/update_leaderboard_name_model.py +5 -5
- rapidata/api_client/models/update_leaderboard_response_config_model.py +5 -5
- 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 +5 -5
- rapidata/api_client/models/update_priority_model.py +87 -0
- rapidata/api_client/models/update_prompt_tags_model.py +5 -5
- rapidata/api_client/models/update_should_alert_model.py +4 -4
- rapidata/api_client/models/update_validation_rapid_model.py +35 -14
- rapidata/api_client/models/update_validation_rapid_model_context_asset.py +160 -0
- 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/user_action_restriction.py +37 -0
- rapidata/api_client/models/user_action_restriction_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 +11 -16
- rapidata/api_client/models/validation_set_overview_model.py +2 -2
- 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 +33 -2
- rapidata/api_client/rest.py +2 -2
- rapidata/api_client_README.md +371 -326
- rapidata/rapidata_client/__init__.py +14 -11
- rapidata/rapidata_client/api/{rapidata_exception.py → rapidata_api_client.py} +119 -2
- 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/_detail_mapper.py +11 -9
- rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py +98 -54
- rapidata/rapidata_client/benchmark/participant/_participant.py +57 -32
- rapidata/rapidata_client/benchmark/rapidata_benchmark.py +384 -246
- rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py +137 -81
- rapidata/rapidata_client/config/__init__.py +3 -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 +15 -10
- rapidata/rapidata_client/config/tracer.py +184 -0
- rapidata/rapidata_client/config/upload_config.py +64 -0
- rapidata/rapidata_client/datapoints/__init__.py +0 -3
- rapidata/rapidata_client/datapoints/_asset_uploader.py +184 -0
- rapidata/rapidata_client/datapoints/_datapoint.py +72 -176
- rapidata/rapidata_client/datapoints/_datapoint_uploader.py +47 -0
- rapidata/rapidata_client/datapoints/_datapoints_validator.py +70 -0
- rapidata/rapidata_client/datapoints/assets/__init__.py +0 -10
- rapidata/rapidata_client/datapoints/metadata/__init__.py +0 -2
- rapidata/rapidata_client/datapoints/metadata/_private_text_metadata.py +5 -6
- rapidata/rapidata_client/datapoints/metadata/_prompt_identifier_metadata.py +4 -5
- rapidata/rapidata_client/datapoints/metadata/_public_text_metadata.py +5 -6
- rapidata/rapidata_client/datapoints/metadata/_select_words_metadata.py +3 -4
- 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/failed_upload_exception.py +10 -65
- rapidata/rapidata_client/filter/_backend_filter_mapper.py +134 -0
- rapidata/rapidata_client/filter/_base_filter.py +13 -8
- rapidata/rapidata_client/filter/age_filter.py +26 -10
- rapidata/rapidata_client/filter/and_filter.py +36 -11
- 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/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/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 +17 -23
- rapidata/rapidata_client/filter/response_count_filter.py +40 -14
- 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 +236 -196
- rapidata/rapidata_client/order/rapidata_order.py +271 -176
- rapidata/rapidata_client/order/rapidata_order_manager.py +520 -364
- rapidata/rapidata_client/rapidata_client.py +96 -29
- 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 +86 -63
- 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 +20 -8
- rapidata/rapidata_client/selection/labeling_selection.py +21 -10
- rapidata/rapidata_client/selection/rapidata_selections.py +23 -14
- rapidata/rapidata_client/selection/shuffling_selection.py +21 -13
- rapidata/rapidata_client/selection/static_selection.py +19 -8
- rapidata/rapidata_client/selection/validation_selection.py +20 -4
- rapidata/rapidata_client/settings/__init__.py +2 -0
- 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 +3 -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 +22 -9
- 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 +68 -21
- 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 +28 -109
- rapidata/rapidata_client/validation/rapids/rapids_manager.py +369 -211
- rapidata/rapidata_client/validation/validation_set_manager.py +417 -294
- rapidata/rapidata_client/workflow/__init__.py +2 -2
- rapidata/rapidata_client/workflow/_base_workflow.py +17 -26
- rapidata/rapidata_client/workflow/_classify_workflow.py +44 -17
- rapidata/rapidata_client/workflow/_compare_workflow.py +33 -14
- rapidata/rapidata_client/workflow/_draw_workflow.py +35 -13
- rapidata/rapidata_client/workflow/_evaluation_workflow.py +20 -6
- rapidata/rapidata_client/workflow/_free_text_workflow.py +34 -15
- rapidata/rapidata_client/workflow/_locate_workflow.py +35 -13
- rapidata/rapidata_client/workflow/_multi_ranking_workflow.py +90 -0
- rapidata/rapidata_client/workflow/_select_words_workflow.py +38 -32
- rapidata/rapidata_client/workflow/_timestamp_workflow.py +35 -13
- rapidata/service/__init__.py +0 -1
- rapidata/service/credential_manager.py +1 -1
- rapidata/service/openapi_service.py +99 -23
- rapidata/types/__init__.py +149 -0
- rapidata-3.0.0a8.dist-info/METADATA +32 -0
- rapidata-3.0.0a8.dist-info/RECORD +1083 -0
- {rapidata-2.37.0.dist-info → rapidata-3.0.0a8.dist-info}/WHEEL +1 -1
- rapidata/rapidata_client/country_codes/__init__.py +0 -1
- rapidata/rapidata_client/country_codes/country_codes.py +0 -19
- rapidata/rapidata_client/datapoints/assets/_base_asset.py +0 -11
- rapidata/rapidata_client/datapoints/assets/_media_asset.py +0 -318
- rapidata/rapidata_client/datapoints/assets/_multi_asset.py +0 -61
- rapidata/rapidata_client/datapoints/assets/_sessions.py +0 -40
- rapidata/rapidata_client/datapoints/assets/_text_asset.py +0 -34
- rapidata/rapidata_client/datapoints/assets/data_type_enum.py +0 -8
- rapidata/rapidata_client/datapoints/metadata/_media_asset_metadata.py +0 -22
- rapidata/rapidata_client/datapoints/metadata/_prompt_metadata.py +0 -18
- rapidata/rapidata_client/logging/__init__.py +0 -2
- rapidata/rapidata_client/logging/logger.py +0 -122
- rapidata/rapidata_client/logging/output_manager.py +0 -20
- rapidata/rapidata_client/order/_rapidata_dataset.py +0 -447
- rapidata/rapidata_client/workflow/_ranking_workflow.py +0 -71
- rapidata/service/local_file_service.py +0 -25
- rapidata-2.37.0.dist-info/METADATA +0 -35
- rapidata-2.37.0.dist-info/RECORD +0 -687
- {rapidata-2.37.0.dist-info → rapidata-3.0.0a8.dist-info/licenses}/LICENSE +0 -0
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
from
|
|
2
|
-
from rapidata.api_client.models.file_asset_model import FileAssetModel
|
|
3
|
-
from rapidata.api_client.models.get_failed_datapoints_result import (
|
|
4
|
-
GetFailedDatapointsResult,
|
|
5
|
-
)
|
|
6
|
-
from rapidata.api_client.models.multi_asset_model import MultiAssetModel
|
|
7
|
-
from rapidata.api_client.models.original_filename_metadata_model import (
|
|
8
|
-
OriginalFilenameMetadataModel,
|
|
9
|
-
)
|
|
10
|
-
from rapidata.api_client.models.source_url_metadata_model import SourceUrlMetadataModel
|
|
11
|
-
from rapidata.rapidata_client.datapoints.assets import MediaAsset, MultiAsset
|
|
1
|
+
from __future__ import annotations
|
|
12
2
|
from rapidata.rapidata_client.datapoints._datapoint import Datapoint
|
|
13
|
-
from
|
|
14
|
-
|
|
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
|
|
15
9
|
|
|
16
10
|
|
|
17
11
|
class FailedUploadException(Exception):
|
|
@@ -20,63 +14,14 @@ class FailedUploadException(Exception):
|
|
|
20
14
|
def __init__(
|
|
21
15
|
self,
|
|
22
16
|
dataset: RapidataDataset,
|
|
23
|
-
order: RapidataOrder,
|
|
24
17
|
failed_uploads: list[Datapoint],
|
|
18
|
+
order: Optional[RapidataOrder] = None,
|
|
19
|
+
job: Optional[JobDefinition] = None,
|
|
25
20
|
):
|
|
26
21
|
self.dataset = dataset
|
|
27
22
|
self.order = order
|
|
23
|
+
self.job = job
|
|
28
24
|
self.failed_uploads = failed_uploads
|
|
29
25
|
|
|
30
26
|
def __str__(self) -> str:
|
|
31
27
|
return f"Failed to upload {self.failed_uploads}"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
def _parse_failed_uploads(failed_uploads: GetFailedDatapointsResult) -> list[Datapoint]:
|
|
35
|
-
failed_datapoints = failed_uploads.datapoints
|
|
36
|
-
if not failed_datapoints:
|
|
37
|
-
return []
|
|
38
|
-
if isinstance(failed_datapoints[0].asset.actual_instance, FileAssetModel):
|
|
39
|
-
failed_assets = [
|
|
40
|
-
MediaAsset(
|
|
41
|
-
__get_asset_name(cast(FileAssetModel, datapoint.asset.actual_instance))
|
|
42
|
-
)
|
|
43
|
-
for datapoint in failed_datapoints
|
|
44
|
-
]
|
|
45
|
-
elif isinstance(failed_datapoints[0].asset.actual_instance, MultiAssetModel):
|
|
46
|
-
failed_assets = []
|
|
47
|
-
backend_assets = [
|
|
48
|
-
cast(MultiAssetModel, failed_upload.asset.actual_instance).assets
|
|
49
|
-
for failed_upload in failed_datapoints
|
|
50
|
-
]
|
|
51
|
-
for assets in backend_assets:
|
|
52
|
-
failed_assets.append(
|
|
53
|
-
MultiAsset(
|
|
54
|
-
[
|
|
55
|
-
MediaAsset(
|
|
56
|
-
__get_asset_name(
|
|
57
|
-
cast(FileAssetModel, asset.actual_instance)
|
|
58
|
-
)
|
|
59
|
-
)
|
|
60
|
-
for asset in assets
|
|
61
|
-
if isinstance(asset.actual_instance, FileAssetModel)
|
|
62
|
-
]
|
|
63
|
-
)
|
|
64
|
-
)
|
|
65
|
-
else:
|
|
66
|
-
raise ValueError(
|
|
67
|
-
f"Unsupported asset type: {type(failed_datapoints[0].asset.actual_instance)}"
|
|
68
|
-
)
|
|
69
|
-
|
|
70
|
-
return [Datapoint(asset=asset) for asset in failed_assets]
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
def __get_asset_name(failed_datapoint: FileAssetModel) -> str:
|
|
74
|
-
metadata = failed_datapoint.metadata
|
|
75
|
-
if "sourceUrl" in metadata:
|
|
76
|
-
return cast(SourceUrlMetadataModel, metadata["sourceUrl"].actual_instance).url
|
|
77
|
-
elif "originalFilename" in metadata:
|
|
78
|
-
return cast(
|
|
79
|
-
OriginalFilenameMetadataModel, metadata["originalFilename"].actual_instance
|
|
80
|
-
).original_filename
|
|
81
|
-
else:
|
|
82
|
-
return ""
|
|
@@ -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,21 +1,26 @@
|
|
|
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
|
|
11
13
|
|
|
14
|
+
def _to_audience_model(self) -> IAudienceFilter:
|
|
15
|
+
raise NotImplementedError("This filter is not supported for audiences")
|
|
16
|
+
|
|
12
17
|
def __or__(self, other):
|
|
13
18
|
"""Enable the | operator to create OrFilter combinations."""
|
|
14
19
|
if not isinstance(other, RapidataFilter):
|
|
15
20
|
return NotImplemented
|
|
16
|
-
|
|
21
|
+
|
|
17
22
|
from rapidata.rapidata_client.filter.or_filter import OrFilter
|
|
18
|
-
|
|
23
|
+
|
|
19
24
|
# If self is already an OrFilter, extend its filters list
|
|
20
25
|
if isinstance(self, OrFilter):
|
|
21
26
|
if isinstance(other, OrFilter):
|
|
@@ -33,9 +38,9 @@ class RapidataFilter:
|
|
|
33
38
|
"""Enable the & operator to create AndFilter combinations."""
|
|
34
39
|
if not isinstance(other, RapidataFilter):
|
|
35
40
|
return NotImplemented
|
|
36
|
-
|
|
41
|
+
|
|
37
42
|
from rapidata.rapidata_client.filter.and_filter import AndFilter
|
|
38
|
-
|
|
43
|
+
|
|
39
44
|
# If self is already an AndFilter, extend its filters list
|
|
40
45
|
if isinstance(self, AndFilter):
|
|
41
46
|
if isinstance(other, AndFilter):
|
|
@@ -52,10 +57,10 @@ class RapidataFilter:
|
|
|
52
57
|
def __invert__(self):
|
|
53
58
|
"""Enable the ~ operator to create NotFilter negations."""
|
|
54
59
|
from rapidata.rapidata_client.filter.not_filter import NotFilter
|
|
55
|
-
|
|
60
|
+
|
|
56
61
|
# If self is already a NotFilter, return the original filter (double negation)
|
|
57
62
|
if isinstance(self, NotFilter):
|
|
58
63
|
return self.filter
|
|
59
64
|
# Create a new NotFilter
|
|
60
65
|
else:
|
|
61
|
-
return NotFilter(self)
|
|
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")
|
|
@@ -1,30 +1,55 @@
|
|
|
1
|
-
from
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
2
3
|
from rapidata.rapidata_client.filter._base_filter import RapidataFilter
|
|
3
|
-
from
|
|
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 AndFilter(RapidataFilter):
|
|
7
|
+
class AndFilter(RapidataFilter, BaseModel):
|
|
8
8
|
"""A filter that combines multiple filters with a logical AND operation.
|
|
9
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
10
|
|
|
11
11
|
Args:
|
|
12
12
|
filters (list[RapidataFilter]): A list of filters to be combined with AND.
|
|
13
|
-
|
|
13
|
+
|
|
14
14
|
Example:
|
|
15
15
|
```python
|
|
16
16
|
from rapidata import AndFilter, LanguageFilter, CountryFilter
|
|
17
17
|
|
|
18
|
-
AndFilter([LanguageFilter(["en"]), CountryFilter(["US"])])
|
|
18
|
+
AndFilter([LanguageFilter(["en"]), CountryFilter(["US"])])
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
This will match users who have their phone set to English AND 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
|
-
|
|
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
|
-
|
|
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")
|
|
@@ -1,23 +1,38 @@
|
|
|
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.gender_user_filter_model import GenderUserFilterModel
|
|
4
4
|
from rapidata.rapidata_client.filter.models.gender import Gender
|
|
5
|
+
from pydantic import BaseModel, ConfigDict
|
|
5
6
|
|
|
6
7
|
|
|
7
|
-
class GenderFilter(RapidataFilter):
|
|
8
|
+
class GenderFilter(RapidataFilter, BaseModel):
|
|
8
9
|
"""GenderFilter Class
|
|
9
|
-
|
|
10
|
+
|
|
10
11
|
Can be used to filter who to target based on their gender.
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
|
|
13
|
+
|
|
13
14
|
Args:
|
|
14
15
|
genders (list[Gender]): List of genders to filter by."""
|
|
15
16
|
|
|
17
|
+
model_config = ConfigDict(arbitrary_types_allowed=True)
|
|
18
|
+
|
|
19
|
+
genders: list[Gender]
|
|
20
|
+
|
|
16
21
|
def __init__(self, genders: list[Gender]):
|
|
17
|
-
|
|
22
|
+
super().__init__(genders=genders)
|
|
18
23
|
|
|
19
24
|
def _to_model(self):
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
25
|
+
from rapidata.api_client.models.i_user_filter_model import IUserFilterModel
|
|
26
|
+
from rapidata.api_client.models.i_user_filter_model_gender_user_filter_model import (
|
|
27
|
+
IUserFilterModelGenderUserFilterModel,
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
return IUserFilterModel(
|
|
31
|
+
actual_instance=IUserFilterModelGenderUserFilterModel(
|
|
32
|
+
_t="GenderFilter",
|
|
33
|
+
genders=[gender._to_backend_model() for gender in self.genders],
|
|
34
|
+
)
|
|
23
35
|
)
|
|
36
|
+
|
|
37
|
+
def _to_audience_model(self):
|
|
38
|
+
raise NotImplementedError("GenderFilter is not supported for audiences")
|