rapidata 1.8.3__py3-none-any.whl → 2.44.4__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 +32 -16
- rapidata/api_client/__init__.py +83 -279
- rapidata/api_client/api/__init__.py +14 -4
- 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 +926 -125
- rapidata/api_client/api/client_api.py +589 -42
- rapidata/api_client/api/coco_api.py +45 -45
- rapidata/api_client/api/compare_workflow_api.py +47 -45
- rapidata/api_client/api/{validation_api.py → customer_rapid_api.py} +367 -378
- rapidata/api_client/api/datapoint_api.py +69 -336
- rapidata/api_client/api/dataset_api.py +263 -872
- rapidata/api_client/api/evaluation_workflow_api.py +319 -0
- rapidata/api_client/api/feedback_api.py +306 -0
- rapidata/api_client/api/grouped_ranking_workflow_api.py +319 -0
- rapidata/api_client/api/identity_api.py +365 -120
- rapidata/api_client/api/leaderboard_api.py +2550 -0
- rapidata/api_client/api/newsletter_api.py +35 -34
- rapidata/api_client/api/order_api.py +1111 -787
- rapidata/api_client/api/participant_api.py +2181 -0
- rapidata/api_client/api/pipeline_api.py +156 -139
- rapidata/api_client/api/prompt_api.py +320 -0
- rapidata/api_client/api/rapid_api.py +1288 -189
- 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 +47 -79
- rapidata/api_client/api/survey_api.py +304 -0
- rapidata/api_client/api/user_rapid_api.py +1389 -0
- rapidata/api_client/api/validation_set_api.py +3052 -0
- rapidata/api_client/api/workflow_api.py +410 -96
- 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 -260
- rapidata/api_client/models/ab_test_selection.py +122 -0
- rapidata/api_client/models/ab_test_selection_a_inner.py +240 -0
- rapidata/api_client/models/add_campaign_model.py +52 -11
- rapidata/api_client/models/add_campaign_model_user_filters_inner.py +224 -0
- rapidata/api_client/models/add_user_response_result.py +111 -0
- rapidata/api_client/models/add_user_response_result_validation_truth.py +258 -0
- rapidata/api_client/models/add_validation_rapid_model.py +61 -23
- 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_payload.py +30 -16
- rapidata/api_client/models/add_validation_rapid_model_truth.py +65 -17
- 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 +14 -9
- rapidata/api_client/models/age_group.py +5 -4
- 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 +5 -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 +87 -0
- rapidata/api_client/models/asset_metadata.py +106 -0
- rapidata/api_client/models/asset_metadata_asset.py +170 -0
- rapidata/api_client/models/asset_metadata_model.py +96 -0
- rapidata/api_client/models/asset_metadata_model_asset.py +170 -0
- rapidata/api_client/models/asset_type.py +40 -0
- rapidata/api_client/models/attach_category_rapid_blueprint.py +13 -3
- rapidata/api_client/models/attach_category_rapid_blueprint_category.py +89 -0
- rapidata/api_client/models/audience_status.py +38 -0
- rapidata/api_client/models/base_error.py +1 -4
- rapidata/api_client/models/benchmark_query_result.py +98 -0
- rapidata/api_client/models/benchmark_query_result_paged_result.py +105 -0
- rapidata/api_client/models/boost_leaderboard_model.py +89 -0
- rapidata/api_client/models/boost_mode.py +37 -0
- rapidata/api_client/models/boost_query_result.py +97 -0
- rapidata/api_client/models/boost_query_result_boost_mode.py +37 -0
- rapidata/api_client/models/boost_query_result_boost_status.py +39 -0
- rapidata/api_client/models/boost_status.py +39 -0
- rapidata/api_client/models/boosting_profile.py +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 +107 -0
- rapidata/api_client/models/campaign_query_result_paged_result.py +105 -0
- rapidata/api_client/models/campaign_status.py +4 -2
- rapidata/api_client/models/capped_selection.py +3 -3
- rapidata/api_client/models/change_boost_model.py +89 -0
- rapidata/api_client/models/classification_metadata.py +14 -5
- rapidata/api_client/models/classification_metadata_model.py +2 -4
- rapidata/api_client/models/classify_payload.py +14 -15
- rapidata/api_client/models/classify_payload_category.py +89 -0
- rapidata/api_client/models/client_model.py +181 -0
- rapidata/api_client/models/clients_query_result.py +2 -2
- 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_match_status.py +39 -0
- rapidata/api_client/models/compare_rapid_blueprint.py +5 -3
- rapidata/api_client/models/compare_rapid_blueprint1.py +96 -0
- rapidata/api_client/models/compare_result.py +4 -4
- rapidata/api_client/models/compare_workflow_config.py +31 -22
- rapidata/api_client/models/compare_workflow_config_context_asset.py +174 -0
- rapidata/api_client/models/compare_workflow_config_metadata_value.py +296 -0
- rapidata/api_client/models/compare_workflow_config_model.py +32 -29
- rapidata/api_client/models/compare_workflow_config_model_pair_maker_config.py +126 -0
- rapidata/api_client/models/compare_workflow_config_pair_maker_config.py +126 -0
- rapidata/api_client/models/compare_workflow_model.py +59 -14
- rapidata/api_client/models/compare_workflow_model1.py +32 -19
- rapidata/api_client/models/compare_workflow_model1_pair_maker_information.py +126 -0
- 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 +126 -0
- rapidata/api_client/models/comparison_operator.py +41 -0
- rapidata/api_client/models/conditional_validation_selection.py +9 -5
- 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/coordinate.py +2 -2
- rapidata/api_client/models/count_metadata.py +13 -4
- rapidata/api_client/models/count_metadata_model.py +2 -4
- 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 +89 -0
- rapidata/api_client/models/create_datapoint_from_files_model.py +102 -0
- rapidata/api_client/models/create_datapoint_from_files_model_metadata_inner.py +182 -0
- rapidata/api_client/models/create_datapoint_from_text_sources_model.py +109 -0
- rapidata/api_client/models/create_datapoint_from_urls_model.py +109 -0
- rapidata/api_client/models/create_datapoint_from_urls_model_metadata_inner.py +168 -0
- 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 +87 -0
- rapidata/api_client/models/create_datapoints_from_s3_bucket_model.py +124 -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_leaderboard_model.py +140 -0
- rapidata/api_client/models/create_leaderboard_participant_model.py +87 -0
- rapidata/api_client/models/create_leaderboard_participant_result.py +89 -0
- rapidata/api_client/models/create_leaderboard_result.py +99 -0
- rapidata/api_client/models/create_order_model.py +41 -52
- rapidata/api_client/models/create_order_model_referee.py +12 -12
- rapidata/api_client/models/create_order_model_user_filters_inner.py +83 -11
- 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 +87 -0
- 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 +87 -0
- rapidata/api_client/models/custom_user_filter_model.py +98 -0
- rapidata/api_client/models/datapoint.py +12 -28
- rapidata/api_client/models/datapoint_asset.py +40 -40
- rapidata/api_client/models/datapoint_metadata_model.py +13 -6
- rapidata/api_client/models/datapoint_model_paged_result.py +105 -0
- rapidata/api_client/models/datapoint_state.py +38 -0
- rapidata/api_client/models/dataset_dataset_id_datapoints_post_request_metadata_inner.py +182 -0
- rapidata/api_client/models/demographic.py +89 -0
- rapidata/api_client/models/demographic_filter.py +100 -0
- rapidata/api_client/models/demographic_metadata_model.py +18 -9
- rapidata/api_client/models/dynamic_client_registration_request.py +160 -0
- rapidata/api_client/models/early_stopping_referee_model.py +3 -3
- rapidata/api_client/models/effort_capped_selection.py +106 -0
- rapidata/api_client/models/elo_config.py +91 -0
- rapidata/api_client/models/elo_config_model.py +91 -0
- 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/evaluation_workflow_model1.py +115 -0
- 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 +15 -12
- rapidata/api_client/models/file_asset_input.py +104 -0
- rapidata/api_client/models/file_asset_input1.py +104 -0
- rapidata/api_client/models/file_asset_input1_file.py +168 -0
- rapidata/api_client/models/file_asset_input2.py +104 -0
- rapidata/api_client/models/file_asset_input3.py +104 -0
- rapidata/api_client/models/file_asset_input_file.py +168 -0
- rapidata/api_client/models/file_asset_metadata_value.py +252 -0
- rapidata/api_client/models/file_asset_model.py +18 -13
- rapidata/api_client/models/file_asset_model_metadata_inner.py +8 -22
- rapidata/api_client/models/file_asset_model_metadata_value.py +252 -0
- 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_classify_workflow_result_overview_result.py +144 -0
- rapidata/api_client/models/get_compare_ab_summary_result.py +87 -0
- rapidata/api_client/models/get_compare_workflow_results_model.py +106 -0
- rapidata/api_client/models/get_compare_workflow_results_result.py +95 -0
- rapidata/api_client/models/get_compare_workflow_results_result_asset.py +170 -0
- rapidata/api_client/models/get_compare_workflow_results_result_paged_result.py +105 -0
- rapidata/api_client/models/get_datapoint_by_id_result.py +103 -0
- 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 +93 -0
- rapidata/api_client/models/get_evaluation_workflow_results_model.py +119 -0
- rapidata/api_client/models/get_failed_datapoints_result.py +95 -0
- 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 +135 -0
- rapidata/api_client/models/get_order_by_id_result.py +12 -5
- rapidata/api_client/models/get_participant_by_id_result.py +91 -0
- rapidata/api_client/models/get_pipeline_by_id_result.py +18 -8
- 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 +106 -0
- 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 +95 -0
- 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 +119 -0
- rapidata/api_client/models/get_simple_workflow_results_result.py +118 -0
- rapidata/api_client/models/get_simple_workflow_results_result_paged_result.py +105 -0
- rapidata/api_client/models/get_standing_by_id_result.py +96 -0
- rapidata/api_client/models/get_validation_rapids_query.py +123 -0
- rapidata/api_client/models/get_validation_rapids_query_paged_result.py +105 -0
- rapidata/api_client/models/get_validation_rapids_result.py +150 -0
- rapidata/api_client/models/get_validation_rapids_result_asset.py +174 -0
- rapidata/api_client/models/get_validation_rapids_result_paged_result.py +105 -0
- rapidata/api_client/models/get_validation_rapids_result_payload.py +252 -0
- rapidata/api_client/models/get_validation_rapids_result_truth.py +286 -0
- 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 +37 -9
- rapidata/api_client/models/get_workflow_progress_result.py +5 -11
- rapidata/api_client/models/get_workflow_results_result.py +129 -0
- rapidata/api_client/models/get_workflow_results_result_paged_result.py +105 -0
- rapidata/api_client/models/get_workflow_results_result_response.py +103 -0
- rapidata/api_client/models/google_one_tap_login_model.py +87 -0
- 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/identity_read_bridge_token_get202_response.py +140 -0
- rapidata/api_client/models/image_dimension_metadata.py +13 -4
- rapidata/api_client/models/image_dimension_metadata_model.py +2 -4
- rapidata/api_client/models/inquire_file_metadata_result.py +100 -0
- rapidata/api_client/models/inspect_report_result.py +92 -0
- rapidata/api_client/models/json_web_key.py +224 -0
- rapidata/api_client/models/json_web_key_set.py +95 -0
- rapidata/api_client/models/labeling_selection.py +21 -4
- rapidata/api_client/models/language_filter.py +98 -0
- rapidata/api_client/models/leaderboard_query_result.py +135 -0
- rapidata/api_client/models/leaderboard_query_result_paged_result.py +105 -0
- rapidata/api_client/models/leaderboards_query_result.py +135 -0
- rapidata/api_client/models/line_result.py +3 -3
- rapidata/api_client/models/line_result_line.py +97 -0
- rapidata/api_client/models/line_result_line_point.py +89 -0
- rapidata/api_client/models/local_file_wrapper.py +120 -0
- rapidata/api_client/models/locate_coordinate.py +4 -13
- rapidata/api_client/models/location_metadata.py +14 -5
- rapidata/api_client/models/location_metadata_model.py +2 -4
- rapidata/api_client/models/logic_operator.py +3 -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/metadata_visibilities.py +1 -0
- rapidata/api_client/models/multi_asset.py +17 -12
- rapidata/api_client/models/multi_asset_assets_inner.py +170 -0
- rapidata/api_client/models/multi_asset_input.py +130 -0
- rapidata/api_client/models/multi_asset_input1.py +110 -0
- rapidata/api_client/models/multi_asset_input1_assets_inner.py +198 -0
- rapidata/api_client/models/multi_asset_input2.py +110 -0
- rapidata/api_client/models/multi_asset_input3.py +110 -0
- rapidata/api_client/models/multi_asset_input3_assets_inner.py +198 -0
- rapidata/api_client/models/multi_asset_input_assets_inner.py +156 -0
- rapidata/api_client/models/multi_asset_model.py +21 -16
- rapidata/api_client/models/multi_asset_model2.py +3 -3
- rapidata/api_client/models/multi_compare_truth.py +96 -0
- rapidata/api_client/models/naive_referee_info.py +96 -0
- rapidata/api_client/models/naive_referee_model.py +2 -2
- rapidata/api_client/models/named_classification.py +4 -13
- rapidata/api_client/models/never_ending_referee_info.py +94 -0
- rapidata/api_client/models/new_user_filter.py +96 -0
- rapidata/api_client/models/new_user_filter_model.py +94 -0
- rapidata/api_client/models/new_user_filter_model1.py +94 -0
- rapidata/api_client/models/newsletter_model.py +6 -6
- rapidata/api_client/models/not_available_yet_result.py +87 -0
- rapidata/api_client/models/not_filter.py +117 -0
- rapidata/api_client/models/not_user_filter_model.py +102 -0
- rapidata/api_client/models/null_asset.py +14 -9
- rapidata/api_client/models/null_asset_model.py +18 -13
- rapidata/api_client/models/online_pair_maker_config.py +98 -0
- rapidata/api_client/models/online_pair_maker_config_model.py +98 -0
- rapidata/api_client/models/online_pair_maker_information.py +100 -0
- rapidata/api_client/models/or_filter.py +121 -0
- rapidata/api_client/models/or_user_filter_model.py +106 -0
- rapidata/api_client/models/order_model.py +16 -13
- rapidata/api_client/models/order_state.py +3 -2
- rapidata/api_client/models/original_filename_metadata.py +14 -5
- rapidata/api_client/models/original_filename_metadata_model.py +2 -4
- 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 +113 -0
- rapidata/api_client/models/participant_by_leaderboard_paged_result.py +105 -0
- rapidata/api_client/models/participant_status.py +38 -0
- rapidata/api_client/models/pipeline_id_workflow_artifact_id_put_request.py +140 -0
- rapidata/api_client/models/pipeline_id_workflow_config_put_request.py +140 -0
- rapidata/api_client/models/pipeline_id_workflow_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/pre_arranged_pair_maker_config.py +100 -0
- rapidata/api_client/models/pre_arranged_pair_maker_config_model.py +96 -0
- rapidata/api_client/models/pre_arranged_pair_maker_information.py +102 -0
- rapidata/api_client/models/preliminary_download_model.py +87 -0
- rapidata/api_client/models/preliminary_download_result.py +87 -0
- rapidata/api_client/models/preview_order_model.py +87 -0
- rapidata/api_client/models/probabilistic_attach_category_referee_info.py +98 -0
- rapidata/api_client/models/problem_details.py +2 -20
- rapidata/api_client/models/prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/prompt_asset_metadata_input_asset.py +154 -0
- rapidata/api_client/models/prompt_by_benchmark_result.py +112 -0
- rapidata/api_client/models/prompt_by_benchmark_result_paged_result.py +105 -0
- rapidata/api_client/models/prompt_by_leaderboard_result.py +90 -0
- rapidata/api_client/models/prompt_by_leaderboard_result_paged_result.py +105 -0
- rapidata/api_client/models/prompt_metadata.py +13 -4
- rapidata/api_client/models/prompt_metadata_input.py +4 -6
- rapidata/api_client/models/prompt_metadata_model.py +2 -4
- 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/query_validation_rapids_result.py +50 -5
- rapidata/api_client/models/query_validation_rapids_result_asset.py +40 -40
- rapidata/api_client/models/query_validation_rapids_result_payload.py +252 -0
- rapidata/api_client/models/query_validation_rapids_result_truth.py +258 -0
- rapidata/api_client/models/rapid_answer.py +3 -1
- rapidata/api_client/models/rapid_answer_result.py +31 -17
- rapidata/api_client/models/rapid_issue.py +45 -0
- rapidata/api_client/models/rapid_modality.py +46 -0
- rapidata/api_client/models/rapid_model.py +157 -0
- rapidata/api_client/models/rapid_model_paged_result.py +105 -0
- rapidata/api_client/models/rapid_model_referee.py +154 -0
- rapidata/api_client/models/rapid_response.py +103 -0
- rapidata/api_client/models/rapid_response_result.py +266 -0
- rapidata/api_client/models/rapid_result_model.py +7 -7
- rapidata/api_client/models/rapid_result_model_result.py +31 -17
- rapidata/api_client/models/rapid_skipped_model.py +5 -5
- rapidata/api_client/models/rapid_state.py +41 -0
- rapidata/api_client/models/read_bridge_token_keys_result.py +3 -8
- rapidata/api_client/models/reference_asset_input.py +100 -0
- rapidata/api_client/models/report_model.py +109 -0
- rapidata/api_client/models/response_count_filter.py +103 -0
- rapidata/api_client/models/response_count_user_filter_model.py +101 -0
- rapidata/api_client/models/retrieval_mode.py +38 -0
- 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_payload.py +96 -0
- rapidata/api_client/models/scrub_range.py +89 -0
- rapidata/api_client/models/scrub_rapid_blueprint.py +96 -0
- rapidata/api_client/models/scrub_result.py +98 -0
- rapidata/api_client/models/scrub_truth.py +104 -0
- rapidata/api_client/models/send_survey_model.py +87 -0
- rapidata/api_client/models/shuffling_selection.py +106 -0
- rapidata/api_client/models/simple_workflow_config.py +6 -17
- rapidata/api_client/models/simple_workflow_config_blueprint.py +37 -23
- rapidata/api_client/models/simple_workflow_config_model.py +6 -22
- rapidata/api_client/models/simple_workflow_config_model_blueprint.py +31 -17
- rapidata/api_client/models/simple_workflow_get_result_overview_get200_response.py +16 -16
- rapidata/api_client/models/simple_workflow_model.py +14 -4
- rapidata/api_client/models/simple_workflow_model1.py +5 -12
- rapidata/api_client/models/simple_workflow_model_blueprint.py +31 -17
- rapidata/api_client/models/skip_truth.py +94 -0
- 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 +109 -0
- rapidata/api_client/models/source_url_metadata_model.py +96 -0
- 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 +39 -0
- rapidata/api_client/models/stream_file_wrapper.py +138 -0
- rapidata/api_client/models/streams_metadata.py +113 -0
- rapidata/api_client/models/streams_metadata_model.py +100 -0
- rapidata/api_client/models/string_segment.py +105 -0
- rapidata/api_client/models/submit_coco_model.py +1 -3
- rapidata/api_client/models/submit_order_model.py +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 +15 -10
- rapidata/api_client/models/text_asset_input.py +120 -0
- rapidata/api_client/models/text_asset_model.py +18 -13
- rapidata/api_client/models/text_metadata.py +20 -6
- rapidata/api_client/models/text_metadata_input.py +111 -0
- rapidata/api_client/models/text_metadata_model.py +9 -6
- rapidata/api_client/models/transcription_metadata.py +10 -4
- rapidata/api_client/models/transcription_metadata_input.py +4 -6
- rapidata/api_client/models/transcription_metadata_model.py +1 -3
- rapidata/api_client/models/transcription_truth.py +23 -4
- rapidata/api_client/models/transcription_word.py +2 -2
- rapidata/api_client/models/translated_prompt_metadata_model.py +2 -4
- rapidata/api_client/models/translated_string.py +2 -2
- rapidata/api_client/models/unlock_order_result.py +2 -2
- rapidata/api_client/models/update_access_model.py +1 -1
- rapidata/api_client/models/update_audience_request.py +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 +99 -0
- rapidata/api_client/models/update_dataset_name_model.py +87 -0
- rapidata/api_client/models/update_dimensions_model.py +87 -0
- rapidata/api_client/models/update_leaderboard_model.py +106 -0
- rapidata/api_client/models/update_leaderboard_name_model.py +87 -0
- rapidata/api_client/models/update_leaderboard_response_config_model.py +89 -0
- rapidata/api_client/models/update_order_name_model.py +87 -0
- 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 +125 -0
- rapidata/api_client/models/update_validation_rapid_model_context_asset.py +160 -0
- rapidata/api_client/models/update_validation_rapid_model_truth.py +280 -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/upload_files_from_s3_bucket_model.py +15 -5
- rapidata/api_client/models/upload_from_s3_result.py +87 -0
- rapidata/api_client/models/upload_text_sources_to_dataset_model.py +26 -4
- rapidata/api_client/models/url_asset_input.py +100 -0
- rapidata/api_client/models/user_action_restriction.py +37 -0
- rapidata/api_client/models/user_action_restriction_filter.py +101 -0
- rapidata/api_client/models/user_score_filter.py +102 -0
- rapidata/api_client/models/user_score_user_filter_model.py +9 -2
- 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_import_post_request_blueprint.py +31 -17
- rapidata/api_client/models/validation_set_model.py +39 -5
- rapidata/api_client/models/validation_set_overview_model.py +2 -2
- rapidata/api_client/models/validation_set_validation_set_id_rapid_post_payload_parameter.py +252 -0
- rapidata/api_client/models/validation_set_validation_set_id_rapid_post_truth_parameter.py +280 -0
- rapidata/api_client/models/validation_set_zip_post_request_blueprint.py +252 -0
- rapidata/api_client/models/video_duration_metadata.py +109 -0
- rapidata/api_client/models/video_duration_metadata_model.py +96 -0
- rapidata/api_client/models/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 +193 -154
- rapidata/api_client_README.md +488 -293
- rapidata/rapidata_client/__init__.py +27 -13
- 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 +145 -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/datapoints/metadata/__init__.py +7 -0
- rapidata/rapidata_client/{selection/base_selection.py → datapoints/metadata/_base_metadata.py} +2 -1
- 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/datapoints/metadata/_select_words_metadata.py +17 -0
- rapidata/rapidata_client/demographic/__init__.py +0 -0
- rapidata/rapidata_client/demographic/demographic_manager.py +54 -0
- rapidata/rapidata_client/exceptions/__init__.py +1 -0
- rapidata/rapidata_client/exceptions/failed_upload_exception.py +20 -0
- rapidata/rapidata_client/filter/__init__.py +7 -1
- rapidata/rapidata_client/filter/_base_filter.py +62 -0
- rapidata/rapidata_client/filter/age_filter.py +28 -10
- rapidata/rapidata_client/filter/and_filter.py +42 -0
- rapidata/rapidata_client/filter/campaign_filter.py +28 -11
- rapidata/rapidata_client/filter/country_filter.py +42 -13
- rapidata/rapidata_client/filter/custom_filter.py +39 -0
- rapidata/rapidata_client/filter/gender_filter.py +29 -10
- rapidata/rapidata_client/filter/language_filter.py +49 -15
- rapidata/rapidata_client/filter/models/__init__.py +0 -0
- rapidata/rapidata_client/filter/models/age_group.py +28 -0
- rapidata/rapidata_client/filter/models/gender.py +23 -0
- rapidata/rapidata_client/filter/new_user_filter.py +20 -0
- rapidata/rapidata_client/filter/not_filter.py +42 -0
- rapidata/rapidata_client/filter/or_filter.py +42 -0
- rapidata/rapidata_client/filter/rapidata_filters.py +60 -0
- rapidata/rapidata_client/filter/response_count_filter.py +62 -0
- rapidata/rapidata_client/filter/user_score_filter.py +60 -14
- rapidata/rapidata_client/order/_rapidata_order_builder.py +481 -0
- rapidata/rapidata_client/order/dataset/_rapidata_dataset.py +153 -0
- rapidata/rapidata_client/order/rapidata_order.py +393 -90
- rapidata/rapidata_client/order/rapidata_order_manager.py +922 -0
- rapidata/rapidata_client/order/rapidata_results.py +251 -0
- rapidata/rapidata_client/rapidata_client.py +125 -180
- rapidata/rapidata_client/referee/__init__.py +3 -3
- rapidata/rapidata_client/referee/{base_referee.py → _base_referee.py} +9 -5
- rapidata/rapidata_client/referee/_early_stopping_referee.py +62 -0
- rapidata/rapidata_client/referee/_naive_referee.py +48 -0
- rapidata/rapidata_client/selection/__init__.py +6 -1
- rapidata/rapidata_client/selection/_base_selection.py +16 -0
- rapidata/rapidata_client/selection/ab_test_selection.py +46 -0
- rapidata/rapidata_client/selection/capped_selection.py +34 -17
- rapidata/rapidata_client/selection/conditional_validation_selection.py +71 -21
- rapidata/rapidata_client/selection/demographic_selection.py +43 -8
- rapidata/rapidata_client/selection/effort_selection.py +49 -0
- rapidata/rapidata_client/selection/labeling_selection.py +45 -8
- rapidata/rapidata_client/selection/rapidata_retrieval_modes.py +21 -0
- rapidata/rapidata_client/selection/rapidata_selections.py +47 -0
- rapidata/rapidata_client/selection/shuffling_selection.py +44 -0
- rapidata/rapidata_client/selection/static_selection.py +33 -0
- rapidata/rapidata_client/selection/validation_selection.py +29 -6
- rapidata/rapidata_client/settings/__init__.py +12 -2
- rapidata/rapidata_client/settings/_rapidata_setting.py +24 -0
- rapidata/rapidata_client/settings/alert_on_fast_response.py +25 -0
- rapidata/rapidata_client/settings/allow_neither_both.py +17 -0
- rapidata/rapidata_client/settings/custom_setting.py +17 -0
- rapidata/rapidata_client/settings/free_text_minimum_characters.py +22 -0
- rapidata/rapidata_client/settings/models/__init__.py +1 -0
- rapidata/rapidata_client/settings/models/translation_behaviour_options.py +15 -0
- rapidata/rapidata_client/settings/mute_video.py +15 -0
- rapidata/rapidata_client/settings/no_shuffle.py +18 -0
- rapidata/rapidata_client/settings/play_video_until_the_end.py +19 -0
- rapidata/rapidata_client/settings/rapidata_settings.py +51 -0
- rapidata/rapidata_client/settings/swap_context_instruction.py +20 -0
- rapidata/rapidata_client/settings/translation_behaviour.py +20 -0
- rapidata/rapidata_client/validation/__init__.py +1 -0
- rapidata/rapidata_client/validation/rapidata_validation_set.py +141 -0
- rapidata/rapidata_client/validation/rapids/__init__.py +1 -0
- rapidata/rapidata_client/validation/rapids/_validation_rapid_uploader.py +62 -0
- rapidata/rapidata_client/validation/rapids/box.py +42 -0
- rapidata/rapidata_client/validation/rapids/rapids.py +29 -0
- rapidata/rapidata_client/validation/rapids/rapids_manager.py +469 -0
- rapidata/rapidata_client/validation/validation_set_manager.py +814 -0
- rapidata/rapidata_client/workflow/__init__.py +11 -6
- rapidata/rapidata_client/workflow/_base_workflow.py +43 -0
- rapidata/rapidata_client/workflow/_classify_workflow.py +92 -0
- rapidata/rapidata_client/workflow/_compare_workflow.py +76 -0
- rapidata/rapidata_client/workflow/_draw_workflow.py +52 -0
- rapidata/rapidata_client/workflow/_evaluation_workflow.py +47 -0
- rapidata/rapidata_client/workflow/_free_text_workflow.py +81 -0
- rapidata/rapidata_client/workflow/_locate_workflow.py +52 -0
- rapidata/rapidata_client/workflow/_multi_ranking_workflow.py +87 -0
- rapidata/rapidata_client/workflow/_ranking_workflow.py +131 -0
- rapidata/rapidata_client/workflow/_select_words_workflow.py +74 -0
- rapidata/rapidata_client/workflow/_timestamp_workflow.py +65 -0
- rapidata/service/__init__.py +0 -1
- rapidata/service/credential_manager.py +41 -32
- rapidata/service/openapi_service.py +153 -35
- rapidata/types/__init__.py +166 -0
- rapidata-2.44.4.dist-info/METADATA +32 -0
- rapidata-2.44.4.dist-info/RECORD +1014 -0
- {rapidata-1.8.3.dist-info → rapidata-2.44.4.dist-info}/WHEEL +1 -1
- rapidata/constants.py +0 -1
- rapidata/rapidata_client/assets/__init__.py +0 -8
- rapidata/rapidata_client/assets/base_asset.py +0 -11
- rapidata/rapidata_client/assets/media_asset.py +0 -88
- rapidata/rapidata_client/assets/multi_asset.py +0 -55
- rapidata/rapidata_client/assets/text_asset.py +0 -28
- rapidata/rapidata_client/country_codes/__init__.py +0 -1
- rapidata/rapidata_client/country_codes/country_codes.py +0 -19
- rapidata/rapidata_client/dataset/rapid_builders/__init__.py +0 -4
- rapidata/rapidata_client/dataset/rapid_builders/base_rapid_builder.py +0 -33
- rapidata/rapidata_client/dataset/rapid_builders/classify_rapid_builders.py +0 -166
- rapidata/rapidata_client/dataset/rapid_builders/compare_rapid_builders.py +0 -145
- rapidata/rapidata_client/dataset/rapid_builders/rapids.py +0 -32
- rapidata/rapidata_client/dataset/rapid_builders/transcription_rapid_builders.py +0 -132
- rapidata/rapidata_client/dataset/rapidata_dataset.py +0 -126
- rapidata/rapidata_client/dataset/rapidata_validation_set.py +0 -300
- rapidata/rapidata_client/dataset/validation_rapid_parts.py +0 -55
- rapidata/rapidata_client/dataset/validation_set_builder.py +0 -324
- rapidata/rapidata_client/filter/base_filter.py +0 -9
- rapidata/rapidata_client/metadata/__init__.py +0 -5
- rapidata/rapidata_client/metadata/base_metadata.py +0 -12
- rapidata/rapidata_client/metadata/private_text_metadata.py +0 -16
- rapidata/rapidata_client/metadata/prompt_metadata.py +0 -17
- rapidata/rapidata_client/metadata/public_text_metadata.py +0 -16
- rapidata/rapidata_client/metadata/transcription_metadata.py +0 -19
- rapidata/rapidata_client/order/rapidata_order_builder.py +0 -463
- rapidata/rapidata_client/referee/early_stopping_referee.py +0 -50
- rapidata/rapidata_client/referee/naive_referee.py +0 -33
- rapidata/rapidata_client/settings/feature_flags.py +0 -125
- rapidata/rapidata_client/settings/settings.py +0 -124
- rapidata/rapidata_client/simple_builders/simple_classification_builders.py +0 -245
- rapidata/rapidata_client/simple_builders/simple_compare_builders.py +0 -250
- rapidata/rapidata_client/simple_builders/simple_free_text_builders.py +0 -180
- rapidata/rapidata_client/simple_builders/simple_transcription_builders.py +0 -194
- rapidata/rapidata_client/workflow/base_workflow.py +0 -42
- rapidata/rapidata_client/workflow/classify_workflow.py +0 -49
- rapidata/rapidata_client/workflow/compare_workflow.py +0 -47
- rapidata/rapidata_client/workflow/evaluation_workflow.py +0 -15
- rapidata/rapidata_client/workflow/free_text_workflow.py +0 -50
- rapidata/rapidata_client/workflow/transcription_workflow.py +0 -40
- rapidata/service/local_file_service.py +0 -25
- rapidata/service/token_manager.py +0 -175
- rapidata-1.8.3.dist-info/METADATA +0 -28
- rapidata-1.8.3.dist-info/RECORD +0 -396
- /rapidata/rapidata_client/{dataset → api}/__init__.py +0 -0
- /rapidata/rapidata_client/{simple_builders → benchmark}/__init__.py +0 -0
- {rapidata-1.8.3.dist-info → rapidata-2.44.4.dist-info/licenses}/LICENSE +0 -0
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
from rapidata.api_client.models.feature_flag_model import FeatureFlagModel
|
|
2
|
-
from enum import Enum
|
|
3
|
-
|
|
4
|
-
class TranslationBehaviour(Enum):
|
|
5
|
-
BOTH = "both"
|
|
6
|
-
ONLY_ORIGINAL = "only original"
|
|
7
|
-
ONLY_TRANSLATED = "only translated"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class Settings:
|
|
11
|
-
"""A class to manage settings.
|
|
12
|
-
|
|
13
|
-
This class provides methods to set and manage various settings
|
|
14
|
-
used in the application.
|
|
15
|
-
|
|
16
|
-
Attributes:
|
|
17
|
-
_settings (dict[str, str]): A dictionary to store settings.
|
|
18
|
-
"""
|
|
19
|
-
|
|
20
|
-
def __init__(self):
|
|
21
|
-
"""Initialize the Settings object with an empty flags dictionary."""
|
|
22
|
-
self._settings: dict[str, str] = {}
|
|
23
|
-
|
|
24
|
-
def to_list(self) -> list[FeatureFlagModel]:
|
|
25
|
-
"""Convert the settings to a list of FeatureFlagModel objects.
|
|
26
|
-
|
|
27
|
-
Returns:
|
|
28
|
-
list[FeatureFlagModel]: A list of FeatureFlagModel objects
|
|
29
|
-
representing the current settings.
|
|
30
|
-
"""
|
|
31
|
-
return [
|
|
32
|
-
FeatureFlagModel(key=name, value=value)
|
|
33
|
-
for name, value in self._settings.items()
|
|
34
|
-
]
|
|
35
|
-
|
|
36
|
-
def alert_on_fast_response(self, milliseconds: int):
|
|
37
|
-
"""Gives an alert as a pop up on the UI when the response time is less than the threshold.
|
|
38
|
-
|
|
39
|
-
Args:
|
|
40
|
-
milliseconds (int): if the user responds in less than this time, an alert will be shown.
|
|
41
|
-
|
|
42
|
-
Returns:
|
|
43
|
-
Settings: The current Settings instance for method chaining.
|
|
44
|
-
"""
|
|
45
|
-
if milliseconds < 10:
|
|
46
|
-
print(
|
|
47
|
-
f"Warning: Are you sure you want to set the threshold so low ({milliseconds} milliseconds)?"
|
|
48
|
-
)
|
|
49
|
-
|
|
50
|
-
if milliseconds > 30000:
|
|
51
|
-
print(
|
|
52
|
-
f"Warning: Are you sure you want to set the threshold so high ({milliseconds/1000} seconds)?"
|
|
53
|
-
)
|
|
54
|
-
|
|
55
|
-
self._settings["alert_on_fast_response"] = str(milliseconds)
|
|
56
|
-
return self
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
def translation_behaviour(self, behaviour: TranslationBehaviour = TranslationBehaviour.BOTH):
|
|
60
|
-
"""Defines what's the behaviour of the translation in the UI.
|
|
61
|
-
|
|
62
|
-
The behaviour can be set to:
|
|
63
|
-
- TranslationBehaviour.BOTH: Show both the original and the translated text.
|
|
64
|
-
- TranslationBehaviour.ONLY_ORIGINAL: Show only the original text.
|
|
65
|
-
- TranslationBehaviour.ONLY_TRANSLATED: Show only the translated text.
|
|
66
|
-
|
|
67
|
-
Args:
|
|
68
|
-
behaviour (TranslationBehaviour): The translation behaviour. Defaults to TranslationBehaviour.BOTH.
|
|
69
|
-
|
|
70
|
-
Returns:
|
|
71
|
-
Settings: The current Settings instance for method chaining.
|
|
72
|
-
"""
|
|
73
|
-
self._settings["translation_behaviour"] = behaviour.value
|
|
74
|
-
return self
|
|
75
|
-
|
|
76
|
-
def free_text_minimum_characters(self, value: int):
|
|
77
|
-
"""Set the minimum number of characters a user has to type before the task can be successfully submitted.
|
|
78
|
-
|
|
79
|
-
Args:
|
|
80
|
-
value (int): The minimum number of characters for free text.
|
|
81
|
-
|
|
82
|
-
Returns:
|
|
83
|
-
Settings: The current Settings instance for method chaining.
|
|
84
|
-
"""
|
|
85
|
-
self._settings["free_text_minimum_characters"] = str(value)
|
|
86
|
-
return self
|
|
87
|
-
|
|
88
|
-
def no_shuffle(self, value: bool = True):
|
|
89
|
-
"""Only for classify tasks. If true, the order of the categories will be the same as the one in the workflow.
|
|
90
|
-
|
|
91
|
-
Args:
|
|
92
|
-
value (bool, optional): Whether to disable shuffling. Defaults to True.
|
|
93
|
-
|
|
94
|
-
Returns:
|
|
95
|
-
Settings: The current Settings instance for method chaining.
|
|
96
|
-
"""
|
|
97
|
-
self._settings["no_shuffle"] = str(value)
|
|
98
|
-
return self
|
|
99
|
-
|
|
100
|
-
def play_video_until_the_end(self, additional_time=0):
|
|
101
|
-
"""Allows users to only answer once the video has finished playing.
|
|
102
|
-
The additional time gets added on top. Can be negative to allow answers before the video ends.
|
|
103
|
-
|
|
104
|
-
Args:
|
|
105
|
-
additional_time (int, optional): Additional time in milliseconds. Defaults to 0.
|
|
106
|
-
|
|
107
|
-
Returns:
|
|
108
|
-
Settings: The current Settings instance for method chaining."""
|
|
109
|
-
|
|
110
|
-
self._settings["alert_on_fast_response_add_media_duration"] = str(additional_time)
|
|
111
|
-
return self
|
|
112
|
-
|
|
113
|
-
def key_value(self, key: str, value: str):
|
|
114
|
-
"""Set a custom setting with the given key and value. Use this to enable features that do not have a dedicated method (yet).
|
|
115
|
-
|
|
116
|
-
Args:
|
|
117
|
-
key (str): The key for the custom setting.
|
|
118
|
-
value (str): The value for the custom setting.
|
|
119
|
-
|
|
120
|
-
Returns:
|
|
121
|
-
Settings: The current Settings instance for method chaining.
|
|
122
|
-
"""
|
|
123
|
-
self._settings[key] = value
|
|
124
|
-
return self
|
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
from rapidata.constants import MAX_TIME_IN_SECONDS_FOR_ONE_SESSION
|
|
2
|
-
from rapidata.rapidata_client.order.rapidata_order import RapidataOrder
|
|
3
|
-
from rapidata.rapidata_client.order.rapidata_order_builder import RapidataOrderBuilder
|
|
4
|
-
from rapidata.rapidata_client.metadata import Metadata, PromptMetadata
|
|
5
|
-
from rapidata.rapidata_client.referee.naive_referee import NaiveReferee
|
|
6
|
-
from rapidata.rapidata_client.referee.early_stopping_referee import EarlyStoppingReferee
|
|
7
|
-
from rapidata.rapidata_client.selection.base_selection import Selection
|
|
8
|
-
from rapidata.rapidata_client.workflow.classify_workflow import ClassifyWorkflow
|
|
9
|
-
from rapidata.rapidata_client.selection.validation_selection import ValidationSelection
|
|
10
|
-
from rapidata.rapidata_client.selection.labeling_selection import LabelingSelection
|
|
11
|
-
from rapidata.service.openapi_service import OpenAPIService
|
|
12
|
-
from rapidata.rapidata_client.assets import MediaAsset, TextAsset, BaseAsset
|
|
13
|
-
from rapidata.rapidata_client.filter import Filter, CountryFilter, LanguageFilter
|
|
14
|
-
from rapidata.rapidata_client.settings import Settings, TranslationBehaviour
|
|
15
|
-
from deprecated import deprecated
|
|
16
|
-
from typing import Sequence
|
|
17
|
-
|
|
18
|
-
class ClassificationOrderBuilder:
|
|
19
|
-
def __init__(self,
|
|
20
|
-
name: str,
|
|
21
|
-
question: str,
|
|
22
|
-
options: list[str],
|
|
23
|
-
media_assets: list[BaseAsset],
|
|
24
|
-
openapi_service: OpenAPIService,
|
|
25
|
-
time_effort: int):
|
|
26
|
-
self._order_builder = RapidataOrderBuilder(name=name, openapi_service=openapi_service)
|
|
27
|
-
self._question = question
|
|
28
|
-
self._options = options
|
|
29
|
-
self._media_assets = media_assets
|
|
30
|
-
self._responses_required = 10
|
|
31
|
-
self._probability_threshold = None
|
|
32
|
-
self._metadata = None
|
|
33
|
-
self._validation_set_id = None
|
|
34
|
-
self._filters: list[Filter] = []
|
|
35
|
-
self._settings = Settings()
|
|
36
|
-
self._time_effort = time_effort
|
|
37
|
-
|
|
38
|
-
def prompts(self, prompts: list[str]) -> 'ClassificationOrderBuilder':
|
|
39
|
-
"""Set the prompts for the classification order. Has to be the same lenght as the media paths."""
|
|
40
|
-
if len(prompts) != len(self._media_assets):
|
|
41
|
-
raise ValueError("The number of prompts must be the same as the number of media paths")
|
|
42
|
-
|
|
43
|
-
if self._metadata is not None:
|
|
44
|
-
print("Warning: Metadata will be overwritten by prompts")
|
|
45
|
-
|
|
46
|
-
self._metadata = [PromptMetadata(prompt) for prompt in prompts]
|
|
47
|
-
return self
|
|
48
|
-
|
|
49
|
-
@deprecated("Use prompts instead")
|
|
50
|
-
def metadata(self, metadata: Sequence[Metadata]) -> 'ClassificationOrderBuilder':
|
|
51
|
-
"""Set the metadata for the classification order. Has to be the same lenght as the media paths."""
|
|
52
|
-
self._metadata = metadata
|
|
53
|
-
return self
|
|
54
|
-
|
|
55
|
-
def responses(self, responses_required: int) -> 'ClassificationOrderBuilder':
|
|
56
|
-
"""Set the number of responses required per datapoint for the classification order. Will default to 10."""
|
|
57
|
-
self._responses_required = responses_required
|
|
58
|
-
return self
|
|
59
|
-
|
|
60
|
-
def probability_threshold(self, probability_threshold: float) -> 'ClassificationOrderBuilder':
|
|
61
|
-
"""Set the probability threshold for early stopping."""
|
|
62
|
-
self._probability_threshold = probability_threshold
|
|
63
|
-
return self
|
|
64
|
-
|
|
65
|
-
def validation_set(self, validation_set_id: str) -> 'ClassificationOrderBuilder':
|
|
66
|
-
"""Set the validation set for the classification order."""
|
|
67
|
-
self._validation_set_id = validation_set_id
|
|
68
|
-
return self
|
|
69
|
-
|
|
70
|
-
def countries(self, country_codes: list[str]) -> 'ClassificationOrderBuilder':
|
|
71
|
-
"""Set the countries where order will be shown as country codes."""
|
|
72
|
-
self._filters.append(CountryFilter(country_codes))
|
|
73
|
-
return self
|
|
74
|
-
|
|
75
|
-
def languages(self, language_codes: list[str]) -> 'ClassificationOrderBuilder':
|
|
76
|
-
"""Set the languages where order will be shown as language codes."""
|
|
77
|
-
self._filters.append(LanguageFilter(language_codes))
|
|
78
|
-
return self
|
|
79
|
-
|
|
80
|
-
def translation(self, disable: bool = False, show_both: bool = False) -> 'ClassificationOrderBuilder':
|
|
81
|
-
"""Disable the translation of the order.
|
|
82
|
-
Only the question and the options will be translated.
|
|
83
|
-
|
|
84
|
-
Args:
|
|
85
|
-
disable (bool): Whether to disable the translation. Defaults to False.
|
|
86
|
-
show_both (bool): Whether to show the original text alongside the translation. Defaults to False.
|
|
87
|
-
ATTENTION: this can lead to cluttering of the UI if the texts are long, leading to bad results."""
|
|
88
|
-
|
|
89
|
-
if not isinstance(disable, bool) or not isinstance(show_both, bool):
|
|
90
|
-
raise ValueError("disable and show_both must be booleans.")
|
|
91
|
-
|
|
92
|
-
if disable and show_both:
|
|
93
|
-
raise ValueError("You can't disable the translation and show both at the same time.")
|
|
94
|
-
|
|
95
|
-
if show_both:
|
|
96
|
-
self._settings.translation_behaviour(TranslationBehaviour.BOTH)
|
|
97
|
-
return self
|
|
98
|
-
|
|
99
|
-
if disable:
|
|
100
|
-
self._settings.translation_behaviour(TranslationBehaviour.ONLY_ORIGINAL)
|
|
101
|
-
|
|
102
|
-
else:
|
|
103
|
-
self._settings.translation_behaviour(TranslationBehaviour.ONLY_TRANSLATED)
|
|
104
|
-
|
|
105
|
-
return self
|
|
106
|
-
|
|
107
|
-
@deprecated("Use .run instead.")
|
|
108
|
-
def create(self, submit: bool = True, max_upload_workers: int = 10) -> 'RapidataOrder':
|
|
109
|
-
"""Create the classification order."""
|
|
110
|
-
return self.run(submit=submit, disable_link=False)
|
|
111
|
-
|
|
112
|
-
def run(self, submit: bool = True, disable_link: bool = False) -> 'RapidataOrder':
|
|
113
|
-
"""Run the classification order.
|
|
114
|
-
|
|
115
|
-
Args:
|
|
116
|
-
submit (bool): Whether to submit the order. Defaults to True. \
|
|
117
|
-
Set this to False if you first want to see the order on your dashboard before running it.
|
|
118
|
-
disable_link (bool): Whether to disable the printing of the link to the order. Defaults to False.
|
|
119
|
-
|
|
120
|
-
Returns:
|
|
121
|
-
RapidataOrder: The created classification order."""
|
|
122
|
-
|
|
123
|
-
if self._probability_threshold and self._responses_required:
|
|
124
|
-
referee = EarlyStoppingReferee(
|
|
125
|
-
max_vote_count=self._responses_required,
|
|
126
|
-
threshold=self._probability_threshold
|
|
127
|
-
)
|
|
128
|
-
|
|
129
|
-
else:
|
|
130
|
-
referee = NaiveReferee(responses=self._responses_required)
|
|
131
|
-
|
|
132
|
-
if (self._validation_set_id and MAX_TIME_IN_SECONDS_FOR_ONE_SESSION//self._time_effort - 1 < 1) or (MAX_TIME_IN_SECONDS_FOR_ONE_SESSION//self._time_effort < 1):
|
|
133
|
-
raise ValueError(f"The Labelers only have {MAX_TIME_IN_SECONDS_FOR_ONE_SESSION} seconds to do the task. \
|
|
134
|
-
Your taks is too complex. Try to break it down into simpler tasks.\
|
|
135
|
-
{'Alternatively remove the validation task' if self._validation_set_id else ''}")
|
|
136
|
-
|
|
137
|
-
selection: list[Selection] = ([ValidationSelection(amount=1, validation_set_id=self._validation_set_id),
|
|
138
|
-
LabelingSelection(amount=MAX_TIME_IN_SECONDS_FOR_ONE_SESSION//self._time_effort - 1)]
|
|
139
|
-
if self._validation_set_id
|
|
140
|
-
else [LabelingSelection(amount=MAX_TIME_IN_SECONDS_FOR_ONE_SESSION//self._time_effort)])
|
|
141
|
-
|
|
142
|
-
order = (self._order_builder
|
|
143
|
-
.workflow(
|
|
144
|
-
ClassifyWorkflow(
|
|
145
|
-
question=self._question,
|
|
146
|
-
options=self._options
|
|
147
|
-
)
|
|
148
|
-
)
|
|
149
|
-
.referee(referee)
|
|
150
|
-
.media(self._media_assets, metadata=self._metadata)
|
|
151
|
-
.selections(selection)
|
|
152
|
-
.create(submit=submit, disable_link=disable_link))
|
|
153
|
-
|
|
154
|
-
return order
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
class ClassificationMediaBuilder:
|
|
158
|
-
def __init__(self, name: str, question: str, options: list[str], openapi_service: OpenAPIService):
|
|
159
|
-
self._openapi_service = openapi_service
|
|
160
|
-
self._name = name
|
|
161
|
-
self._question = question
|
|
162
|
-
self._options = options
|
|
163
|
-
self._media_assets: list[BaseAsset] = []
|
|
164
|
-
self._time_effort = 8
|
|
165
|
-
|
|
166
|
-
def media(self, media_paths: list[str], time_effort: int = 8) -> ClassificationOrderBuilder:
|
|
167
|
-
"""Set the media assets for the classification order by providing the local paths to the files or a link.
|
|
168
|
-
|
|
169
|
-
Args:
|
|
170
|
-
media_paths (list[str]): Either a local file path or a link.
|
|
171
|
-
time_effort (int): Estimated time in seconds to solve one classification task for the first time. Defaults to 8.
|
|
172
|
-
|
|
173
|
-
Returns:
|
|
174
|
-
ClassificationOrderBuilder: The classification order builder instance.
|
|
175
|
-
|
|
176
|
-
Raises:
|
|
177
|
-
ValueError: If the media paths are not a list of strings."""
|
|
178
|
-
|
|
179
|
-
if not isinstance(media_paths, list) or not all(isinstance(path, str) for path in media_paths):
|
|
180
|
-
raise ValueError("Media paths must be a list of strings, the strings being file paths or image links.")
|
|
181
|
-
|
|
182
|
-
invalid_paths: list[str] = []
|
|
183
|
-
for path in media_paths:
|
|
184
|
-
try:
|
|
185
|
-
self._media_assets.append(MediaAsset(path))
|
|
186
|
-
except FileNotFoundError:
|
|
187
|
-
invalid_paths.append(path)
|
|
188
|
-
if invalid_paths:
|
|
189
|
-
raise FileNotFoundError(f"Could not find the following files: {invalid_paths}")
|
|
190
|
-
self._time_effort = time_effort
|
|
191
|
-
return self._build()
|
|
192
|
-
|
|
193
|
-
def text(self, texts: list[str], time_effort: int = 10) -> ClassificationOrderBuilder:
|
|
194
|
-
"""Set the text assets for the classification order by providing the text to be classified.
|
|
195
|
-
|
|
196
|
-
Args:
|
|
197
|
-
texts (list[str]): The texts to be classified.
|
|
198
|
-
time_effort (int): Estimated time in seconds to solve one classification task for the first time. Defaults to 10.
|
|
199
|
-
|
|
200
|
-
Returns:
|
|
201
|
-
ClassificationOrderBuilder: The classification order builder instance."""
|
|
202
|
-
for text in texts:
|
|
203
|
-
self._media_assets.append(TextAsset(text))
|
|
204
|
-
self._time_effort = time_effort
|
|
205
|
-
return self._build()
|
|
206
|
-
|
|
207
|
-
def _build(self) -> ClassificationOrderBuilder:
|
|
208
|
-
if not self._media_assets:
|
|
209
|
-
raise ValueError("Please provide either a text or an media to classify")
|
|
210
|
-
return ClassificationOrderBuilder(self._name, self._question, self._options, self._media_assets, openapi_service=self._openapi_service, time_effort=self._time_effort)
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
class ClassificationOptionsBuilder:
|
|
214
|
-
def __init__(self, name: str, question: str, openapi_service: OpenAPIService):
|
|
215
|
-
self._openapi_service = openapi_service
|
|
216
|
-
self._name = name
|
|
217
|
-
self._question = question
|
|
218
|
-
self._options = None
|
|
219
|
-
|
|
220
|
-
def options(self, options: list[str]) -> ClassificationMediaBuilder:
|
|
221
|
-
"""Set the answer options for the classification order."""
|
|
222
|
-
self._options = options
|
|
223
|
-
return self._build()
|
|
224
|
-
|
|
225
|
-
def _build(self) -> ClassificationMediaBuilder:
|
|
226
|
-
if self._options is None:
|
|
227
|
-
raise ValueError("Options are required")
|
|
228
|
-
return ClassificationMediaBuilder(self._name, self._question, self._options, self._openapi_service)
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
class ClassificationQuestionBuilder:
|
|
232
|
-
def __init__(self, name: str, openapi_service: OpenAPIService):
|
|
233
|
-
self._openapi_service = openapi_service
|
|
234
|
-
self._name = name
|
|
235
|
-
self._question = None
|
|
236
|
-
|
|
237
|
-
def question(self, question: str) -> ClassificationOptionsBuilder:
|
|
238
|
-
"""Set the question for the classification order."""
|
|
239
|
-
self._question = question
|
|
240
|
-
return self._build()
|
|
241
|
-
|
|
242
|
-
def _build(self) -> ClassificationOptionsBuilder:
|
|
243
|
-
if self._question is None:
|
|
244
|
-
raise ValueError("Question is required")
|
|
245
|
-
return ClassificationOptionsBuilder(self._name, self._question, self._openapi_service)
|
|
@@ -1,250 +0,0 @@
|
|
|
1
|
-
from rapidata.constants import MAX_TIME_IN_SECONDS_FOR_ONE_SESSION
|
|
2
|
-
from rapidata.service.openapi_service import OpenAPIService
|
|
3
|
-
from rapidata.rapidata_client.metadata import Metadata, PromptMetadata
|
|
4
|
-
from rapidata.rapidata_client.order.rapidata_order_builder import RapidataOrderBuilder
|
|
5
|
-
from rapidata.rapidata_client.workflow.compare_workflow import CompareWorkflow
|
|
6
|
-
from rapidata.rapidata_client.referee import NaiveReferee, EarlyStoppingReferee
|
|
7
|
-
from rapidata.rapidata_client.selection.validation_selection import ValidationSelection
|
|
8
|
-
from rapidata.rapidata_client.selection.labeling_selection import LabelingSelection
|
|
9
|
-
from rapidata.rapidata_client.selection.base_selection import Selection
|
|
10
|
-
from rapidata.rapidata_client.assets import MultiAsset, MediaAsset, TextAsset
|
|
11
|
-
from rapidata.rapidata_client.order.rapidata_order import RapidataOrder
|
|
12
|
-
from rapidata.rapidata_client.filter import CountryFilter, Filter, LanguageFilter
|
|
13
|
-
from rapidata.rapidata_client.settings import Settings, TranslationBehaviour
|
|
14
|
-
from deprecated import deprecated
|
|
15
|
-
from typing import Sequence
|
|
16
|
-
|
|
17
|
-
class CompareOrderBuilder:
|
|
18
|
-
def __init__(self, name:str, criteria: str, media_assets: list[MultiAsset], openapi_service: OpenAPIService, time_effort: int):
|
|
19
|
-
self._order_builder = RapidataOrderBuilder(name=name, openapi_service=openapi_service)
|
|
20
|
-
self._name = name
|
|
21
|
-
self._criteria = criteria
|
|
22
|
-
self._media_assets = media_assets
|
|
23
|
-
self._responses_required = 10
|
|
24
|
-
self._metadata = None
|
|
25
|
-
self._validation_set_id = None
|
|
26
|
-
self._probability_threshold = None
|
|
27
|
-
self._filters: list[Filter] = []
|
|
28
|
-
self._settings = Settings()
|
|
29
|
-
self._time_effort = time_effort
|
|
30
|
-
|
|
31
|
-
def responses(self, responses_required: int) -> 'CompareOrderBuilder':
|
|
32
|
-
"""Set the number of resoonses required per matchup/pairing for the comparison order. Will default to 10."""
|
|
33
|
-
self._responses_required = responses_required
|
|
34
|
-
return self
|
|
35
|
-
|
|
36
|
-
def prompts(self, prompts: list[str]) -> 'CompareOrderBuilder':
|
|
37
|
-
"""Set the prompts for the comparison order. Has to be the same shape as the media paths."""
|
|
38
|
-
if len(prompts) != len(self._media_assets):
|
|
39
|
-
raise ValueError("The number of prompts must match the number of media paths.")
|
|
40
|
-
|
|
41
|
-
if self._metadata is not None:
|
|
42
|
-
print("Warning: Metadata will be overwritten by prompts.")
|
|
43
|
-
|
|
44
|
-
self._metadata = [PromptMetadata(prompt=prompt) for prompt in prompts]
|
|
45
|
-
return self
|
|
46
|
-
|
|
47
|
-
deprecated("Use prompts instead.")
|
|
48
|
-
def metadata(self, metadata: Sequence[Metadata]) -> 'CompareOrderBuilder':
|
|
49
|
-
"""Set the metadata for the comparison order. Has to be the same shape as the media paths."""
|
|
50
|
-
if len(metadata) != len(self._media_assets):
|
|
51
|
-
raise ValueError("The number of metadata must match the number of media paths or image links.")
|
|
52
|
-
|
|
53
|
-
if self._metadata is not None:
|
|
54
|
-
print("Warning: Metadata will be overwritten by prompts.")
|
|
55
|
-
|
|
56
|
-
self._metadata = metadata
|
|
57
|
-
return self
|
|
58
|
-
|
|
59
|
-
def validation_set(self, validation_set_id: str) -> 'CompareOrderBuilder':
|
|
60
|
-
"""Set the validation set for the comparison order."""
|
|
61
|
-
self._validation_set_id = validation_set_id
|
|
62
|
-
return self
|
|
63
|
-
|
|
64
|
-
def probability_threshold(self, probability_threshold: float) -> 'CompareOrderBuilder':
|
|
65
|
-
"""Set the probability threshold for early stopping."""
|
|
66
|
-
self._probability_threshold = probability_threshold
|
|
67
|
-
return self
|
|
68
|
-
|
|
69
|
-
def countries(self, country_codes: list[str]) -> 'CompareOrderBuilder':
|
|
70
|
-
"""Set the countries where order will be shown as country codes."""
|
|
71
|
-
self._filters.append(CountryFilter(country_codes))
|
|
72
|
-
return self
|
|
73
|
-
|
|
74
|
-
def languages(self, language_codes: list[str]) -> 'CompareOrderBuilder':
|
|
75
|
-
"""Set the languages where order will be shown as language codes."""
|
|
76
|
-
self._filters.append(LanguageFilter(language_codes))
|
|
77
|
-
return self
|
|
78
|
-
|
|
79
|
-
def translation(self, disable: bool = False, show_both: bool = False) -> 'CompareOrderBuilder':
|
|
80
|
-
"""Disable the translation of the order.
|
|
81
|
-
Only the criteria will be translated.
|
|
82
|
-
|
|
83
|
-
Args:
|
|
84
|
-
disable (bool): Whether to disable the translation. Defaults to False.
|
|
85
|
-
show_both (bool): Whether to show the original text alongside the translation. Defaults to False.
|
|
86
|
-
ATTENTION: this can lead to cluttering of the UI if the texts are long, leading to bad results."""
|
|
87
|
-
|
|
88
|
-
if not isinstance(disable, bool) or not isinstance(show_both, bool):
|
|
89
|
-
raise ValueError("disable and show_both must be booleans.")
|
|
90
|
-
|
|
91
|
-
if disable and show_both:
|
|
92
|
-
raise ValueError("You can't disable the translation and show both at the same time.")
|
|
93
|
-
|
|
94
|
-
if show_both:
|
|
95
|
-
self._settings.translation_behaviour(TranslationBehaviour.BOTH)
|
|
96
|
-
return self
|
|
97
|
-
|
|
98
|
-
if disable:
|
|
99
|
-
self._settings.translation_behaviour(TranslationBehaviour.ONLY_ORIGINAL)
|
|
100
|
-
|
|
101
|
-
else:
|
|
102
|
-
self._settings.translation_behaviour(TranslationBehaviour.ONLY_TRANSLATED)
|
|
103
|
-
|
|
104
|
-
return self
|
|
105
|
-
|
|
106
|
-
@deprecated("Use .run instead.")
|
|
107
|
-
def create(self, submit: bool = True, max_upload_workers: int = 10) -> 'RapidataOrder':
|
|
108
|
-
"""Create the classification order."""
|
|
109
|
-
return self.run(submit=submit, disable_link=False)
|
|
110
|
-
|
|
111
|
-
def run(self, submit: bool = True, disable_link: bool = False) -> RapidataOrder:
|
|
112
|
-
"""Run the compare order.
|
|
113
|
-
|
|
114
|
-
Args:
|
|
115
|
-
submit (bool): Whether to submit the order. Defaults to True. \
|
|
116
|
-
Set this to False if you first want to see the order on your dashboard before running it.
|
|
117
|
-
disable_link (bool): Whether to disable the printing of the link to the order. Defaults to False.
|
|
118
|
-
|
|
119
|
-
Returns:
|
|
120
|
-
RapidataOrder: The created compare order."""
|
|
121
|
-
|
|
122
|
-
if self._probability_threshold and self._responses_required:
|
|
123
|
-
referee = EarlyStoppingReferee(
|
|
124
|
-
max_vote_count=self._responses_required,
|
|
125
|
-
threshold=self._probability_threshold
|
|
126
|
-
)
|
|
127
|
-
|
|
128
|
-
else:
|
|
129
|
-
referee = NaiveReferee(responses=self._responses_required)
|
|
130
|
-
|
|
131
|
-
if (self._validation_set_id and MAX_TIME_IN_SECONDS_FOR_ONE_SESSION//self._time_effort - 1 < 1) or (MAX_TIME_IN_SECONDS_FOR_ONE_SESSION//self._time_effort < 1):
|
|
132
|
-
raise ValueError(f"The Labelers only have {MAX_TIME_IN_SECONDS_FOR_ONE_SESSION} seconds to do the task. \
|
|
133
|
-
Your taks is too complex. Try to break it down into simpler tasks.\
|
|
134
|
-
{'Alternatively remove the validation task' if self._validation_set_id else ''}")
|
|
135
|
-
|
|
136
|
-
selection: list[Selection] = ([ValidationSelection(amount=1, validation_set_id=self._validation_set_id),
|
|
137
|
-
LabelingSelection(amount=MAX_TIME_IN_SECONDS_FOR_ONE_SESSION//self._time_effort - 1)]
|
|
138
|
-
if self._validation_set_id
|
|
139
|
-
else [LabelingSelection(amount=MAX_TIME_IN_SECONDS_FOR_ONE_SESSION//self._time_effort)])
|
|
140
|
-
|
|
141
|
-
order = (self._order_builder
|
|
142
|
-
.workflow(
|
|
143
|
-
CompareWorkflow(
|
|
144
|
-
criteria=self._criteria
|
|
145
|
-
)
|
|
146
|
-
)
|
|
147
|
-
.referee(referee)
|
|
148
|
-
.media(self._media_assets, metadata=self._metadata)
|
|
149
|
-
.selections(selection)
|
|
150
|
-
.filters(self._filters)
|
|
151
|
-
.create(submit=submit, disable_link=disable_link))
|
|
152
|
-
|
|
153
|
-
return order
|
|
154
|
-
|
|
155
|
-
class CompareMediaBuilder:
|
|
156
|
-
def __init__(self, name: str, criteria: str, openapi_service: OpenAPIService):
|
|
157
|
-
self._openapi_service = openapi_service
|
|
158
|
-
self._name = name
|
|
159
|
-
self._criteria = criteria
|
|
160
|
-
self._media_assets = []
|
|
161
|
-
self._time_effort = 8
|
|
162
|
-
|
|
163
|
-
def media(self, media_paths: list[list[str]], time_effort = 8) -> CompareOrderBuilder:
|
|
164
|
-
"""Set the media assets for the comparison order by providing the local paths to the files or a link.
|
|
165
|
-
|
|
166
|
-
Args:
|
|
167
|
-
media_paths (list[list[str]]): A list of lists of file paths. Each inner list is a pair of file paths that will be shown together in a matchup.
|
|
168
|
-
time_effort (int): Estimated time in seconds to solve one comparison task for the first time. Defaults to 8.
|
|
169
|
-
|
|
170
|
-
Returns:
|
|
171
|
-
CompareOrderBuilder: The compare order builder instance.
|
|
172
|
-
|
|
173
|
-
Raises:
|
|
174
|
-
ValueError: If the media paths are not a list of lists of strings."""
|
|
175
|
-
|
|
176
|
-
if not isinstance(media_paths, list) \
|
|
177
|
-
or not all([isinstance(matchup_paths, list) for matchup_paths in media_paths]) \
|
|
178
|
-
or not all([isinstance(path, str) for matchup_paths in media_paths for path in matchup_paths]):
|
|
179
|
-
raise ValueError("Media paths must be a list of lists. \
|
|
180
|
-
\nThe inner list is a pair of file paths that will be shown together in a matchup.")
|
|
181
|
-
|
|
182
|
-
invalid_paths = []
|
|
183
|
-
for matchup_idx, matchup_paths in enumerate(media_paths):
|
|
184
|
-
matchup_assets = []
|
|
185
|
-
for path in matchup_paths:
|
|
186
|
-
try:
|
|
187
|
-
matchup_assets.append(MediaAsset(path=path))
|
|
188
|
-
except FileNotFoundError:
|
|
189
|
-
invalid_paths.append((matchup_idx, path))
|
|
190
|
-
|
|
191
|
-
if not invalid_paths:
|
|
192
|
-
self._media_assets.append(MultiAsset(matchup_assets))
|
|
193
|
-
|
|
194
|
-
if invalid_paths:
|
|
195
|
-
error_msg = "Could not find the following files:\n"
|
|
196
|
-
for matchup_idx, path in invalid_paths:
|
|
197
|
-
error_msg += f" Matchup {matchup_idx + 1}: {path}\n"
|
|
198
|
-
raise FileNotFoundError(error_msg.rstrip())
|
|
199
|
-
|
|
200
|
-
self._time_effort = time_effort
|
|
201
|
-
return self._build()
|
|
202
|
-
|
|
203
|
-
def text(self, text_matchups: list[list[str]], time_effort = 10) -> CompareOrderBuilder:
|
|
204
|
-
"""Set the text assets for the comparison order by providing the texts.
|
|
205
|
-
|
|
206
|
-
Args:
|
|
207
|
-
text_matchups (list[list[str]]): A list of lists of texts. Each inner list is a pair of texts that will be shown together in a matchup.
|
|
208
|
-
time_effort (int): Estimated time in seconds to solve one comparison task for the first time. Defaults to 10.
|
|
209
|
-
|
|
210
|
-
Returns:
|
|
211
|
-
CompareOrderBuilder: The compare order builder instance.
|
|
212
|
-
|
|
213
|
-
Raises:
|
|
214
|
-
ValueError: If the media paths are not a list of lists of strings."""
|
|
215
|
-
if not isinstance(text_matchups, list) \
|
|
216
|
-
or not all([isinstance(matchup_paths, list) for matchup_paths in text_matchups]) \
|
|
217
|
-
or not all([isinstance(path, str) for matchup_paths in text_matchups for path in matchup_paths]):
|
|
218
|
-
raise ValueError("Media paths must be a list of lists. \
|
|
219
|
-
\nThe inner list is a pair of file paths that will be shown together in a matchup.")
|
|
220
|
-
|
|
221
|
-
for matchup_texts in text_matchups:
|
|
222
|
-
matchup_assets = []
|
|
223
|
-
for text in matchup_texts:
|
|
224
|
-
matchup_assets.append(TextAsset(text=text))
|
|
225
|
-
self._media_assets.append(MultiAsset(matchup_assets))
|
|
226
|
-
|
|
227
|
-
self._time_effort = time_effort
|
|
228
|
-
return self._build()
|
|
229
|
-
|
|
230
|
-
def _build(self) -> CompareOrderBuilder:
|
|
231
|
-
if not self._media_assets:
|
|
232
|
-
raise ValueError("Media paths are required")
|
|
233
|
-
return CompareOrderBuilder(self._name, self._criteria, self._media_assets, self._openapi_service, time_effort=self._time_effort)
|
|
234
|
-
|
|
235
|
-
class CompareCriteriaBuilder:
|
|
236
|
-
def __init__(self, name: str, openapi_service: OpenAPIService):
|
|
237
|
-
self._openapi_service = openapi_service
|
|
238
|
-
self._name = name
|
|
239
|
-
self._criteria = None
|
|
240
|
-
|
|
241
|
-
def criteria(self, criteria: str) -> CompareMediaBuilder:
|
|
242
|
-
"""Set the criteria how the images should be compared."""
|
|
243
|
-
self._criteria = criteria
|
|
244
|
-
return self._build()
|
|
245
|
-
|
|
246
|
-
def _build(self) -> CompareMediaBuilder:
|
|
247
|
-
if self._criteria is None:
|
|
248
|
-
raise ValueError("Criteria are required")
|
|
249
|
-
return CompareMediaBuilder(self._name, self._criteria, self._openapi_service)
|
|
250
|
-
|