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
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
from typing import TYPE_CHECKING, Any
|
|
2
|
+
from rapidata.rapidata_client.config import managed_print
|
|
3
|
+
import json
|
|
4
|
+
|
|
5
|
+
if TYPE_CHECKING:
|
|
6
|
+
import pandas as pd
|
|
7
|
+
from pandas.core.indexes.base import Index
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class RapidataResults(dict):
|
|
11
|
+
"""
|
|
12
|
+
A specialized dictionary class for handling Rapidata API results.
|
|
13
|
+
Extends the built-in dict class with specialized methods.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
def to_pandas(self, split_details: bool = False) -> "pd.DataFrame":
|
|
17
|
+
"""
|
|
18
|
+
Warning:
|
|
19
|
+
This method is currently under development. The structure of the results may change in the future.
|
|
20
|
+
|
|
21
|
+
Converts the results to a pandas DataFrame.
|
|
22
|
+
|
|
23
|
+
For Compare results, creates standardized A/B columns for metrics.
|
|
24
|
+
For regular results, flattens nested dictionaries into columns with underscore-separated names.
|
|
25
|
+
|
|
26
|
+
Args:
|
|
27
|
+
split_details: If True, splits each datapoint by its detailed results,
|
|
28
|
+
creating a row for each response with global metrics copied.
|
|
29
|
+
|
|
30
|
+
Returns:
|
|
31
|
+
pd.DataFrame: A DataFrame containing the processed results
|
|
32
|
+
|
|
33
|
+
Raises:
|
|
34
|
+
ValueError: If split_details is True but no detailed results are found
|
|
35
|
+
"""
|
|
36
|
+
import pandas as pd
|
|
37
|
+
from pandas.core.indexes.base import Index
|
|
38
|
+
|
|
39
|
+
if "results" not in self or not self["results"]:
|
|
40
|
+
return pd.DataFrame()
|
|
41
|
+
|
|
42
|
+
if self["info"].get("orderType") is None:
|
|
43
|
+
managed_print(
|
|
44
|
+
"Warning: Results are old and Order type is not specified. Dataframe might be wrong."
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
# Check for detailed results if split_details is True
|
|
48
|
+
if split_details:
|
|
49
|
+
if not self._has_detailed_results():
|
|
50
|
+
raise ValueError("No detailed results found in the data")
|
|
51
|
+
return self._to_pandas_with_detailed_results()
|
|
52
|
+
|
|
53
|
+
if (
|
|
54
|
+
self["info"].get("orderType") == "Compare"
|
|
55
|
+
or self["info"].get("orderType") == "Ranking"
|
|
56
|
+
):
|
|
57
|
+
return self._compare_to_pandas()
|
|
58
|
+
|
|
59
|
+
# Get the structure from first item
|
|
60
|
+
first_item = self["results"][0]
|
|
61
|
+
columns = []
|
|
62
|
+
path_map = {} # Maps flattened column names to paths to reach the values
|
|
63
|
+
|
|
64
|
+
# Build the column structure once
|
|
65
|
+
self._build_column_structure(first_item, columns, path_map)
|
|
66
|
+
|
|
67
|
+
# Extract data using the known structure
|
|
68
|
+
data = []
|
|
69
|
+
for item in self["results"]:
|
|
70
|
+
row = []
|
|
71
|
+
for path in path_map.values():
|
|
72
|
+
value = self._get_value_from_path(item, path)
|
|
73
|
+
row.append(value)
|
|
74
|
+
data.append(row)
|
|
75
|
+
|
|
76
|
+
return pd.DataFrame(data, columns=Index(columns))
|
|
77
|
+
|
|
78
|
+
def _has_detailed_results(self) -> bool:
|
|
79
|
+
"""
|
|
80
|
+
Checks if the results contain detailed results.
|
|
81
|
+
|
|
82
|
+
Returns:
|
|
83
|
+
bool: True if detailed results exist, False otherwise
|
|
84
|
+
"""
|
|
85
|
+
if not self.get("results"):
|
|
86
|
+
return False
|
|
87
|
+
|
|
88
|
+
first_result = self["results"][0]
|
|
89
|
+
return "detailedResults" in first_result and isinstance(
|
|
90
|
+
first_result["detailedResults"], list
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
def _to_pandas_with_detailed_results(self) -> "pd.DataFrame":
|
|
94
|
+
"""
|
|
95
|
+
Converts results to a pandas DataFrame with detailed results split into separate rows.
|
|
96
|
+
|
|
97
|
+
Returns:
|
|
98
|
+
pd.DataFrame: A DataFrame with one row per detailed result
|
|
99
|
+
"""
|
|
100
|
+
import pandas as pd
|
|
101
|
+
|
|
102
|
+
rows = []
|
|
103
|
+
|
|
104
|
+
for result in self["results"]:
|
|
105
|
+
# Get all non-detailed results fields
|
|
106
|
+
base_data = {k: v for k, v in result.items() if k != "detailedResults"}
|
|
107
|
+
|
|
108
|
+
# Process each detailed result
|
|
109
|
+
for detailed_result in result["detailedResults"]:
|
|
110
|
+
row = base_data.copy() # Copy base data for each detailed result
|
|
111
|
+
|
|
112
|
+
# Add flattened detailed result data
|
|
113
|
+
flattened = self._flatten_dict(detailed_result)
|
|
114
|
+
for key, value in flattened.items():
|
|
115
|
+
row[key] = value
|
|
116
|
+
|
|
117
|
+
rows.append(row)
|
|
118
|
+
|
|
119
|
+
return pd.DataFrame(rows)
|
|
120
|
+
|
|
121
|
+
def _flatten_dict(self, d: dict[str, Any], parent_key: str = "") -> dict[str, Any]:
|
|
122
|
+
"""
|
|
123
|
+
Flattens a nested dictionary into a single-level dictionary with underscore-separated keys.
|
|
124
|
+
|
|
125
|
+
Args:
|
|
126
|
+
d: The dictionary to flatten
|
|
127
|
+
parent_key: The parent key for nested dictionaries
|
|
128
|
+
|
|
129
|
+
Returns:
|
|
130
|
+
dict: A flattened dictionary
|
|
131
|
+
"""
|
|
132
|
+
items: list[tuple[str, Any]] = []
|
|
133
|
+
|
|
134
|
+
for key, value in d.items():
|
|
135
|
+
new_key = f"{parent_key}_{key}" if parent_key else key
|
|
136
|
+
|
|
137
|
+
if isinstance(value, dict):
|
|
138
|
+
items.extend(self._flatten_dict(value, new_key).items())
|
|
139
|
+
else:
|
|
140
|
+
items.append((new_key, value))
|
|
141
|
+
|
|
142
|
+
return dict(items)
|
|
143
|
+
|
|
144
|
+
def _build_column_structure(
|
|
145
|
+
self,
|
|
146
|
+
d: dict[str, Any],
|
|
147
|
+
columns: list[str],
|
|
148
|
+
path_map: dict[str, list[str]],
|
|
149
|
+
parent_key: str = "",
|
|
150
|
+
current_path: list[str] | None = None,
|
|
151
|
+
) -> None:
|
|
152
|
+
"""
|
|
153
|
+
Builds the column structure and paths to reach values in nested dictionaries.
|
|
154
|
+
|
|
155
|
+
Args:
|
|
156
|
+
d: The dictionary to analyze
|
|
157
|
+
columns: List to store column names
|
|
158
|
+
path_map: Dictionary mapping column names to paths for accessing values
|
|
159
|
+
parent_key: The parent key for nested dictionaries
|
|
160
|
+
current_path: The current path in the dictionary structure
|
|
161
|
+
"""
|
|
162
|
+
if current_path is None:
|
|
163
|
+
current_path = []
|
|
164
|
+
|
|
165
|
+
for key, value in d.items():
|
|
166
|
+
new_key = f"{parent_key}_{key}" if parent_key else key
|
|
167
|
+
new_path: list[str] = current_path + [key]
|
|
168
|
+
|
|
169
|
+
if isinstance(value, dict):
|
|
170
|
+
self._build_column_structure(
|
|
171
|
+
value, columns, path_map, new_key, new_path
|
|
172
|
+
)
|
|
173
|
+
else:
|
|
174
|
+
columns.append(new_key)
|
|
175
|
+
path_map[new_key] = new_path
|
|
176
|
+
|
|
177
|
+
def _get_value_from_path(self, d: dict[str, Any], path: list[str]) -> Any:
|
|
178
|
+
"""
|
|
179
|
+
Retrieves a value from a nested dictionary using a path list.
|
|
180
|
+
|
|
181
|
+
Args:
|
|
182
|
+
d: The dictionary to retrieve the value from
|
|
183
|
+
path: List of keys forming the path to the desired value
|
|
184
|
+
|
|
185
|
+
Returns:
|
|
186
|
+
The value at the specified path, or None if the path doesn't exist
|
|
187
|
+
"""
|
|
188
|
+
for key in path[:-1]:
|
|
189
|
+
d = d.get(key, {})
|
|
190
|
+
return d.get(path[-1])
|
|
191
|
+
|
|
192
|
+
def _compare_to_pandas(self) -> "pd.DataFrame":
|
|
193
|
+
"""
|
|
194
|
+
Converts Compare results to a pandas DataFrame dynamically.
|
|
195
|
+
"""
|
|
196
|
+
import pandas as pd
|
|
197
|
+
|
|
198
|
+
if not self.get("results"):
|
|
199
|
+
return pd.DataFrame()
|
|
200
|
+
|
|
201
|
+
rows = []
|
|
202
|
+
for result in self["results"]:
|
|
203
|
+
# Get all asset names from the first metric we find
|
|
204
|
+
assets = []
|
|
205
|
+
for key in result:
|
|
206
|
+
if isinstance(result[key], dict) and len(result[key]) >= 2:
|
|
207
|
+
assets = list(result[key].keys())
|
|
208
|
+
break
|
|
209
|
+
else:
|
|
210
|
+
continue
|
|
211
|
+
|
|
212
|
+
assets = [asset for asset in assets if asset not in ["Both", "Neither"]]
|
|
213
|
+
|
|
214
|
+
# Initialize row with non-comparative fields
|
|
215
|
+
row = {
|
|
216
|
+
key: value
|
|
217
|
+
for key, value in result.items()
|
|
218
|
+
if not isinstance(value, dict)
|
|
219
|
+
}
|
|
220
|
+
row["assetA"] = assets[0]
|
|
221
|
+
row["assetB"] = assets[1]
|
|
222
|
+
|
|
223
|
+
# Handle comparative metrics
|
|
224
|
+
for key, values in result.items():
|
|
225
|
+
if isinstance(values, dict) and len(values) >= 2:
|
|
226
|
+
# Add main asset columns
|
|
227
|
+
for i, asset in enumerate(
|
|
228
|
+
assets[:2]
|
|
229
|
+
): # Limit to first 2 main assets
|
|
230
|
+
column_prefix = "A_" if i == 0 else "B_"
|
|
231
|
+
row[f"{column_prefix}{key}"] = values.get(asset, 0)
|
|
232
|
+
|
|
233
|
+
# Add special option columns if they exist
|
|
234
|
+
if "Both" in values:
|
|
235
|
+
row[f"Both_{key}"] = values.get("Both", 0)
|
|
236
|
+
if "Neither" in values:
|
|
237
|
+
row[f"Neither_{key}"] = values.get("Neither", 0)
|
|
238
|
+
|
|
239
|
+
rows.append(row)
|
|
240
|
+
|
|
241
|
+
return pd.DataFrame(rows)
|
|
242
|
+
|
|
243
|
+
def to_json(self, path: str = "./results.json") -> None:
|
|
244
|
+
"""
|
|
245
|
+
Saves the results to a JSON file.
|
|
246
|
+
|
|
247
|
+
Args:
|
|
248
|
+
path: The file path where the JSON should be saved. Defaults to "./results.json".
|
|
249
|
+
"""
|
|
250
|
+
with open(path, "w") as f:
|
|
251
|
+
json.dump(self, f)
|
|
@@ -1,207 +1,152 @@
|
|
|
1
|
-
|
|
2
|
-
from
|
|
3
|
-
|
|
1
|
+
import json
|
|
2
|
+
from typing import Any
|
|
3
|
+
import requests
|
|
4
|
+
from packaging import version
|
|
5
|
+
from rapidata import __version__
|
|
6
|
+
import uuid
|
|
7
|
+
import random
|
|
4
8
|
from rapidata.service.openapi_service import OpenAPIService
|
|
5
|
-
from rapidata.rapidata_client.order.rapidata_order import RapidataOrder
|
|
6
|
-
from rapidata.rapidata_client.dataset.rapidata_dataset import RapidataDataset
|
|
7
9
|
|
|
8
|
-
from rapidata.rapidata_client.
|
|
9
|
-
from rapidata.rapidata_client.
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
from rapidata.rapidata_client.order.rapidata_order_manager import RapidataOrderManager
|
|
11
|
+
from rapidata.rapidata_client.benchmark.rapidata_benchmark_manager import (
|
|
12
|
+
RapidataBenchmarkManager,
|
|
13
|
+
)
|
|
12
14
|
|
|
13
|
-
from rapidata.rapidata_client.
|
|
15
|
+
from rapidata.rapidata_client.validation.validation_set_manager import (
|
|
16
|
+
ValidationSetManager,
|
|
17
|
+
)
|
|
14
18
|
|
|
15
|
-
from rapidata.
|
|
16
|
-
from urllib3._collections import HTTPHeaderDict
|
|
19
|
+
from rapidata.rapidata_client.demographic.demographic_manager import DemographicManager
|
|
17
20
|
|
|
18
|
-
from rapidata.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
from rapidata.api_client.models.query_validation_set_model import QueryValidationSetModel
|
|
25
|
-
|
|
26
|
-
from deprecated import deprecated
|
|
21
|
+
from rapidata.rapidata_client.config import (
|
|
22
|
+
logger,
|
|
23
|
+
tracer,
|
|
24
|
+
managed_print,
|
|
25
|
+
rapidata_config,
|
|
26
|
+
)
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
class RapidataClient:
|
|
30
30
|
"""The Rapidata client is the main entry point for interacting with the Rapidata API. It allows you to create orders and validation sets."""
|
|
31
31
|
|
|
32
|
-
rapid_builder = BaseRapidBuilder()
|
|
33
|
-
|
|
34
32
|
def __init__(
|
|
35
33
|
self,
|
|
36
34
|
client_id: str | None = None,
|
|
37
35
|
client_secret: str | None = None,
|
|
38
|
-
|
|
39
|
-
oauth_scope: str = "openid",
|
|
36
|
+
environment: str = "rapidata.ai",
|
|
37
|
+
oauth_scope: str = "openid roles",
|
|
40
38
|
cert_path: str | None = None,
|
|
39
|
+
token: dict | None = None,
|
|
40
|
+
leeway: int = 60,
|
|
41
41
|
):
|
|
42
|
-
"""Initialize the RapidataClient.
|
|
42
|
+
"""Initialize the RapidataClient. If both the client_id and client_secret are None, it will try using your credentials under "~/.config/rapidata/credentials.json".
|
|
43
|
+
If this is not successful, it will open a browser window and ask you to log in, then save your new credentials in said json file.
|
|
43
44
|
|
|
44
45
|
Args:
|
|
45
46
|
client_id (str): The client ID for authentication.
|
|
46
47
|
client_secret (str): The client secret for authentication.
|
|
47
|
-
|
|
48
|
+
environment (str, optional): The API endpoint.
|
|
49
|
+
oauth_scope (str, optional): The scopes to use for authentication. In general this does not need to be changed.
|
|
50
|
+
cert_path (str, optional): An optional path to a certificate file useful for development.
|
|
51
|
+
token (dict, optional): If you already have a token that the client should use for authentication. Important, if set, this needs to be the complete token object containing the access token, token type and expiration time.
|
|
52
|
+
leeway (int, optional): An optional leeway to use to determine if a token is expired. Defaults to 60 seconds.
|
|
53
|
+
|
|
54
|
+
Attributes:
|
|
55
|
+
order (RapidataOrderManager): The RapidataOrderManager instance.
|
|
56
|
+
validation (ValidationSetManager): The ValidationSetManager instance.
|
|
57
|
+
demographic (DemographicManager): The DemographicManager instance.
|
|
58
|
+
mri (RapidataBenchmarkManager): The RapidataBenchmarkManager instance.
|
|
48
59
|
"""
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
client_secret=client_secret,
|
|
52
|
-
enviroment=enviroment,
|
|
53
|
-
oauth_scope=oauth_scope,
|
|
54
|
-
cert_path=cert_path
|
|
60
|
+
tracer.set_session_id(
|
|
61
|
+
uuid.UUID(int=random.Random().getrandbits(128), version=4).hex
|
|
55
62
|
)
|
|
56
|
-
|
|
57
|
-
@deprecated("Use the specific builder methods instead.")
|
|
58
|
-
def new_order(self, name: str) -> RapidataOrderBuilder:
|
|
59
|
-
"""Create a new order using a RapidataOrderBuilder instance.
|
|
60
|
-
|
|
61
|
-
Args:
|
|
62
|
-
name (str): The name of the order.
|
|
63
|
-
|
|
64
|
-
Returns:
|
|
65
|
-
RapidataOrderBuilder: A RapidataOrderBuilder instance.
|
|
66
|
-
"""
|
|
67
|
-
return RapidataOrderBuilder(openapi_service=self.openapi_service, name=name)
|
|
68
|
-
|
|
69
|
-
def new_validation_set(self, name: str) -> ValidationSetBuilder:
|
|
70
|
-
"""Create a new validation set using a ValidationDatasetBuilder instance.
|
|
71
|
-
|
|
72
|
-
Args:
|
|
73
|
-
name (str): The name of the validation set.
|
|
74
|
-
|
|
75
|
-
Returns:
|
|
76
|
-
ValidationSetBuilder: A ValidationDatasetBuilder instance.
|
|
77
|
-
"""
|
|
78
|
-
return ValidationSetBuilder(name=name, openapi_service=self.openapi_service)
|
|
79
|
-
|
|
80
|
-
def get_order(self, order_id: str) -> RapidataOrder:
|
|
81
|
-
"""Get an order by ID.
|
|
82
|
-
|
|
83
|
-
Args:
|
|
84
|
-
order_id (str): The ID of the order.
|
|
85
63
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
64
|
+
with tracer.start_as_current_span("RapidataClient.__init__"):
|
|
65
|
+
logger.debug("Checking version")
|
|
66
|
+
self._check_version()
|
|
67
|
+
if environment != "rapidata.ai":
|
|
68
|
+
rapidata_config.logging.enable_otlp = False
|
|
69
|
+
|
|
70
|
+
logger.debug("Initializing OpenAPIService")
|
|
71
|
+
self._openapi_service = OpenAPIService(
|
|
72
|
+
client_id=client_id,
|
|
73
|
+
client_secret=client_secret,
|
|
74
|
+
environment=environment,
|
|
75
|
+
oauth_scope=oauth_scope,
|
|
76
|
+
cert_path=cert_path,
|
|
77
|
+
token=token,
|
|
78
|
+
leeway=leeway,
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
logger.debug("Initializing RapidataOrderManager")
|
|
82
|
+
self.order = RapidataOrderManager(openapi_service=self._openapi_service)
|
|
83
|
+
|
|
84
|
+
logger.debug("Initializing ValidationSetManager")
|
|
85
|
+
self.validation = ValidationSetManager(
|
|
86
|
+
openapi_service=self._openapi_service
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
logger.debug("Initializing DemographicManager")
|
|
90
|
+
self._demographic = DemographicManager(
|
|
91
|
+
openapi_service=self._openapi_service
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
logger.debug("Initializing RapidataBenchmarkManager")
|
|
95
|
+
self.mri = RapidataBenchmarkManager(openapi_service=self._openapi_service)
|
|
96
|
+
|
|
97
|
+
self._check_beta_features() # can't be in the trace for some reason
|
|
98
|
+
|
|
99
|
+
def reset_credentials(self):
|
|
100
|
+
"""Reset the credentials saved in the configuration file for the current environment."""
|
|
101
|
+
self._openapi_service.reset_credentials()
|
|
102
|
+
|
|
103
|
+
def clear_all_caches(self):
|
|
104
|
+
"""Clear all caches for the client."""
|
|
105
|
+
self.order._asset_uploader.clear_cache()
|
|
106
|
+
logger.info("All caches cleared")
|
|
107
|
+
|
|
108
|
+
def _check_beta_features(self):
|
|
109
|
+
"""Enable beta features for the client."""
|
|
110
|
+
with tracer.start_as_current_span("RapidataClient.check_beta_features"):
|
|
111
|
+
result: dict[str, Any] = json.loads(
|
|
112
|
+
self._openapi_service.api_client.call_api(
|
|
113
|
+
"GET",
|
|
114
|
+
f"https://auth.{self._openapi_service.environment}/connect/userinfo",
|
|
115
|
+
)
|
|
116
|
+
.read()
|
|
117
|
+
.decode("utf-8")
|
|
118
|
+
)
|
|
119
|
+
logger.debug("Userinfo: %s", result)
|
|
120
|
+
if "Admin" not in result.get("role", []):
|
|
121
|
+
logger.debug("User is not an admin, not enabling beta features")
|
|
122
|
+
return
|
|
123
|
+
|
|
124
|
+
logger.debug("User is an admin, enabling beta features")
|
|
125
|
+
rapidata_config.enableBetaFeatures = True
|
|
126
|
+
|
|
127
|
+
def _check_version(self):
|
|
93
128
|
try:
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
amount (int, optional): The amount of orders to return. Defaults to 1.
|
|
111
|
-
|
|
112
|
-
Returns:
|
|
113
|
-
list[RapidataOrder]: A list of RapidataOrder instances.
|
|
114
|
-
"""
|
|
115
|
-
try:
|
|
116
|
-
order_page_result = self.openapi_service.order_api.order_query_get(QueryModel(
|
|
117
|
-
page=PageInfo(index=1, size=amount),
|
|
118
|
-
filter=RootFilter(filters=[Filter(field="OrderName", operator="Contains", value=name)]),
|
|
119
|
-
sortCriteria=[SortCriterion(direction="Desc", propertyName="OrderDate")]
|
|
120
|
-
))
|
|
121
|
-
|
|
122
|
-
except BadRequestException as e:
|
|
123
|
-
raise ValueError(f"Error occured during request. \nError: {e.body} \nTraceid: {e.headers.get('X-Trace-Id') if isinstance(e.headers, HTTPHeaderDict) else 'Unknown'}")
|
|
124
|
-
|
|
129
|
+
response = requests.get(
|
|
130
|
+
"https://api.github.com/repos/RapidataAI/rapidata-python-sdk/releases/latest",
|
|
131
|
+
headers={"Accept": "application/vnd.github.v3+json"},
|
|
132
|
+
timeout=3,
|
|
133
|
+
)
|
|
134
|
+
if response.status_code == 200:
|
|
135
|
+
latest_version = response.json()["tag_name"].lstrip("v")
|
|
136
|
+
if version.parse(latest_version) > version.parse(__version__):
|
|
137
|
+
managed_print(
|
|
138
|
+
f"""A new version of the Rapidata SDK is available: {latest_version}
|
|
139
|
+
Your current version is: {__version__}"""
|
|
140
|
+
)
|
|
141
|
+
else:
|
|
142
|
+
logger.debug(
|
|
143
|
+
"Current version is up to date. Version: %s", __version__
|
|
144
|
+
)
|
|
125
145
|
except Exception as e:
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
orders = [self.get_order(order.id) for order in order_page_result.items]
|
|
129
|
-
return orders
|
|
130
|
-
|
|
131
|
-
def get_validation_set(self, validation_set_id: str) -> RapidataValidationSet:
|
|
132
|
-
"""Get a validation set by ID.
|
|
146
|
+
logger.debug("Failed to check for updates: %s", e)
|
|
133
147
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
Returns:
|
|
138
|
-
RapidataValidationSet: The ValidationSet instance.
|
|
139
|
-
"""
|
|
140
|
-
try:
|
|
141
|
-
validation_set = self.openapi_service.validation_api.validation_get_by_id_get(id=validation_set_id)
|
|
142
|
-
except Exception:
|
|
143
|
-
raise ValueError(f"ValidationSet with ID {validation_set_id} not found.")
|
|
144
|
-
|
|
145
|
-
return RapidataValidationSet(validation_set_id, self.openapi_service, validation_set.name)
|
|
146
|
-
|
|
147
|
-
def find_validation_sets(self, name: str = "", amount: int = 1) -> list[RapidataValidationSet]:
|
|
148
|
-
try:
|
|
149
|
-
validation_page_result = self.openapi_service.validation_api.validation_query_validation_sets_get(QueryValidationSetModel(
|
|
150
|
-
pageInfo=PageInfo(index=1, size=amount),
|
|
151
|
-
filter=RootFilter(filters=[Filter(field="Name", operator="Contains", value=name)]),
|
|
152
|
-
sortCriteria=[SortCriterion(direction="Desc", propertyName="CreatedAt")]
|
|
153
|
-
))
|
|
154
|
-
|
|
155
|
-
except BadRequestException as e:
|
|
156
|
-
raise ValueError(f"Error occured during request. \nError: {e.body} \nTraceid: {e.headers.get('X-Trace-Id') if isinstance(e.headers, HTTPHeaderDict) else 'Unknown'}")
|
|
157
|
-
|
|
158
|
-
except Exception as e:
|
|
159
|
-
raise ValueError(f"Unknown error occured: {e}")
|
|
160
|
-
|
|
161
|
-
orders = [self.get_validation_set(validation_set.id) for validation_set in validation_page_result.items] # type: ignore # will be fixed with the next backend deployment
|
|
162
|
-
return orders
|
|
163
|
-
|
|
164
|
-
def create_classify_order(self, name: str) -> ClassificationQuestionBuilder:
|
|
165
|
-
"""Create a new classification order where people are asked to classify an image.
|
|
166
|
-
|
|
167
|
-
Args:
|
|
168
|
-
name (str): The name of the order.
|
|
169
|
-
|
|
170
|
-
Returns:
|
|
171
|
-
ClassificationQuestionBuilder: A ClassificationQuestionBuilder instance.
|
|
172
|
-
"""
|
|
173
|
-
return ClassificationQuestionBuilder(name=name, openapi_service=self.openapi_service)
|
|
174
|
-
|
|
175
|
-
def create_compare_order(self, name: str) -> CompareCriteriaBuilder:
|
|
176
|
-
"""Create a new comparison order where people are asked to compare two images.
|
|
177
|
-
|
|
178
|
-
Args:
|
|
179
|
-
name (str): The name of the order.
|
|
180
|
-
|
|
181
|
-
Returns:
|
|
182
|
-
CompareQuestionBuilder: A CompareQuestionBuilder instance.
|
|
183
|
-
"""
|
|
184
|
-
return CompareCriteriaBuilder(name=name, openapi_service=self.openapi_service)
|
|
185
|
-
|
|
186
|
-
def create_free_text_order(self, name: str) -> FreeTextQuestionBuilder:
|
|
187
|
-
"""Create a new free text order where people are asked to provide a free text answer.
|
|
188
|
-
|
|
189
|
-
Args:
|
|
190
|
-
name (str): The name of the order.
|
|
191
|
-
|
|
192
|
-
Returns:
|
|
193
|
-
FreeTextQuestionBuilder: A FreeTextQuestionBuilder instance.
|
|
194
|
-
"""
|
|
195
|
-
return FreeTextQuestionBuilder(name=name, openapi_service=self.openapi_service)
|
|
196
|
-
|
|
197
|
-
def create_transcription_order(self, name: str) -> TranscriptionInstructionBuilder:
|
|
198
|
-
"""Create a new transcription order where people are asked to transcribe an audio file.
|
|
199
|
-
|
|
200
|
-
Args:
|
|
201
|
-
name (str): The name of the order.
|
|
202
|
-
|
|
203
|
-
Returns:
|
|
204
|
-
TranscriptionInstructionBuilder: A TranscriptionInstructionBuilder instance.
|
|
205
|
-
"""
|
|
206
|
-
return TranscriptionInstructionBuilder(name=name, openapi_service=self.openapi_service)
|
|
148
|
+
def __str__(self) -> str:
|
|
149
|
+
return f"RapidataClient(environment={self._openapi_service.environment})"
|
|
207
150
|
|
|
151
|
+
def __repr__(self) -> str:
|
|
152
|
+
return self.__str__()
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
from .
|
|
2
|
-
from .
|
|
3
|
-
from .
|
|
1
|
+
from ._base_referee import Referee
|
|
2
|
+
from ._naive_referee import NaiveReferee # as MaxVoteReferee
|
|
3
|
+
from ._early_stopping_referee import EarlyStoppingReferee
|
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
from abc import ABC, abstractmethod
|
|
2
|
-
from typing import
|
|
2
|
+
from typing import Mapping
|
|
3
|
+
|
|
4
|
+
from rapidata.api_client.models.i_referee_model import IRefereeModel
|
|
5
|
+
|
|
3
6
|
|
|
4
7
|
class Referee(ABC):
|
|
5
8
|
"""
|
|
6
|
-
The referee defines when a rapid is considered complete.
|
|
9
|
+
The referee defines when a rapid is considered complete.
|
|
7
10
|
"""
|
|
11
|
+
|
|
8
12
|
@abstractmethod
|
|
9
|
-
def
|
|
13
|
+
def _to_dict(self) -> Mapping[str, str | int | float]:
|
|
10
14
|
"""
|
|
11
15
|
Convert the referee to a referee configuration dict.
|
|
12
16
|
"""
|
|
13
17
|
pass
|
|
14
18
|
|
|
15
19
|
@abstractmethod
|
|
16
|
-
def
|
|
20
|
+
def _to_model(self) -> IRefereeModel:
|
|
17
21
|
"""
|
|
18
22
|
Convert the referee to a referee configuration model.
|
|
19
23
|
"""
|
|
20
|
-
pass
|
|
24
|
+
pass
|