rapidata 2.28.2__py3-none-any.whl → 2.44.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- rapidata/__init__.py +11 -10
- rapidata/api_client/__init__.py +83 -355
- rapidata/api_client/api/__init__.py +8 -2
- rapidata/api_client/api/asset_api.py +853 -0
- rapidata/api_client/api/audience_api.py +1133 -0
- rapidata/api_client/api/benchmark_api.py +3966 -0
- rapidata/api_client/api/campaign_api.py +222 -444
- rapidata/api_client/api/client_api.py +38 -33
- rapidata/api_client/api/coco_api.py +0 -571
- rapidata/api_client/api/compare_workflow_api.py +11 -10
- rapidata/api_client/api/customer_rapid_api.py +644 -72
- rapidata/api_client/api/datapoint_api.py +8 -530
- rapidata/api_client/api/dataset_api.py +228 -3469
- rapidata/api_client/api/evaluation_workflow_api.py +29 -82
- rapidata/api_client/api/feedback_api.py +11 -281
- rapidata/api_client/api/grouped_ranking_workflow_api.py +319 -0
- rapidata/api_client/api/identity_api.py +83 -1171
- rapidata/api_client/api/leaderboard_api.py +356 -312
- rapidata/api_client/api/newsletter_api.py +20 -19
- rapidata/api_client/api/order_api.py +758 -5487
- rapidata/api_client/api/participant_api.py +2181 -0
- rapidata/api_client/api/pipeline_api.py +24 -1783
- rapidata/api_client/api/prompt_api.py +320 -0
- rapidata/api_client/api/rapidata_identity_api_api.py +5 -4
- rapidata/api_client/api/sample_api.py +300 -0
- rapidata/api_client/api/simple_workflow_api.py +11 -10
- rapidata/api_client/api/survey_api.py +304 -0
- rapidata/api_client/api/user_rapid_api.py +35 -31
- rapidata/api_client/api/validation_set_api.py +510 -3659
- rapidata/api_client/api/workflow_api.py +32 -825
- rapidata/api_client/api_client.py +2 -2
- rapidata/api_client/configuration.py +16 -29
- rapidata/api_client/exceptions.py +2 -2
- rapidata/api_client/models/__init__.py +65 -332
- rapidata/api_client/models/ab_test_selection_a_inner.py +1 -1
- rapidata/api_client/models/add_campaign_model.py +3 -3
- rapidata/api_client/models/add_user_response_result.py +10 -5
- rapidata/api_client/models/add_validation_rapid_model.py +55 -24
- 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/add_validation_text_rapid_model.py +1 -3
- rapidata/api_client/models/age_user_filter_model.py +2 -2
- rapidata/api_client/models/age_user_filter_model_age_group.py +41 -0
- rapidata/api_client/models/aggregated_orders_model.py +98 -0
- rapidata/api_client/models/aggregator_type.py +4 -2
- rapidata/api_client/models/and_filter.py +121 -0
- rapidata/api_client/models/and_filter_filters_inner.py +282 -0
- rapidata/api_client/models/and_user_filter_model.py +106 -0
- rapidata/api_client/models/and_user_filter_model_filters_inner.py +282 -0
- rapidata/api_client/models/are_rapids_active_result.py +2 -2
- rapidata/api_client/models/asset_metadata.py +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_status.py +38 -0
- rapidata/api_client/models/benchmark_query_result.py +98 -0
- rapidata/api_client/models/benchmark_query_result_paged_result.py +105 -0
- rapidata/api_client/models/boost_leaderboard_model.py +89 -0
- rapidata/api_client/models/boost_mode.py +37 -0
- rapidata/api_client/models/boost_query_result.py +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 +89 -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 +6 -8
- rapidata/api_client/models/clone_order_result.py +9 -4
- rapidata/api_client/models/compare_rapid_blueprint.py +5 -3
- rapidata/api_client/models/compare_rapid_blueprint1.py +96 -0
- rapidata/api_client/models/compare_workflow_config.py +34 -23
- rapidata/api_client/models/compare_workflow_config_context_asset.py +174 -0
- rapidata/api_client/models/compare_workflow_config_metadata_value.py +31 -17
- rapidata/api_client/models/compare_workflow_config_model.py +15 -5
- rapidata/api_client/models/compare_workflow_model.py +34 -6
- rapidata/api_client/models/compare_workflow_model1.py +20 -9
- rapidata/api_client/models/compare_workflow_model_context_asset.py +160 -0
- rapidata/api_client/models/compare_workflow_model_metadata_inner.py +154 -0
- rapidata/api_client/models/compare_workflow_model_pair_maker_config.py +1 -1
- rapidata/api_client/models/comparison_operator.py +2 -2
- rapidata/api_client/models/conditional_validation_selection.py +8 -11
- rapidata/api_client/models/conditional_validation_selection_validation_chance.py +103 -0
- rapidata/api_client/models/confidence_interval.py +89 -0
- rapidata/api_client/models/count_metadata.py +12 -1
- rapidata/api_client/models/country_filter.py +98 -0
- rapidata/api_client/models/create_audience_request.py +99 -0
- rapidata/api_client/models/create_audience_result.py +87 -0
- rapidata/api_client/models/create_benchmark_model.py +87 -0
- rapidata/api_client/models/create_benchmark_participant_model.py +87 -0
- rapidata/api_client/models/create_benchmark_participant_result.py +89 -0
- rapidata/api_client/models/create_benchmark_prompt_result.py +87 -0
- rapidata/api_client/models/create_benchmark_result.py +87 -0
- rapidata/api_client/models/create_bridge_token_result.py +2 -2
- rapidata/api_client/models/create_client_model.py +6 -13
- rapidata/api_client/models/create_complex_order_model.py +9 -9
- rapidata/api_client/models/create_complex_order_result.py +6 -4
- rapidata/api_client/models/create_customer_client_result.py +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 +134 -0
- rapidata/api_client/models/create_datapoint_model_asset.py +154 -0
- rapidata/api_client/models/create_datapoint_model_context_asset.py +160 -0
- rapidata/api_client/models/create_datapoint_model_metadata_inner.py +154 -0
- rapidata/api_client/models/create_datapoint_result.py +6 -18
- rapidata/api_client/models/create_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_leaderboard_model.py +59 -10
- rapidata/api_client/models/create_leaderboard_result.py +17 -5
- 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 +6 -4
- rapidata/api_client/models/create_rapid_result.py +2 -2
- rapidata/api_client/models/create_sample_model.py +93 -0
- rapidata/api_client/models/create_sample_model_asset.py +154 -0
- rapidata/api_client/models/create_sample_model_obsolete.py +87 -0
- rapidata/api_client/models/create_simple_pipeline_model_pipeline_steps_inner.py +8 -22
- rapidata/api_client/models/create_unsupported_order_model.py +6 -6
- rapidata/api_client/models/create_validation_set_model.py +5 -5
- rapidata/api_client/models/datapoint_model.py +3 -3
- rapidata/api_client/models/datapoint_state.py +2 -2
- 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 +120 -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.py +104 -0
- rapidata/api_client/models/file_asset_input1.py +104 -0
- rapidata/api_client/models/file_asset_input1_file.py +168 -0
- rapidata/api_client/models/file_asset_input2.py +104 -0
- rapidata/api_client/models/file_asset_input3.py +104 -0
- rapidata/api_client/models/file_asset_input_file.py +168 -0
- rapidata/api_client/models/file_asset_metadata_value.py +252 -0
- rapidata/api_client/models/file_asset_model_metadata_value.py +25 -81
- rapidata/api_client/models/file_stream_result.py +122 -0
- rapidata/api_client/models/file_type.py +39 -0
- rapidata/api_client/models/file_type_metadata.py +110 -0
- rapidata/api_client/models/file_type_metadata_model.py +97 -0
- rapidata/api_client/models/filter.py +7 -25
- rapidata/api_client/models/filter_operator.py +3 -2
- rapidata/api_client/models/fork_benchmark_result.py +87 -0
- rapidata/api_client/models/form_file_wrapper.py +135 -0
- rapidata/api_client/models/free_text_payload.py +10 -3
- rapidata/api_client/models/free_text_rapid_blueprint.py +10 -3
- rapidata/api_client/models/gender_user_filter_model.py +2 -2
- rapidata/api_client/models/gender_user_filter_model_gender.py +38 -0
- rapidata/api_client/models/get_asset_metadata_result.py +100 -0
- rapidata/api_client/models/get_audience_by_id_result.py +111 -0
- rapidata/api_client/models/get_available_validation_sets_result.py +2 -2
- rapidata/api_client/models/get_benchmark_by_id_query.py +96 -0
- rapidata/api_client/models/get_benchmark_by_id_query_result.py +94 -0
- rapidata/api_client/models/get_benchmark_by_id_query_result_paged_result.py +105 -0
- rapidata/api_client/models/get_benchmark_by_id_result.py +96 -0
- rapidata/api_client/models/get_boost_result.py +97 -0
- rapidata/api_client/models/get_boost_result_boost_mode.py +37 -0
- rapidata/api_client/models/get_boost_result_boost_status.py +39 -0
- rapidata/api_client/models/get_compare_ab_summary_result.py +5 -5
- rapidata/api_client/models/get_compare_workflow_results_model.py +7 -7
- rapidata/api_client/models/get_compare_workflow_results_result.py +5 -5
- rapidata/api_client/models/get_datapoint_by_id_result.py +10 -21
- rapidata/api_client/models/get_datapoint_by_id_result_asset.py +170 -0
- rapidata/api_client/models/get_dataset_by_id_result.py +2 -2
- rapidata/api_client/models/get_dataset_progress_result.py +2 -2
- rapidata/api_client/models/get_evaluation_workflow_results_model.py +119 -0
- rapidata/api_client/models/get_failed_datapoints_result.py +5 -5
- rapidata/api_client/models/get_failed_datapoints_result_datapoint.py +100 -0
- rapidata/api_client/models/get_file_metadata_result.py +100 -0
- rapidata/api_client/models/get_grouped_ranking_workflow_results_model.py +106 -0
- rapidata/api_client/models/get_grouped_ranking_workflow_results_result.py +97 -0
- rapidata/api_client/models/get_grouped_ranking_workflow_results_result_paged_result.py +105 -0
- rapidata/api_client/models/get_leaderboard_by_id_result.py +50 -6
- rapidata/api_client/models/get_order_by_id_result.py +12 -5
- rapidata/api_client/models/get_participant_by_id_result.py +9 -20
- rapidata/api_client/models/get_pipeline_by_id_result.py +5 -5
- rapidata/api_client/models/get_public_orders_result.py +2 -2
- rapidata/api_client/models/get_public_responses_result.py +95 -0
- rapidata/api_client/models/get_public_responses_result_response.py +112 -0
- rapidata/api_client/models/get_rapid_responses_result.py +6 -12
- rapidata/api_client/models/get_recommended_validation_set_result.py +95 -0
- rapidata/api_client/models/get_responses_for_rapid_result.py +106 -0
- rapidata/api_client/models/get_responses_for_rapid_result_response.py +103 -0
- rapidata/api_client/models/get_responses_for_rapid_result_response_result.py +266 -0
- rapidata/api_client/models/get_responses_result.py +5 -5
- rapidata/api_client/models/get_responses_result_response.py +103 -0
- rapidata/api_client/models/get_sample_by_id_result.py +125 -0
- rapidata/api_client/models/get_simple_workflow_results_model.py +20 -15
- rapidata/api_client/models/get_standing_by_id_result.py +96 -0
- rapidata/api_client/models/get_validation_rapids_result.py +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_campaign_filter.py +282 -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_country_filter.py +98 -0
- rapidata/api_client/models/i_campaign_filter_demographic_filter.py +100 -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_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 +103 -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 +103 -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 +282 -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_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 +104 -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/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 +46 -4
- rapidata/api_client/models/leaderboards_query_result.py +135 -0
- rapidata/api_client/models/line_result.py +3 -3
- rapidata/api_client/models/line_result_line.py +97 -0
- rapidata/api_client/models/line_result_line_point.py +89 -0
- rapidata/api_client/models/local_file_wrapper.py +120 -0
- rapidata/api_client/models/locate_coordinate.py +4 -13
- rapidata/api_client/models/location_metadata.py +12 -1
- rapidata/api_client/models/logic_operator.py +2 -2
- rapidata/api_client/models/metadata_i_order_metadata_input.py +154 -0
- rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/metadata_i_order_metadata_input_metadata_transcription_metadata_input.py +96 -0
- rapidata/api_client/models/metadata_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/metadata_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/metadata_transcription_metadata_input.py +96 -0
- rapidata/api_client/models/multi_asset.py +6 -6
- rapidata/api_client/models/multi_asset_assets_inner.py +170 -0
- rapidata/api_client/models/multi_asset_input.py +130 -0
- rapidata/api_client/models/multi_asset_input1.py +110 -0
- rapidata/api_client/models/multi_asset_input1_assets_inner.py +198 -0
- rapidata/api_client/models/multi_asset_input2.py +110 -0
- rapidata/api_client/models/multi_asset_input3.py +110 -0
- rapidata/api_client/models/multi_asset_input3_assets_inner.py +198 -0
- rapidata/api_client/models/multi_asset_input_assets_inner.py +156 -0
- rapidata/api_client/models/multi_asset_model.py +3 -3
- rapidata/api_client/models/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/not_user_filter_model.py +3 -3
- 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/or_filter.py +121 -0
- rapidata/api_client/models/or_user_filter_model.py +3 -3
- rapidata/api_client/models/order_model.py +15 -14
- rapidata/api_client/models/order_state.py +2 -2
- rapidata/api_client/models/original_filename_metadata.py +12 -1
- rapidata/api_client/models/page_info.py +2 -7
- rapidata/api_client/models/paged_result_aggregated_orders_model.py +105 -0
- rapidata/api_client/models/paged_result_benchmark_query_result.py +105 -0
- rapidata/api_client/models/paged_result_campaign_query_result.py +105 -0
- rapidata/api_client/models/paged_result_clients_query_result.py +105 -0
- rapidata/api_client/models/paged_result_datapoint_model.py +105 -0
- rapidata/api_client/models/paged_result_get_compare_workflow_results_result.py +105 -0
- rapidata/api_client/models/paged_result_get_grouped_ranking_workflow_results_result.py +105 -0
- rapidata/api_client/models/paged_result_get_validation_rapids_result.py +105 -0
- rapidata/api_client/models/paged_result_get_workflow_results_result.py +105 -0
- rapidata/api_client/models/paged_result_i_workflow_model.py +105 -0
- rapidata/api_client/models/paged_result_leaderboard_query_result.py +105 -0
- rapidata/api_client/models/paged_result_leaderboards_query_result.py +105 -0
- rapidata/api_client/models/paged_result_of_aggregated_orders_model.py +103 -0
- rapidata/api_client/models/paged_result_of_benchmark_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_campaign_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_clients_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_compare_workflow_results_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_grouped_ranking_workflow_results_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_validation_rapids_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_workflow_results_result.py +103 -0
- rapidata/api_client/models/paged_result_of_i_workflow_model.py +103 -0
- rapidata/api_client/models/paged_result_of_leaderboards_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_order_model.py +103 -0
- rapidata/api_client/models/paged_result_of_participant_by_benchmark.py +103 -0
- rapidata/api_client/models/paged_result_of_prompt_by_benchmark_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_audiences_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_datapoints_by_dataset_id_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_validation_rapid_eligibility_result.py +103 -0
- rapidata/api_client/models/paged_result_of_rapid_model.py +103 -0
- rapidata/api_client/models/paged_result_of_runs_by_leaderboard_result.py +103 -0
- rapidata/api_client/models/paged_result_of_sample_by_identifier.py +103 -0
- rapidata/api_client/models/paged_result_of_sample_by_participant.py +103 -0
- rapidata/api_client/models/paged_result_of_standing_by_leaderboard.py +103 -0
- rapidata/api_client/models/paged_result_of_validation_set_model.py +103 -0
- rapidata/api_client/models/paged_result_order_model.py +105 -0
- rapidata/api_client/models/paged_result_participant_by_benchmark.py +105 -0
- rapidata/api_client/models/paged_result_potential_validation_rapid.py +105 -0
- rapidata/api_client/models/paged_result_prompt_by_benchmark_result.py +105 -0
- rapidata/api_client/models/paged_result_query_audiences_result.py +105 -0
- rapidata/api_client/models/paged_result_query_datapoints_by_dataset_id_result.py +105 -0
- rapidata/api_client/models/paged_result_query_validation_rapid_eligibility_result.py +105 -0
- rapidata/api_client/models/paged_result_rapid_model.py +105 -0
- rapidata/api_client/models/paged_result_runs_by_leaderboard_result.py +105 -0
- rapidata/api_client/models/paged_result_sample_by_identifier.py +105 -0
- rapidata/api_client/models/paged_result_sample_by_participant.py +105 -0
- rapidata/api_client/models/paged_result_standing_by_leaderboard.py +105 -0
- rapidata/api_client/models/paged_result_validation_set_model.py +105 -0
- rapidata/api_client/models/participant_by_benchmark.py +94 -0
- rapidata/api_client/models/participant_by_benchmark_paged_result.py +105 -0
- rapidata/api_client/models/participant_by_leaderboard.py +19 -8
- rapidata/api_client/models/participant_status.py +4 -5
- rapidata/api_client/models/pipeline_id_workflow_config_put_request.py +140 -0
- rapidata/api_client/models/polygon_result.py +3 -3
- rapidata/api_client/models/polygon_result_coordinate.py +89 -0
- rapidata/api_client/models/polygon_result_shape.py +95 -0
- rapidata/api_client/models/potential_validation_rapid.py +103 -0
- rapidata/api_client/models/potential_validation_rapid_paged_result.py +105 -0
- rapidata/api_client/models/potential_validation_rapid_truth.py +280 -0
- rapidata/api_client/models/preliminary_download_model.py +5 -5
- rapidata/api_client/models/preview_order_model.py +87 -0
- rapidata/api_client/models/problem_details.py +2 -20
- rapidata/api_client/models/prompt_asset_metadata_input.py +6 -8
- rapidata/api_client/models/prompt_asset_metadata_input_asset.py +154 -0
- rapidata/api_client/models/prompt_by_benchmark_result.py +112 -0
- rapidata/api_client/models/prompt_by_benchmark_result_paged_result.py +105 -0
- rapidata/api_client/models/prompt_metadata.py +12 -1
- rapidata/api_client/models/prompt_metadata_input.py +2 -2
- rapidata/api_client/models/prompt_type.py +38 -0
- rapidata/api_client/models/proxy_file_wrapper.py +129 -0
- rapidata/api_client/models/public_order_model.py +2 -2
- rapidata/api_client/models/public_rapid_response.py +112 -0
- rapidata/api_client/models/query_audiences_result.py +111 -0
- rapidata/api_client/models/query_datapoints_by_dataset_id_result.py +95 -0
- rapidata/api_client/models/query_model.py +10 -5
- rapidata/api_client/models/query_validation_model.py +97 -0
- rapidata/api_client/models/query_validation_rapid_eligibility_model_query_validation_model.py +107 -0
- rapidata/api_client/models/query_validation_rapid_eligibility_result.py +103 -0
- rapidata/api_client/models/query_validation_rapid_eligibility_result_truth.py +280 -0
- rapidata/api_client/models/rapid_issue.py +2 -2
- rapidata/api_client/models/rapid_modality.py +46 -0
- rapidata/api_client/models/rapid_model.py +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 +39 -0
- rapidata/api_client/models/runs_by_leaderboard_result.py +104 -0
- rapidata/api_client/models/runs_by_leaderboard_result_paged_result.py +105 -0
- rapidata/api_client/models/sample_by_identifier.py +125 -0
- rapidata/api_client/models/sample_by_identifier_paged_result.py +105 -0
- rapidata/api_client/models/sample_by_participant.py +121 -0
- rapidata/api_client/models/sample_by_participant_paged_result.py +105 -0
- rapidata/api_client/models/scrub_range.py +2 -2
- rapidata/api_client/models/send_survey_model.py +87 -0
- rapidata/api_client/models/simple_workflow_config.py +15 -7
- rapidata/api_client/models/simple_workflow_config_blueprint.py +37 -23
- rapidata/api_client/models/simple_workflow_config_model.py +11 -3
- rapidata/api_client/models/simple_workflow_model.py +14 -4
- rapidata/api_client/models/simple_workflow_model1.py +4 -11
- rapidata/api_client/models/simple_workflow_model_blueprint.py +1 -1
- rapidata/api_client/models/sort_criterion.py +5 -11
- rapidata/api_client/models/sort_direction.py +2 -2
- rapidata/api_client/models/source_url_metadata.py +12 -1
- rapidata/api_client/models/standing_by_benchmark.py +113 -0
- rapidata/api_client/models/standing_by_leaderboard.py +113 -0
- rapidata/api_client/models/standing_by_leaderboard_paged_result.py +105 -0
- rapidata/api_client/models/standing_status.py +38 -0
- rapidata/api_client/models/standings_by_benchmark_result.py +95 -0
- rapidata/api_client/models/standings_by_leaderboard_result.py +95 -0
- rapidata/api_client/models/start_preliminary_download_result.py +87 -0
- rapidata/api_client/models/sticky_state.py +3 -2
- rapidata/api_client/models/stream_file_wrapper.py +138 -0
- rapidata/api_client/models/streams_metadata.py +12 -1
- rapidata/api_client/models/string_segment.py +105 -0
- rapidata/api_client/models/submit_coco_model.py +1 -3
- rapidata/api_client/models/submit_order_model.py +87 -0
- rapidata/api_client/models/submit_participant_result.py +89 -0
- rapidata/api_client/models/submit_prompt_model.py +107 -0
- rapidata/api_client/models/submit_prompt_model_prompt_asset.py +202 -0
- rapidata/api_client/models/tags_by_benchmark_result.py +87 -0
- rapidata/api_client/models/text_asset.py +3 -5
- rapidata/api_client/models/text_asset_input.py +120 -0
- rapidata/api_client/models/text_metadata.py +18 -2
- rapidata/api_client/models/text_metadata_input.py +111 -0
- rapidata/api_client/models/text_metadata_model.py +7 -2
- rapidata/api_client/models/transcription_metadata.py +9 -1
- rapidata/api_client/models/transcription_metadata_input.py +2 -2
- rapidata/api_client/models/transcription_word.py +2 -2
- rapidata/api_client/models/translated_string.py +2 -2
- rapidata/api_client/models/unlock_order_result.py +2 -2
- rapidata/api_client/models/update_audience_request.py +102 -0
- rapidata/api_client/models/update_benchmark_model.py +99 -0
- rapidata/api_client/models/update_benchmark_name_model.py +87 -0
- rapidata/api_client/models/update_campaign_model.py +11 -11
- rapidata/api_client/models/update_dataset_name_model.py +5 -5
- rapidata/api_client/models/update_dimensions_model.py +3 -3
- rapidata/api_client/models/update_leaderboard_model.py +106 -0
- rapidata/api_client/models/update_leaderboard_name_model.py +87 -0
- rapidata/api_client/models/update_leaderboard_response_config_model.py +89 -0
- rapidata/api_client/models/update_order_name_model.py +5 -5
- rapidata/api_client/models/update_participant_model.py +92 -0
- rapidata/api_client/models/update_participant_name_model.py +87 -0
- rapidata/api_client/models/update_priority_model.py +87 -0
- rapidata/api_client/models/update_prompt_tags_model.py +87 -0
- rapidata/api_client/models/update_should_alert_model.py +87 -0
- rapidata/api_client/models/update_validation_rapid_model.py +28 -10
- 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_set_model.py +39 -5
- rapidata/api_client/models/validation_set_overview_model.py +2 -2
- rapidata/api_client/models/validation_set_zip_post_request_blueprint.py +252 -0
- 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 +151 -0
- rapidata/api_client/rest.py +16 -9
- rapidata/api_client_README.md +373 -336
- rapidata/rapidata_client/__init__.py +9 -18
- rapidata/rapidata_client/api/rapidata_api_client.py +253 -0
- rapidata/rapidata_client/benchmark/_detail_mapper.py +32 -0
- rapidata/rapidata_client/benchmark/leaderboard/__init__.py +0 -0
- rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py +221 -0
- rapidata/rapidata_client/benchmark/participant/__init__.py +0 -0
- rapidata/rapidata_client/benchmark/participant/_participant.py +147 -0
- rapidata/rapidata_client/benchmark/rapidata_benchmark.py +546 -0
- rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py +219 -0
- rapidata/rapidata_client/config/__init__.py +4 -0
- rapidata/rapidata_client/config/logger.py +135 -0
- rapidata/rapidata_client/config/logging_config.py +55 -0
- rapidata/rapidata_client/config/managed_print.py +6 -0
- rapidata/rapidata_client/config/order_config.py +14 -0
- rapidata/rapidata_client/config/rapidata_config.py +36 -0
- rapidata/rapidata_client/config/tracer.py +184 -0
- rapidata/rapidata_client/config/upload_config.py +64 -0
- rapidata/rapidata_client/datapoints/__init__.py +10 -0
- rapidata/rapidata_client/datapoints/_asset_uploader.py +169 -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 -0
- rapidata/rapidata_client/datapoints/assets/constants.py +7 -0
- rapidata/rapidata_client/{metadata → datapoints/metadata}/__init__.py +1 -0
- rapidata/rapidata_client/datapoints/metadata/_media_asset_metadata.py +26 -0
- rapidata/rapidata_client/datapoints/metadata/_private_text_metadata.py +16 -0
- rapidata/rapidata_client/datapoints/metadata/_prompt_identifier_metadata.py +14 -0
- rapidata/rapidata_client/datapoints/metadata/_prompt_metadata.py +12 -0
- rapidata/rapidata_client/datapoints/metadata/_public_text_metadata.py +16 -0
- rapidata/rapidata_client/{metadata → datapoints/metadata}/_select_words_metadata.py +4 -5
- rapidata/rapidata_client/demographic/demographic_manager.py +44 -19
- rapidata/rapidata_client/exceptions/__init__.py +1 -0
- rapidata/rapidata_client/exceptions/failed_upload_exception.py +20 -0
- rapidata/rapidata_client/filter/__init__.py +1 -0
- rapidata/rapidata_client/filter/_base_filter.py +27 -6
- rapidata/rapidata_client/filter/age_filter.py +21 -10
- rapidata/rapidata_client/filter/and_filter.py +42 -0
- rapidata/rapidata_client/filter/campaign_filter.py +18 -10
- rapidata/rapidata_client/filter/country_filter.py +34 -12
- rapidata/rapidata_client/filter/custom_filter.py +22 -12
- rapidata/rapidata_client/filter/gender_filter.py +22 -10
- rapidata/rapidata_client/filter/language_filter.py +39 -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 +11 -4
- rapidata/rapidata_client/filter/not_filter.py +23 -11
- rapidata/rapidata_client/filter/or_filter.py +23 -11
- rapidata/rapidata_client/filter/rapidata_filters.py +19 -13
- rapidata/rapidata_client/filter/response_count_filter.py +36 -20
- rapidata/rapidata_client/filter/user_score_filter.py +47 -24
- rapidata/rapidata_client/order/_rapidata_order_builder.py +289 -154
- rapidata/rapidata_client/order/dataset/_rapidata_dataset.py +153 -0
- rapidata/rapidata_client/order/rapidata_order.py +316 -163
- rapidata/rapidata_client/order/rapidata_order_manager.py +688 -430
- rapidata/rapidata_client/order/rapidata_results.py +86 -63
- rapidata/rapidata_client/rapidata_client.py +98 -36
- rapidata/rapidata_client/referee/__init__.py +1 -1
- rapidata/rapidata_client/referee/_base_referee.py +7 -3
- rapidata/rapidata_client/referee/_early_stopping_referee.py +20 -11
- rapidata/rapidata_client/referee/_naive_referee.py +18 -3
- rapidata/rapidata_client/selection/__init__.py +2 -2
- 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 +40 -10
- 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 +17 -8
- 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 +15 -2
- 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 +16 -3
- rapidata/rapidata_client/settings/swap_context_instruction.py +20 -0
- rapidata/rapidata_client/settings/translation_behaviour.py +7 -5
- rapidata/rapidata_client/validation/rapidata_validation_set.py +106 -12
- rapidata/rapidata_client/validation/rapids/_validation_rapid_uploader.py +62 -0
- rapidata/rapidata_client/validation/rapids/box.py +37 -12
- rapidata/rapidata_client/validation/rapids/rapids.py +28 -103
- rapidata/rapidata_client/validation/rapids/rapids_manager.py +315 -208
- rapidata/rapidata_client/validation/validation_set_manager.py +511 -274
- rapidata/rapidata_client/workflow/__init__.py +2 -1
- 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 +87 -0
- rapidata/rapidata_client/workflow/_ranking_workflow.py +109 -25
- 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 +79 -24
- rapidata/types/__init__.py +166 -0
- rapidata-2.44.3.dist-info/METADATA +32 -0
- rapidata-2.44.3.dist-info/RECORD +1014 -0
- {rapidata-2.28.2.dist-info → rapidata-2.44.3.dist-info}/WHEEL +1 -1
- rapidata/rapidata_client/api/rapidata_exception.py +0 -107
- rapidata/rapidata_client/assets/__init__.py +0 -10
- rapidata/rapidata_client/assets/_base_asset.py +0 -11
- rapidata/rapidata_client/assets/_media_asset.py +0 -306
- rapidata/rapidata_client/assets/_multi_asset.py +0 -61
- rapidata/rapidata_client/assets/_sessions.py +0 -35
- rapidata/rapidata_client/assets/_text_asset.py +0 -34
- rapidata/rapidata_client/assets/data_type_enum.py +0 -7
- rapidata/rapidata_client/country_codes/__init__.py +0 -1
- rapidata/rapidata_client/country_codes/country_codes.py +0 -19
- rapidata/rapidata_client/leaderboard/rapidata_leaderboard.py +0 -127
- rapidata/rapidata_client/leaderboard/rapidata_leaderboard_manager.py +0 -92
- 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/metadata/_media_asset_metadata.py +0 -15
- rapidata/rapidata_client/metadata/_private_text_metadata.py +0 -17
- rapidata/rapidata_client/metadata/_prompt_metadata.py +0 -18
- rapidata/rapidata_client/metadata/_public_text_metadata.py +0 -17
- rapidata/rapidata_client/order/_rapidata_dataset.py +0 -461
- rapidata/service/local_file_service.py +0 -25
- rapidata-2.28.2.dist-info/METADATA +0 -35
- rapidata-2.28.2.dist-info/RECORD +0 -574
- /rapidata/rapidata_client/{leaderboard → benchmark}/__init__.py +0 -0
- /rapidata/rapidata_client/{metadata → datapoints/metadata}/_base_metadata.py +0 -0
- {rapidata-2.28.2.dist-info → rapidata-2.44.3.dist-info/licenses}/LICENSE +0 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
from pathlib import Path
|
|
2
|
+
from typing import Callable
|
|
3
|
+
from pydantic import BaseModel, Field, field_validator
|
|
4
|
+
from rapidata.rapidata_client.config import logger
|
|
5
|
+
|
|
6
|
+
# Type alias for config update handlers
|
|
7
|
+
UploadConfigUpdateHandler = Callable[["UploadConfig"], None]
|
|
8
|
+
|
|
9
|
+
# Global list to store registered handlers
|
|
10
|
+
_upload_config_handlers: list[UploadConfigUpdateHandler] = []
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def register_upload_config_handler(handler: UploadConfigUpdateHandler) -> None:
|
|
14
|
+
"""Register a handler to be called when the upload configuration updates."""
|
|
15
|
+
_upload_config_handlers.append(handler)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def unregister_upload_config_handler(handler: UploadConfigUpdateHandler) -> None:
|
|
19
|
+
"""Unregister a previously registered handler."""
|
|
20
|
+
if handler in _upload_config_handlers:
|
|
21
|
+
_upload_config_handlers.remove(handler)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class UploadConfig(BaseModel):
|
|
25
|
+
"""
|
|
26
|
+
Holds the configuration for the upload process.
|
|
27
|
+
|
|
28
|
+
Attributes:
|
|
29
|
+
maxWorkers (int): The maximum number of worker threads for processing media paths. Defaults to 25.
|
|
30
|
+
maxRetries (int): The maximum number of retries for failed uploads. Defaults to 3.
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
maxWorkers: int = Field(default=25)
|
|
34
|
+
maxRetries: int = Field(default=3)
|
|
35
|
+
cacheUploads: bool = Field(default=True)
|
|
36
|
+
cacheTimeout: float = Field(default=0.1)
|
|
37
|
+
cacheLocation: Path = Field(default=Path.home() / ".rapidata" / "upload_cache")
|
|
38
|
+
cacheSizeLimit: int = Field(default=100_000_000) # 100MB
|
|
39
|
+
|
|
40
|
+
@field_validator("maxWorkers")
|
|
41
|
+
@classmethod
|
|
42
|
+
def validate_max_workers(cls, v: int) -> int:
|
|
43
|
+
if v > 200:
|
|
44
|
+
logger.warning(
|
|
45
|
+
f"maxWorkers is set to {v}, which is above the recommended limit of 200 and default optimum of 25. "
|
|
46
|
+
"This may lead to suboptimal performance due to connection pool constraints."
|
|
47
|
+
)
|
|
48
|
+
return v
|
|
49
|
+
|
|
50
|
+
def __init__(self, **kwargs):
|
|
51
|
+
super().__init__(**kwargs)
|
|
52
|
+
self._notify_handlers()
|
|
53
|
+
|
|
54
|
+
def __setattr__(self, name: str, value) -> None:
|
|
55
|
+
super().__setattr__(name, value)
|
|
56
|
+
self._notify_handlers()
|
|
57
|
+
|
|
58
|
+
def _notify_handlers(self) -> None:
|
|
59
|
+
"""Notify all registered handlers that the configuration has updated."""
|
|
60
|
+
for handler in _upload_config_handlers:
|
|
61
|
+
try:
|
|
62
|
+
handler(self)
|
|
63
|
+
except Exception as e:
|
|
64
|
+
logger.warning(f"Warning: UploadConfig handler failed: {e}")
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import re
|
|
4
|
+
import os
|
|
5
|
+
from typing import TYPE_CHECKING, cast
|
|
6
|
+
|
|
7
|
+
from rapidata.rapidata_client.config.upload_config import register_upload_config_handler
|
|
8
|
+
from rapidata.rapidata_client.config.upload_config import UploadConfig
|
|
9
|
+
from rapidata.service.openapi_service import OpenAPIService
|
|
10
|
+
from rapidata.rapidata_client.config import logger
|
|
11
|
+
from rapidata.rapidata_client.config import tracer
|
|
12
|
+
from rapidata.rapidata_client.config import rapidata_config
|
|
13
|
+
from diskcache import FanoutCache
|
|
14
|
+
|
|
15
|
+
if TYPE_CHECKING:
|
|
16
|
+
from rapidata.api_client.models.i_asset_input import IAssetInput
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class AssetUploader:
|
|
20
|
+
_shared_upload_cache: FanoutCache = FanoutCache(
|
|
21
|
+
rapidata_config.upload.cacheLocation,
|
|
22
|
+
shards=rapidata_config.upload.maxWorkers,
|
|
23
|
+
timeout=rapidata_config.upload.cacheTimeout,
|
|
24
|
+
size_limit=rapidata_config.upload.cacheSizeLimit,
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
def __init__(self, openapi_service: OpenAPIService):
|
|
28
|
+
self.openapi_service = openapi_service
|
|
29
|
+
# Register the handler for config update changes
|
|
30
|
+
register_upload_config_handler(self._handle_config_update)
|
|
31
|
+
|
|
32
|
+
@classmethod
|
|
33
|
+
def _handle_config_update(cls, config: UploadConfig):
|
|
34
|
+
"""
|
|
35
|
+
Handle updates to the upload config (e.g., cache location, size, workers, timeout).
|
|
36
|
+
Re-instantiates the shared cache based on the new configuration.
|
|
37
|
+
"""
|
|
38
|
+
logger.debug("Updating AssetUploader shared upload cache with new config")
|
|
39
|
+
try:
|
|
40
|
+
# Dispose of the old cache (closes open resources)
|
|
41
|
+
old_cache = getattr(cls, "_shared_upload_cache", None)
|
|
42
|
+
if old_cache:
|
|
43
|
+
try:
|
|
44
|
+
old_cache.close()
|
|
45
|
+
except Exception:
|
|
46
|
+
pass # ignore close errors
|
|
47
|
+
|
|
48
|
+
# Re-initialize with the updated config
|
|
49
|
+
cls._shared_upload_cache = FanoutCache(
|
|
50
|
+
config.cacheLocation,
|
|
51
|
+
shards=config.maxWorkers,
|
|
52
|
+
timeout=config.cacheTimeout,
|
|
53
|
+
size_limit=config.cacheSizeLimit,
|
|
54
|
+
)
|
|
55
|
+
logger.info(
|
|
56
|
+
"AssetUploader shared upload cache updated: location=%s, shards=%s, timeout=%s, size_limit=%s",
|
|
57
|
+
config.cacheLocation,
|
|
58
|
+
config.maxWorkers,
|
|
59
|
+
config.cacheTimeout,
|
|
60
|
+
config.cacheSizeLimit,
|
|
61
|
+
)
|
|
62
|
+
except Exception as e:
|
|
63
|
+
logger.warning(f"Failed to update AssetUploader shared upload cache: {e}")
|
|
64
|
+
|
|
65
|
+
def _get_cache_key(self, asset: str) -> str:
|
|
66
|
+
"""Generate cache key for an asset, including environment."""
|
|
67
|
+
env = self.openapi_service.environment
|
|
68
|
+
if not os.path.exists(asset):
|
|
69
|
+
raise FileNotFoundError(f"File not found: {asset}")
|
|
70
|
+
|
|
71
|
+
stat = os.stat(asset)
|
|
72
|
+
return f"{env}@{asset}:{stat.st_size}:{stat.st_mtime_ns}"
|
|
73
|
+
|
|
74
|
+
def upload_asset(self, asset: str) -> str:
|
|
75
|
+
with tracer.start_as_current_span("AssetUploader.upload_asset"):
|
|
76
|
+
logger.debug("Uploading asset: %s", asset)
|
|
77
|
+
assert isinstance(asset, str), "Asset must be a string"
|
|
78
|
+
if re.match(r"^https?://", asset):
|
|
79
|
+
response = self.openapi_service.asset_api.asset_url_post(
|
|
80
|
+
url=asset,
|
|
81
|
+
)
|
|
82
|
+
return response.file_name
|
|
83
|
+
|
|
84
|
+
asset_key = self._get_cache_key(asset)
|
|
85
|
+
cached_value = self._shared_upload_cache.get(asset_key)
|
|
86
|
+
if cached_value is not None:
|
|
87
|
+
logger.debug("Asset found in cache")
|
|
88
|
+
return cast(str, cached_value) # Type hint for the linter
|
|
89
|
+
|
|
90
|
+
response = self.openapi_service.asset_api.asset_file_post(
|
|
91
|
+
file=asset,
|
|
92
|
+
)
|
|
93
|
+
if rapidata_config.upload.cacheUploads:
|
|
94
|
+
self._shared_upload_cache[asset_key] = response.file_name
|
|
95
|
+
logger.debug("Asset added to cache")
|
|
96
|
+
logger.info("Asset uploaded: %s", response.file_name)
|
|
97
|
+
return response.file_name
|
|
98
|
+
|
|
99
|
+
def get_uploaded_text_input(self, assets: list[str] | str) -> IAssetInput:
|
|
100
|
+
from rapidata.api_client.models.i_asset_input import IAssetInput
|
|
101
|
+
from rapidata.api_client.models.i_asset_input_text_asset_input import (
|
|
102
|
+
IAssetInputTextAssetInput,
|
|
103
|
+
)
|
|
104
|
+
from rapidata.api_client.models.i_asset_input_multi_asset_input import (
|
|
105
|
+
IAssetInputMultiAssetInput,
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
if isinstance(assets, list):
|
|
109
|
+
return IAssetInput(
|
|
110
|
+
actual_instance=IAssetInputMultiAssetInput(
|
|
111
|
+
_t="MultiAssetInput",
|
|
112
|
+
assets=[
|
|
113
|
+
IAssetInput(
|
|
114
|
+
actual_instance=IAssetInputTextAssetInput(
|
|
115
|
+
_t="TextAssetInput", text=asset
|
|
116
|
+
)
|
|
117
|
+
)
|
|
118
|
+
for asset in assets
|
|
119
|
+
],
|
|
120
|
+
)
|
|
121
|
+
)
|
|
122
|
+
else:
|
|
123
|
+
return IAssetInput(
|
|
124
|
+
actual_instance=IAssetInputTextAssetInput(
|
|
125
|
+
_t="TextAssetInput", text=assets
|
|
126
|
+
)
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
def get_uploaded_asset_input(self, assets: list[str] | str) -> IAssetInput:
|
|
130
|
+
from rapidata.api_client.models.i_asset_input import IAssetInput
|
|
131
|
+
from rapidata.api_client.models.i_asset_input_existing_asset_input import (
|
|
132
|
+
IAssetInputExistingAssetInput,
|
|
133
|
+
)
|
|
134
|
+
from rapidata.api_client.models.i_asset_input_multi_asset_input import (
|
|
135
|
+
IAssetInputMultiAssetInput,
|
|
136
|
+
)
|
|
137
|
+
|
|
138
|
+
if isinstance(assets, list):
|
|
139
|
+
return IAssetInput(
|
|
140
|
+
actual_instance=IAssetInputMultiAssetInput(
|
|
141
|
+
_t="MultiAssetInput",
|
|
142
|
+
assets=[
|
|
143
|
+
IAssetInput(
|
|
144
|
+
actual_instance=IAssetInputExistingAssetInput(
|
|
145
|
+
_t="ExistingAssetInput",
|
|
146
|
+
name=self.upload_asset(asset),
|
|
147
|
+
)
|
|
148
|
+
)
|
|
149
|
+
for asset in assets
|
|
150
|
+
],
|
|
151
|
+
)
|
|
152
|
+
)
|
|
153
|
+
else:
|
|
154
|
+
return IAssetInput(
|
|
155
|
+
actual_instance=IAssetInputExistingAssetInput(
|
|
156
|
+
_t="ExistingAssetInput",
|
|
157
|
+
name=self.upload_asset(assets),
|
|
158
|
+
)
|
|
159
|
+
)
|
|
160
|
+
|
|
161
|
+
def clear_cache(self):
|
|
162
|
+
self._shared_upload_cache.clear()
|
|
163
|
+
logger.info("Upload cache cleared")
|
|
164
|
+
|
|
165
|
+
def __str__(self) -> str:
|
|
166
|
+
return f"AssetUploader(openapi_service={self.openapi_service})"
|
|
167
|
+
|
|
168
|
+
def __repr__(self) -> str:
|
|
169
|
+
return f"AssetUploader(openapi_service={self.openapi_service})"
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import Literal, TYPE_CHECKING
|
|
4
|
+
|
|
5
|
+
from pydantic import BaseModel, model_validator, field_validator
|
|
6
|
+
from typing_extensions import Self
|
|
7
|
+
from rapidata.rapidata_client.datapoints.assets.constants import (
|
|
8
|
+
ALLOWED_VIDEO_EXTENSIONS,
|
|
9
|
+
ALLOWED_IMAGE_EXTENSIONS,
|
|
10
|
+
ALLOWED_AUDIO_EXTENSIONS,
|
|
11
|
+
)
|
|
12
|
+
from rapidata.rapidata_client.config import logger
|
|
13
|
+
|
|
14
|
+
if TYPE_CHECKING:
|
|
15
|
+
from rapidata.api_client.models.asset_type import AssetType
|
|
16
|
+
from rapidata.api_client.models.prompt_type import PromptType
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class Datapoint(BaseModel):
|
|
20
|
+
asset: str | list[str]
|
|
21
|
+
data_type: Literal["text", "media"]
|
|
22
|
+
context: str | None = None
|
|
23
|
+
media_context: str | None = None
|
|
24
|
+
sentence: str | None = None
|
|
25
|
+
private_note: str | None = None
|
|
26
|
+
group: str | None = None
|
|
27
|
+
|
|
28
|
+
@field_validator("context")
|
|
29
|
+
@classmethod
|
|
30
|
+
def context_not_empty(cls, v: str | None) -> str | None:
|
|
31
|
+
if v is not None and v == "":
|
|
32
|
+
raise ValueError(
|
|
33
|
+
"context cannot be an empty string. If not needed, set to None."
|
|
34
|
+
)
|
|
35
|
+
return v
|
|
36
|
+
|
|
37
|
+
@field_validator("media_context")
|
|
38
|
+
@classmethod
|
|
39
|
+
def media_context_not_empty(cls, v: str | None) -> str | None:
|
|
40
|
+
if v is not None and v == "":
|
|
41
|
+
raise ValueError(
|
|
42
|
+
"media_context cannot be an empty string. If not needed, set to None."
|
|
43
|
+
)
|
|
44
|
+
return v
|
|
45
|
+
|
|
46
|
+
@field_validator("sentence")
|
|
47
|
+
@classmethod
|
|
48
|
+
def sentence_has_space(cls, v: str | None) -> str | None:
|
|
49
|
+
if v is not None and len(v.split()) <= 1:
|
|
50
|
+
raise ValueError("sentence must contain at least two words.")
|
|
51
|
+
return v
|
|
52
|
+
|
|
53
|
+
@model_validator(mode="after")
|
|
54
|
+
def check_sentence_and_context(self) -> Self:
|
|
55
|
+
if isinstance(self.sentence, str) and isinstance(self.context, str):
|
|
56
|
+
raise ValueError(
|
|
57
|
+
"Both 'sentence' and 'context' cannot be strings at the same time."
|
|
58
|
+
)
|
|
59
|
+
return self
|
|
60
|
+
|
|
61
|
+
def get_asset_type(self) -> AssetType:
|
|
62
|
+
from rapidata.api_client.models.asset_type import AssetType
|
|
63
|
+
|
|
64
|
+
if self.data_type == "text":
|
|
65
|
+
return AssetType.TEXT
|
|
66
|
+
|
|
67
|
+
evaluation_asset = self.asset[0] if isinstance(self.asset, list) else self.asset
|
|
68
|
+
if any(evaluation_asset.endswith(ext) for ext in ALLOWED_IMAGE_EXTENSIONS):
|
|
69
|
+
return AssetType.IMAGE
|
|
70
|
+
elif any(evaluation_asset.endswith(ext) for ext in ALLOWED_VIDEO_EXTENSIONS):
|
|
71
|
+
return AssetType.VIDEO
|
|
72
|
+
elif any(evaluation_asset.endswith(ext) for ext in ALLOWED_AUDIO_EXTENSIONS):
|
|
73
|
+
return AssetType.AUDIO
|
|
74
|
+
else:
|
|
75
|
+
logger.debug(
|
|
76
|
+
f"Cannot get asset type for asset type: {type(evaluation_asset)}"
|
|
77
|
+
)
|
|
78
|
+
return AssetType.NONE
|
|
79
|
+
|
|
80
|
+
def get_prompt_type(self) -> list[PromptType]:
|
|
81
|
+
from rapidata.api_client.models.prompt_type import PromptType
|
|
82
|
+
|
|
83
|
+
prompt_types = []
|
|
84
|
+
if self.context:
|
|
85
|
+
prompt_types.append(PromptType.TEXT)
|
|
86
|
+
if self.media_context:
|
|
87
|
+
prompt_types.append(PromptType.ASSET)
|
|
88
|
+
|
|
89
|
+
if len(prompt_types) == 0:
|
|
90
|
+
return [PromptType.NONE]
|
|
91
|
+
|
|
92
|
+
return prompt_types
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import TYPE_CHECKING
|
|
4
|
+
|
|
5
|
+
from rapidata.rapidata_client.datapoints._datapoint import Datapoint
|
|
6
|
+
from rapidata.service.openapi_service import OpenAPIService
|
|
7
|
+
from rapidata.rapidata_client.datapoints._asset_uploader import AssetUploader
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from rapidata.api_client.models.create_datapoint_result import CreateDatapointResult
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class DatapointUploader:
|
|
14
|
+
def __init__(self, openapi_service: OpenAPIService):
|
|
15
|
+
self.openapi_service = openapi_service
|
|
16
|
+
self.asset_uploader = AssetUploader(openapi_service)
|
|
17
|
+
|
|
18
|
+
def upload_datapoint(
|
|
19
|
+
self, datapoint: Datapoint, dataset_id: str, index: int
|
|
20
|
+
) -> CreateDatapointResult:
|
|
21
|
+
from rapidata.api_client.models.create_datapoint_model import (
|
|
22
|
+
CreateDatapointModel,
|
|
23
|
+
)
|
|
24
|
+
from rapidata.api_client.models.i_asset_input import IAssetInput
|
|
25
|
+
|
|
26
|
+
uploaded_asset: IAssetInput = (
|
|
27
|
+
self.asset_uploader.get_uploaded_asset_input(datapoint.asset)
|
|
28
|
+
if datapoint.data_type == "media"
|
|
29
|
+
else self.asset_uploader.get_uploaded_text_input(datapoint.asset)
|
|
30
|
+
)
|
|
31
|
+
return self.openapi_service.dataset_api.dataset_dataset_id_datapoint_post(
|
|
32
|
+
dataset_id=dataset_id,
|
|
33
|
+
create_datapoint_model=CreateDatapointModel(
|
|
34
|
+
asset=uploaded_asset,
|
|
35
|
+
context=datapoint.context,
|
|
36
|
+
contextAsset=(
|
|
37
|
+
self.asset_uploader.get_uploaded_asset_input(
|
|
38
|
+
datapoint.media_context
|
|
39
|
+
)
|
|
40
|
+
if datapoint.media_context
|
|
41
|
+
else None
|
|
42
|
+
),
|
|
43
|
+
transcription=datapoint.sentence,
|
|
44
|
+
sortIndex=index,
|
|
45
|
+
group=datapoint.group,
|
|
46
|
+
),
|
|
47
|
+
)
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
from itertools import zip_longest
|
|
2
|
+
from typing import Literal, cast, Iterable
|
|
3
|
+
from rapidata.rapidata_client.datapoints._datapoint import Datapoint
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class DatapointsValidator:
|
|
7
|
+
@staticmethod
|
|
8
|
+
def validate_datapoints(
|
|
9
|
+
datapoints: list[str] | list[list[str]],
|
|
10
|
+
contexts: list[str] | None = None,
|
|
11
|
+
media_contexts: list[str] | None = None,
|
|
12
|
+
sentences: list[str] | None = None,
|
|
13
|
+
private_notes: list[str] | None = None,
|
|
14
|
+
groups: list[str] | None = None,
|
|
15
|
+
) -> None:
|
|
16
|
+
if contexts and len(contexts) != len(datapoints):
|
|
17
|
+
raise ValueError("Number of contexts must match number of datapoints")
|
|
18
|
+
if media_contexts and len(media_contexts) != len(datapoints):
|
|
19
|
+
raise ValueError("Number of media contexts must match number of datapoints")
|
|
20
|
+
if sentences and len(sentences) != len(datapoints):
|
|
21
|
+
raise ValueError("Number of sentences must match number of datapoints")
|
|
22
|
+
if private_notes and len(private_notes) != len(datapoints):
|
|
23
|
+
raise ValueError("Number of private notes must match number of datapoints")
|
|
24
|
+
if groups and (
|
|
25
|
+
len(groups) != len(datapoints) or len(groups) != len(set(groups))
|
|
26
|
+
):
|
|
27
|
+
raise ValueError(
|
|
28
|
+
"Number of groups must match number of datapoints and must be unique."
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
@staticmethod
|
|
32
|
+
def map_datapoints(
|
|
33
|
+
datapoints: list[str] | list[list[str]],
|
|
34
|
+
contexts: list[str] | None = None,
|
|
35
|
+
media_contexts: list[str] | None = None,
|
|
36
|
+
sentences: list[str] | None = None,
|
|
37
|
+
private_notes: list[str] | None = None,
|
|
38
|
+
groups: list[str] | None = None,
|
|
39
|
+
data_type: Literal["text", "media"] = "media",
|
|
40
|
+
) -> list[Datapoint]:
|
|
41
|
+
DatapointsValidator.validate_datapoints(
|
|
42
|
+
datapoints=datapoints,
|
|
43
|
+
contexts=contexts,
|
|
44
|
+
media_contexts=media_contexts,
|
|
45
|
+
sentences=sentences,
|
|
46
|
+
private_notes=private_notes,
|
|
47
|
+
groups=groups,
|
|
48
|
+
)
|
|
49
|
+
return [
|
|
50
|
+
Datapoint(
|
|
51
|
+
asset=asset,
|
|
52
|
+
data_type=data_type,
|
|
53
|
+
context=context,
|
|
54
|
+
media_context=media_context,
|
|
55
|
+
sentence=sentence,
|
|
56
|
+
private_note=private_note,
|
|
57
|
+
group=group,
|
|
58
|
+
)
|
|
59
|
+
for asset, context, media_context, sentence, private_note, group in cast(
|
|
60
|
+
"Iterable[tuple[str | list[str], str | None, str | None, str | None, str | None, str | None]]", # because iterator only supports 5 arguments with specific type casting
|
|
61
|
+
zip_longest(
|
|
62
|
+
datapoints,
|
|
63
|
+
contexts or [],
|
|
64
|
+
media_contexts or [],
|
|
65
|
+
sentences or [],
|
|
66
|
+
private_notes or [],
|
|
67
|
+
groups or [],
|
|
68
|
+
),
|
|
69
|
+
)
|
|
70
|
+
]
|
|
File without changes
|
|
@@ -4,3 +4,4 @@ from ._public_text_metadata import PublicTextMetadata
|
|
|
4
4
|
from ._prompt_metadata import PromptMetadata
|
|
5
5
|
from ._select_words_metadata import SelectWordsMetadata
|
|
6
6
|
from ._media_asset_metadata import MediaAssetMetadata
|
|
7
|
+
from ._prompt_identifier_metadata import PromptIdentifierMetadata
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
from rapidata.api_client.models.prompt_asset_metadata_input import (
|
|
2
|
+
PromptAssetMetadataInput,
|
|
3
|
+
)
|
|
4
|
+
from rapidata.rapidata_client.datapoints.metadata._base_metadata import Metadata
|
|
5
|
+
from rapidata.api_client.models.multi_asset_input_assets_inner import (
|
|
6
|
+
ExistingAssetInput,
|
|
7
|
+
)
|
|
8
|
+
from rapidata.api_client.models.prompt_asset_metadata_input_asset import (
|
|
9
|
+
PromptAssetMetadataInputAsset,
|
|
10
|
+
)
|
|
11
|
+
from pydantic import BaseModel
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class MediaAssetMetadata(Metadata, BaseModel):
|
|
15
|
+
internal_file_name: str
|
|
16
|
+
|
|
17
|
+
def to_model(self):
|
|
18
|
+
return PromptAssetMetadataInput(
|
|
19
|
+
_t="PromptAssetMetadataInput",
|
|
20
|
+
asset=PromptAssetMetadataInputAsset(
|
|
21
|
+
actual_instance=ExistingAssetInput(
|
|
22
|
+
_t="ExistingAssetInput",
|
|
23
|
+
name=self.internal_file_name,
|
|
24
|
+
),
|
|
25
|
+
),
|
|
26
|
+
)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from rapidata.api_client.models.private_text_metadata_input import (
|
|
2
|
+
PrivateTextMetadataInput,
|
|
3
|
+
)
|
|
4
|
+
from rapidata.rapidata_client.datapoints.metadata._base_metadata import Metadata
|
|
5
|
+
from pydantic import BaseModel
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class PrivateTextMetadata(Metadata, BaseModel):
|
|
9
|
+
|
|
10
|
+
text: str
|
|
11
|
+
identifier: str = "private_text"
|
|
12
|
+
|
|
13
|
+
def to_model(self):
|
|
14
|
+
return PrivateTextMetadataInput(
|
|
15
|
+
_t="PrivateTextMetadataInput", identifier=self.identifier, text=self.text
|
|
16
|
+
)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from rapidata.rapidata_client.datapoints.metadata._base_metadata import Metadata
|
|
2
|
+
from rapidata.api_client.models.private_text_metadata_input import (
|
|
3
|
+
PrivateTextMetadataInput,
|
|
4
|
+
)
|
|
5
|
+
from pydantic import BaseModel
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class PromptIdentifierMetadata(Metadata, BaseModel):
|
|
9
|
+
identifier: str
|
|
10
|
+
|
|
11
|
+
def to_model(self):
|
|
12
|
+
return PrivateTextMetadataInput(
|
|
13
|
+
_t="PrivateTextMetadataInput", identifier="prompt-id", text=self.identifier
|
|
14
|
+
)
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from rapidata.rapidata_client.datapoints.metadata._base_metadata import Metadata
|
|
2
|
+
from rapidata.api_client.models.prompt_metadata_input import PromptMetadataInput
|
|
3
|
+
from pydantic import BaseModel
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class PromptMetadata(Metadata, BaseModel):
|
|
7
|
+
"""The PromptMetadata class is used to display a prompt to the user."""
|
|
8
|
+
|
|
9
|
+
prompt: str
|
|
10
|
+
|
|
11
|
+
def to_model(self):
|
|
12
|
+
return PromptMetadataInput(_t="PromptMetadataInput", prompt=self.prompt)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from rapidata.api_client.models.public_text_metadata_input import (
|
|
2
|
+
PublicTextMetadataInput,
|
|
3
|
+
)
|
|
4
|
+
from rapidata.rapidata_client.datapoints.metadata._base_metadata import Metadata
|
|
5
|
+
from pydantic import BaseModel
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class PublicTextMetadata(Metadata, BaseModel):
|
|
9
|
+
|
|
10
|
+
text: str
|
|
11
|
+
identifier: str = "public_text"
|
|
12
|
+
|
|
13
|
+
def to_model(self):
|
|
14
|
+
return PublicTextMetadataInput(
|
|
15
|
+
_t="PublicTextMetadataInput", identifier=self.identifier, text=self.text
|
|
16
|
+
)
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
from rapidata.api_client.models.transcription_metadata_input import (
|
|
2
2
|
TranscriptionMetadataInput,
|
|
3
3
|
)
|
|
4
|
-
from rapidata.rapidata_client.metadata._base_metadata import Metadata
|
|
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(
|
|
@@ -1,29 +1,54 @@
|
|
|
1
1
|
from rapidata.service.openapi_service import OpenAPIService
|
|
2
|
-
from rapidata.rapidata_client.
|
|
3
|
-
from rapidata.
|
|
4
|
-
|
|
5
|
-
from rapidata.rapidata_client.logging import logger
|
|
2
|
+
from rapidata.rapidata_client.config import logger
|
|
3
|
+
from rapidata.rapidata_client.datapoints._asset_uploader import AssetUploader
|
|
4
|
+
|
|
6
5
|
|
|
7
6
|
class DemographicManager:
|
|
8
7
|
def __init__(self, openapi_service: OpenAPIService):
|
|
9
8
|
self._openapi_service = openapi_service
|
|
9
|
+
self._asset_uploader = AssetUploader(openapi_service)
|
|
10
10
|
logger.debug("DemographicManager initialized")
|
|
11
|
-
|
|
12
|
-
def create_demographic_rapid(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
|
|
12
|
+
def create_demographic_rapid(
|
|
13
|
+
self, instruction: str, answer_options: list[str], datapoint: str, key: str
|
|
14
|
+
):
|
|
15
|
+
from rapidata.api_client.models.classify_payload import ClassifyPayload
|
|
16
|
+
from rapidata.api_client.models.classify_payload_category import (
|
|
17
|
+
ClassifyPayloadCategory,
|
|
18
|
+
)
|
|
19
|
+
from rapidata.api_client.models.create_demographic_rapid_model import (
|
|
20
|
+
CreateDemographicRapidModel,
|
|
21
|
+
)
|
|
22
|
+
from rapidata.api_client.models.i_asset_input import IAssetInput
|
|
23
|
+
from rapidata.api_client.models.i_asset_input_existing_asset_input import (
|
|
24
|
+
IAssetInputExistingAssetInput,
|
|
25
|
+
)
|
|
26
|
+
|
|
19
27
|
model = CreateDemographicRapidModel(
|
|
20
28
|
key=key,
|
|
21
29
|
payload=ClassifyPayload(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
30
|
+
categories=[
|
|
31
|
+
ClassifyPayloadCategory(label=option, value=option)
|
|
32
|
+
for option in answer_options
|
|
33
|
+
],
|
|
34
|
+
title=instruction,
|
|
35
|
+
),
|
|
36
|
+
asset=IAssetInput(
|
|
37
|
+
actual_instance=IAssetInputExistingAssetInput(
|
|
38
|
+
_t="ExistingAssetInput",
|
|
39
|
+
name=self._asset_uploader.upload_asset(datapoint),
|
|
40
|
+
),
|
|
41
|
+
),
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
result = self._openapi_service.rapid_api.rapid_demographic_post(
|
|
45
|
+
create_demographic_rapid_model=model
|
|
26
46
|
)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
47
|
+
logger.info(f"Demographic Rapid created: {result.rapid_id}")
|
|
48
|
+
return result.rapid_id
|
|
49
|
+
|
|
50
|
+
def __str__(self) -> str:
|
|
51
|
+
return "DemographicManager"
|
|
52
|
+
|
|
53
|
+
def __repr__(self) -> str:
|
|
54
|
+
return self.__str__()
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .failed_upload_exception import FailedUploadException
|