rapidata 2.35.1__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 +25 -16
- rapidata/api_client/__init__.py +84 -408
- rapidata/api_client/api/__init__.py +6 -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 +904 -245
- rapidata/api_client/api/campaign_api.py +582 -24
- 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 +364 -123
- 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 +140 -2067
- 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 -1480
- 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 +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 +35 -31
- rapidata/api_client/api/validation_set_api.py +377 -1835
- 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 -382
- 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 +49 -26
- 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 +7 -1
- 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.py +121 -0
- rapidata/api_client/models/and_filter_filters_inner.py +282 -0
- rapidata/api_client/models/are_rapids_active_result.py +2 -2
- rapidata/api_client/models/asset_metadata.py +11 -9
- 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 +5 -3
- rapidata/api_client/models/boost_leaderboard_model.py +5 -5
- rapidata/api_client/models/boost_mode.py +37 -0
- rapidata/api_client/models/boost_query_result.py +7 -10
- 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_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 +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_rapid_blueprint.py +5 -3
- rapidata/api_client/models/compare_rapid_blueprint1.py +96 -0
- 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_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 +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/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 +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 +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 +42 -15
- 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 +30 -101
- 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/demographic_filter.py +100 -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/effort_capped_selection.py +2 -11
- 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 +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/file_type_metadata.py +11 -6
- rapidata/api_client/models/file_type_metadata_model.py +2 -8
- rapidata/api_client/models/filter.py +7 -25
- 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/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_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 +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 +31 -4
- 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 +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 +6 -14
- rapidata/api_client/models/get_validation_rapids_result.py +32 -41
- 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 +2 -36
- rapidata/api_client/models/json_web_key_set.py +2 -22
- 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 +29 -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/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 +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/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/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/or_filter.py +121 -0
- 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 +6 -14
- 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.py +12 -1
- rapidata/api_client/models/prompt_metadata_input.py +5 -7
- rapidata/api_client/models/prompt_type.py +38 -0
- rapidata/api_client/models/proxy_file_wrapper.py +17 -2
- 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_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 +33 -49
- 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 +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 +2 -2
- rapidata/api_client/models/runs_by_leaderboard_result.py +6 -12
- 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 +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 +15 -5
- 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 +19 -21
- 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/streams_metadata.py +12 -1
- 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 +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 +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 +106 -0
- 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/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/video_duration_metadata.py +12 -1
- 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 +33 -2
- rapidata/api_client/rest.py +2 -2
- rapidata/api_client_README.md +384 -318
- rapidata/rapidata_client/__init__.py +17 -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/_detail_mapper.py +11 -9
- rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py +98 -54
- rapidata/rapidata_client/benchmark/participant/_participant.py +90 -46
- rapidata/rapidata_client/benchmark/rapidata_benchmark.py +388 -225
- rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py +172 -65
- 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 -3
- rapidata/rapidata_client/datapoints/_asset_uploader.py +184 -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/assets/__init__.py +0 -10
- rapidata/rapidata_client/datapoints/assets/constants.py +7 -0
- 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 +15 -41
- 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 +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 +273 -122
- rapidata/rapidata_client/order/rapidata_order.py +316 -160
- rapidata/rapidata_client/order/rapidata_order_manager.py +680 -421
- rapidata/rapidata_client/rapidata_client.py +115 -37
- 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/__init__.py +1 -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 +31 -8
- rapidata/rapidata_client/selection/labeling_selection.py +34 -11
- rapidata/rapidata_client/selection/{retrieval_modes.py → rapidata_retrieval_modes.py} +7 -4
- 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 +96 -18
- 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 -83
- rapidata/rapidata_client/validation/rapids/rapids_manager.py +369 -211
- rapidata/rapidata_client/validation/validation_set_manager.py +505 -276
- 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 +14 -14
- rapidata/service/openapi_service.py +119 -34
- 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.35.1.dist-info → rapidata-3.0.0a8.dist-info}/WHEEL +1 -1
- rapidata/rapidata_client/api/rapidata_exception.py +0 -107
- 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 -306
- rapidata/rapidata_client/datapoints/assets/_multi_asset.py +0 -61
- rapidata/rapidata_client/datapoints/assets/_sessions.py +0 -35
- 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/datapoint.py +0 -108
- 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 -396
- rapidata/rapidata_client/workflow/_ranking_workflow.py +0 -47
- rapidata/service/local_file_service.py +0 -25
- rapidata-2.35.1.dist-info/METADATA +0 -35
- rapidata-2.35.1.dist-info/RECORD +0 -657
- {rapidata-2.35.1.dist-info → rapidata-3.0.0a8.dist-info/licenses}/LICENSE +0 -0
|
@@ -2,16 +2,15 @@ from rapidata.api_client.models.private_text_metadata_input import (
|
|
|
2
2
|
PrivateTextMetadataInput,
|
|
3
3
|
)
|
|
4
4
|
from rapidata.rapidata_client.datapoints.metadata._base_metadata import Metadata
|
|
5
|
+
from pydantic import BaseModel
|
|
5
6
|
|
|
6
7
|
|
|
7
|
-
class PrivateTextMetadata(Metadata):
|
|
8
|
+
class PrivateTextMetadata(Metadata, BaseModel):
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
self._identifier = identifier
|
|
12
|
-
self._text = text
|
|
10
|
+
text: str
|
|
11
|
+
identifier: str = "private_text"
|
|
13
12
|
|
|
14
13
|
def to_model(self):
|
|
15
14
|
return PrivateTextMetadataInput(
|
|
16
|
-
_t="PrivateTextMetadataInput", identifier=self.
|
|
15
|
+
_t="PrivateTextMetadataInput", identifier=self.identifier, text=self.text
|
|
17
16
|
)
|
|
@@ -2,14 +2,13 @@ from rapidata.rapidata_client.datapoints.metadata._base_metadata import Metadata
|
|
|
2
2
|
from rapidata.api_client.models.private_text_metadata_input import (
|
|
3
3
|
PrivateTextMetadataInput,
|
|
4
4
|
)
|
|
5
|
+
from pydantic import BaseModel
|
|
5
6
|
|
|
6
7
|
|
|
7
|
-
class PromptIdentifierMetadata(Metadata):
|
|
8
|
-
|
|
9
|
-
super().__init__()
|
|
10
|
-
self._identifier = identifier
|
|
8
|
+
class PromptIdentifierMetadata(Metadata, BaseModel):
|
|
9
|
+
identifier: str
|
|
11
10
|
|
|
12
11
|
def to_model(self):
|
|
13
12
|
return PrivateTextMetadataInput(
|
|
14
|
-
_t="PrivateTextMetadataInput", identifier="prompt-id", text=self.
|
|
13
|
+
_t="PrivateTextMetadataInput", identifier="prompt-id", text=self.identifier
|
|
15
14
|
)
|
|
@@ -2,16 +2,15 @@ from rapidata.api_client.models.public_text_metadata_input import (
|
|
|
2
2
|
PublicTextMetadataInput,
|
|
3
3
|
)
|
|
4
4
|
from rapidata.rapidata_client.datapoints.metadata._base_metadata import Metadata
|
|
5
|
+
from pydantic import BaseModel
|
|
5
6
|
|
|
6
7
|
|
|
7
|
-
class PublicTextMetadata(Metadata):
|
|
8
|
+
class PublicTextMetadata(Metadata, BaseModel):
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
self._identifier = identifier
|
|
12
|
-
self._text = text
|
|
10
|
+
text: str
|
|
11
|
+
identifier: str = "public_text"
|
|
13
12
|
|
|
14
13
|
def to_model(self):
|
|
15
14
|
return PublicTextMetadataInput(
|
|
16
|
-
_t="PublicTextMetadataInput", identifier=self.
|
|
15
|
+
_t="PublicTextMetadataInput", identifier=self.identifier, text=self.text
|
|
17
16
|
)
|
|
@@ -2,14 +2,13 @@ from rapidata.api_client.models.transcription_metadata_input import (
|
|
|
2
2
|
TranscriptionMetadataInput,
|
|
3
3
|
)
|
|
4
4
|
from rapidata.rapidata_client.datapoints.metadata._base_metadata import Metadata
|
|
5
|
+
from pydantic import BaseModel
|
|
5
6
|
|
|
6
7
|
|
|
7
|
-
class SelectWordsMetadata(Metadata):
|
|
8
|
+
class SelectWordsMetadata(Metadata, BaseModel):
|
|
8
9
|
"""SelectWordsMetadata Class is used to define the Sentence that will be display to the user."""
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
super().__init__()
|
|
12
|
-
self.select_words = select_words
|
|
11
|
+
select_words: str
|
|
13
12
|
|
|
14
13
|
def to_model(self):
|
|
15
14
|
return TranscriptionMetadataInput(
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from ._rapidata_dataset import RapidataDataset
|
|
@@ -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__()
|
|
@@ -1,53 +1,27 @@
|
|
|
1
|
-
from
|
|
2
|
-
from rapidata.
|
|
3
|
-
from
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
from rapidata.
|
|
7
|
-
from rapidata.rapidata_client.
|
|
8
|
-
from rapidata.rapidata_client.
|
|
9
|
-
|
|
10
|
-
from rapidata.rapidata_client.order.rapidata_order import RapidataOrder
|
|
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
|
+
|
|
11
10
|
|
|
12
11
|
class FailedUploadException(Exception):
|
|
13
12
|
"""Custom error class for Failed Uploads to the Rapidata order."""
|
|
13
|
+
|
|
14
14
|
def __init__(
|
|
15
|
-
self,
|
|
15
|
+
self,
|
|
16
16
|
dataset: RapidataDataset,
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
failed_uploads: list[Datapoint],
|
|
18
|
+
order: Optional[RapidataOrder] = None,
|
|
19
|
+
job: Optional[JobDefinition] = None,
|
|
19
20
|
):
|
|
20
21
|
self.dataset = dataset
|
|
21
22
|
self.order = order
|
|
23
|
+
self.job = job
|
|
22
24
|
self.failed_uploads = failed_uploads
|
|
23
25
|
|
|
24
26
|
def __str__(self) -> str:
|
|
25
27
|
return f"Failed to upload {self.failed_uploads}"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
def _parse_failed_uploads(failed_uploads: GetFailedDatapointsResult) -> list[Datapoint]:
|
|
29
|
-
failed_datapoints = failed_uploads.datapoints
|
|
30
|
-
if not failed_datapoints:
|
|
31
|
-
return []
|
|
32
|
-
if isinstance(failed_datapoints[0].asset.actual_instance, FileAssetModel):
|
|
33
|
-
failed_assets = [MediaAsset(__get_asset_name(cast(FileAssetModel, datapoint.asset.actual_instance))) for datapoint in failed_datapoints]
|
|
34
|
-
elif isinstance(failed_datapoints[0].asset.actual_instance, MultiAssetModel):
|
|
35
|
-
failed_assets = []
|
|
36
|
-
backend_assets = [cast(MultiAssetModel, failed_upload.asset.actual_instance).assets for failed_upload in failed_datapoints]
|
|
37
|
-
for assets in backend_assets:
|
|
38
|
-
failed_assets.append(MultiAsset([MediaAsset(__get_asset_name(cast(FileAssetModel, asset.actual_instance))) for asset in assets if isinstance(asset.actual_instance, FileAssetModel)]))
|
|
39
|
-
else:
|
|
40
|
-
raise ValueError(f"Unsupported asset type: {type(failed_datapoints[0].asset.actual_instance)}")
|
|
41
|
-
|
|
42
|
-
return [Datapoint(asset=asset) for asset in failed_assets]
|
|
43
|
-
|
|
44
|
-
def __get_asset_name(failed_datapoint: FileAssetModel) -> str:
|
|
45
|
-
metadata = failed_datapoint.metadata
|
|
46
|
-
if "sourceUrl" in metadata:
|
|
47
|
-
return cast(SourceUrlMetadataModel, metadata["sourceUrl"].actual_instance).url
|
|
48
|
-
elif "originalFilename" in metadata:
|
|
49
|
-
return cast(OriginalFilenameMetadataModel, metadata["originalFilename"].actual_instance).original_filename
|
|
50
|
-
else:
|
|
51
|
-
return ""
|
|
52
|
-
|
|
53
|
-
|
|
@@ -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")
|