rapidata 2.28.2__py3-none-any.whl → 2.44.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- rapidata/__init__.py +11 -10
- rapidata/api_client/__init__.py +83 -355
- rapidata/api_client/api/__init__.py +8 -2
- rapidata/api_client/api/asset_api.py +853 -0
- rapidata/api_client/api/audience_api.py +1133 -0
- rapidata/api_client/api/benchmark_api.py +3966 -0
- rapidata/api_client/api/campaign_api.py +222 -444
- rapidata/api_client/api/client_api.py +38 -33
- rapidata/api_client/api/coco_api.py +0 -571
- rapidata/api_client/api/compare_workflow_api.py +11 -10
- rapidata/api_client/api/customer_rapid_api.py +644 -72
- rapidata/api_client/api/datapoint_api.py +8 -530
- rapidata/api_client/api/dataset_api.py +228 -3469
- rapidata/api_client/api/evaluation_workflow_api.py +29 -82
- rapidata/api_client/api/feedback_api.py +11 -281
- rapidata/api_client/api/grouped_ranking_workflow_api.py +319 -0
- rapidata/api_client/api/identity_api.py +83 -1171
- rapidata/api_client/api/leaderboard_api.py +356 -312
- rapidata/api_client/api/newsletter_api.py +20 -19
- rapidata/api_client/api/order_api.py +758 -5487
- rapidata/api_client/api/participant_api.py +2181 -0
- rapidata/api_client/api/pipeline_api.py +24 -1783
- rapidata/api_client/api/prompt_api.py +320 -0
- rapidata/api_client/api/rapidata_identity_api_api.py +5 -4
- rapidata/api_client/api/sample_api.py +300 -0
- rapidata/api_client/api/simple_workflow_api.py +11 -10
- rapidata/api_client/api/survey_api.py +304 -0
- rapidata/api_client/api/user_rapid_api.py +35 -31
- rapidata/api_client/api/validation_set_api.py +510 -3659
- rapidata/api_client/api/workflow_api.py +32 -825
- rapidata/api_client/api_client.py +2 -2
- rapidata/api_client/configuration.py +16 -29
- rapidata/api_client/exceptions.py +2 -2
- rapidata/api_client/models/__init__.py +65 -332
- rapidata/api_client/models/ab_test_selection_a_inner.py +1 -1
- rapidata/api_client/models/add_campaign_model.py +3 -3
- rapidata/api_client/models/add_user_response_result.py +10 -5
- rapidata/api_client/models/add_validation_rapid_model.py +55 -24
- rapidata/api_client/models/add_validation_rapid_model_asset.py +154 -0
- rapidata/api_client/models/add_validation_rapid_model_context_asset.py +160 -0
- rapidata/api_client/models/add_validation_rapid_model_metadata_inner.py +140 -0
- rapidata/api_client/models/add_validation_rapid_model_truth.py +7 -1
- rapidata/api_client/models/add_validation_rapid_new_model.py +137 -0
- rapidata/api_client/models/add_validation_rapid_new_model_asset.py +182 -0
- rapidata/api_client/models/add_validation_rapid_new_model_truth.py +286 -0
- rapidata/api_client/models/add_validation_text_rapid_model.py +1 -3
- rapidata/api_client/models/age_user_filter_model.py +2 -2
- rapidata/api_client/models/age_user_filter_model_age_group.py +41 -0
- rapidata/api_client/models/aggregated_orders_model.py +98 -0
- rapidata/api_client/models/aggregator_type.py +4 -2
- rapidata/api_client/models/and_filter.py +121 -0
- rapidata/api_client/models/and_filter_filters_inner.py +282 -0
- rapidata/api_client/models/and_user_filter_model.py +106 -0
- rapidata/api_client/models/and_user_filter_model_filters_inner.py +282 -0
- rapidata/api_client/models/are_rapids_active_result.py +2 -2
- rapidata/api_client/models/asset_metadata.py +11 -9
- rapidata/api_client/models/asset_type.py +40 -0
- rapidata/api_client/models/attach_category_rapid_blueprint.py +13 -3
- rapidata/api_client/models/attach_category_rapid_blueprint_category.py +89 -0
- rapidata/api_client/models/audience_status.py +38 -0
- rapidata/api_client/models/benchmark_query_result.py +98 -0
- rapidata/api_client/models/benchmark_query_result_paged_result.py +105 -0
- rapidata/api_client/models/boost_leaderboard_model.py +89 -0
- rapidata/api_client/models/boost_mode.py +37 -0
- rapidata/api_client/models/boost_query_result.py +7 -10
- rapidata/api_client/models/boost_query_result_boost_mode.py +37 -0
- rapidata/api_client/models/boost_query_result_boost_status.py +39 -0
- rapidata/api_client/models/boosting_profile.py +89 -0
- rapidata/api_client/models/box_shape.py +4 -33
- rapidata/api_client/models/campaign_filter.py +98 -0
- rapidata/api_client/models/campaign_query_result.py +15 -13
- rapidata/api_client/models/campaign_status.py +2 -2
- rapidata/api_client/models/change_boost_model.py +89 -0
- rapidata/api_client/models/classification_metadata.py +12 -1
- rapidata/api_client/models/classify_payload.py +14 -15
- rapidata/api_client/models/classify_payload_category.py +89 -0
- rapidata/api_client/models/client_model.py +25 -35
- rapidata/api_client/models/clients_query_result.py +5 -5
- rapidata/api_client/models/clone_order_model.py +6 -8
- rapidata/api_client/models/clone_order_result.py +9 -4
- rapidata/api_client/models/compare_rapid_blueprint.py +5 -3
- rapidata/api_client/models/compare_rapid_blueprint1.py +96 -0
- rapidata/api_client/models/compare_workflow_config.py +34 -23
- rapidata/api_client/models/compare_workflow_config_context_asset.py +174 -0
- rapidata/api_client/models/compare_workflow_config_metadata_value.py +31 -17
- rapidata/api_client/models/compare_workflow_config_model.py +15 -5
- rapidata/api_client/models/compare_workflow_model.py +34 -6
- rapidata/api_client/models/compare_workflow_model1.py +20 -9
- rapidata/api_client/models/compare_workflow_model_context_asset.py +160 -0
- rapidata/api_client/models/compare_workflow_model_metadata_inner.py +154 -0
- rapidata/api_client/models/compare_workflow_model_pair_maker_config.py +1 -1
- rapidata/api_client/models/comparison_operator.py +2 -2
- rapidata/api_client/models/conditional_validation_selection.py +8 -11
- rapidata/api_client/models/conditional_validation_selection_validation_chance.py +103 -0
- rapidata/api_client/models/confidence_interval.py +89 -0
- rapidata/api_client/models/count_metadata.py +12 -1
- rapidata/api_client/models/country_filter.py +98 -0
- rapidata/api_client/models/create_audience_request.py +99 -0
- rapidata/api_client/models/create_audience_result.py +87 -0
- rapidata/api_client/models/create_benchmark_model.py +87 -0
- rapidata/api_client/models/create_benchmark_participant_model.py +87 -0
- rapidata/api_client/models/create_benchmark_participant_result.py +89 -0
- rapidata/api_client/models/create_benchmark_prompt_result.py +87 -0
- rapidata/api_client/models/create_benchmark_result.py +87 -0
- rapidata/api_client/models/create_bridge_token_result.py +2 -2
- rapidata/api_client/models/create_client_model.py +6 -13
- rapidata/api_client/models/create_complex_order_model.py +9 -9
- rapidata/api_client/models/create_complex_order_result.py +6 -4
- rapidata/api_client/models/create_customer_client_result.py +2 -2
- rapidata/api_client/models/create_datapoint_from_files_model.py +3 -3
- rapidata/api_client/models/create_datapoint_from_text_sources_model.py +3 -3
- rapidata/api_client/models/create_datapoint_from_urls_model.py +3 -3
- rapidata/api_client/models/create_datapoint_model.py +134 -0
- rapidata/api_client/models/create_datapoint_model_asset.py +154 -0
- rapidata/api_client/models/create_datapoint_model_context_asset.py +160 -0
- rapidata/api_client/models/create_datapoint_model_metadata_inner.py +154 -0
- rapidata/api_client/models/create_datapoint_result.py +6 -18
- rapidata/api_client/models/create_demographic_rapid_model.py +45 -7
- rapidata/api_client/models/create_demographic_rapid_model_asset.py +160 -0
- rapidata/api_client/models/create_demographic_rapid_model_context_asset.py +160 -0
- rapidata/api_client/models/create_demographic_rapid_model_new.py +119 -0
- rapidata/api_client/models/create_empty_validation_set_result.py +2 -2
- rapidata/api_client/models/create_leaderboard_model.py +59 -10
- rapidata/api_client/models/create_leaderboard_result.py +17 -5
- rapidata/api_client/models/create_order_model.py +30 -101
- rapidata/api_client/models/create_order_model_referee.py +12 -12
- rapidata/api_client/models/create_order_model_workflow.py +35 -21
- rapidata/api_client/models/create_order_result.py +6 -4
- rapidata/api_client/models/create_rapid_result.py +2 -2
- rapidata/api_client/models/create_sample_model.py +93 -0
- rapidata/api_client/models/create_sample_model_asset.py +154 -0
- rapidata/api_client/models/create_sample_model_obsolete.py +87 -0
- rapidata/api_client/models/create_simple_pipeline_model_pipeline_steps_inner.py +8 -22
- rapidata/api_client/models/create_unsupported_order_model.py +6 -6
- rapidata/api_client/models/create_validation_set_model.py +5 -5
- rapidata/api_client/models/datapoint_model.py +3 -3
- rapidata/api_client/models/datapoint_state.py +2 -2
- rapidata/api_client/models/demographic_filter.py +100 -0
- rapidata/api_client/models/dynamic_client_registration_request.py +21 -36
- rapidata/api_client/models/early_stopping_referee_model.py +3 -3
- rapidata/api_client/models/effort_capped_selection.py +2 -11
- rapidata/api_client/models/elo_config.py +2 -2
- rapidata/api_client/models/elo_config_model.py +6 -6
- rapidata/api_client/models/entity_tag_header_value.py +93 -0
- rapidata/api_client/models/evaluation_workflow_config.py +13 -3
- rapidata/api_client/models/evaluation_workflow_model.py +16 -6
- rapidata/api_client/models/existing_asset_input.py +120 -0
- rapidata/api_client/models/existing_asset_input_metadata_value.py +126 -0
- rapidata/api_client/models/feature_flag.py +2 -2
- rapidata/api_client/models/feature_flag_model.py +6 -6
- rapidata/api_client/models/feedback_model.py +7 -7
- rapidata/api_client/models/file_asset.py +3 -5
- rapidata/api_client/models/file_asset_input.py +104 -0
- rapidata/api_client/models/file_asset_input1.py +104 -0
- rapidata/api_client/models/file_asset_input1_file.py +168 -0
- rapidata/api_client/models/file_asset_input2.py +104 -0
- rapidata/api_client/models/file_asset_input3.py +104 -0
- rapidata/api_client/models/file_asset_input_file.py +168 -0
- rapidata/api_client/models/file_asset_metadata_value.py +252 -0
- rapidata/api_client/models/file_asset_model_metadata_value.py +25 -81
- rapidata/api_client/models/file_stream_result.py +122 -0
- rapidata/api_client/models/file_type.py +39 -0
- rapidata/api_client/models/file_type_metadata.py +110 -0
- rapidata/api_client/models/file_type_metadata_model.py +97 -0
- rapidata/api_client/models/filter.py +7 -25
- rapidata/api_client/models/filter_operator.py +3 -2
- rapidata/api_client/models/fork_benchmark_result.py +87 -0
- rapidata/api_client/models/form_file_wrapper.py +135 -0
- rapidata/api_client/models/free_text_payload.py +10 -3
- rapidata/api_client/models/free_text_rapid_blueprint.py +10 -3
- rapidata/api_client/models/gender_user_filter_model.py +2 -2
- rapidata/api_client/models/gender_user_filter_model_gender.py +38 -0
- rapidata/api_client/models/get_asset_metadata_result.py +100 -0
- rapidata/api_client/models/get_audience_by_id_result.py +111 -0
- rapidata/api_client/models/get_available_validation_sets_result.py +2 -2
- rapidata/api_client/models/get_benchmark_by_id_query.py +96 -0
- rapidata/api_client/models/get_benchmark_by_id_query_result.py +94 -0
- rapidata/api_client/models/get_benchmark_by_id_query_result_paged_result.py +105 -0
- rapidata/api_client/models/get_benchmark_by_id_result.py +96 -0
- rapidata/api_client/models/get_boost_result.py +97 -0
- rapidata/api_client/models/get_boost_result_boost_mode.py +37 -0
- rapidata/api_client/models/get_boost_result_boost_status.py +39 -0
- rapidata/api_client/models/get_compare_ab_summary_result.py +5 -5
- rapidata/api_client/models/get_compare_workflow_results_model.py +7 -7
- rapidata/api_client/models/get_compare_workflow_results_result.py +5 -5
- rapidata/api_client/models/get_datapoint_by_id_result.py +10 -21
- rapidata/api_client/models/get_datapoint_by_id_result_asset.py +170 -0
- rapidata/api_client/models/get_dataset_by_id_result.py +2 -2
- rapidata/api_client/models/get_dataset_progress_result.py +2 -2
- rapidata/api_client/models/get_evaluation_workflow_results_model.py +119 -0
- rapidata/api_client/models/get_failed_datapoints_result.py +5 -5
- rapidata/api_client/models/get_failed_datapoints_result_datapoint.py +100 -0
- rapidata/api_client/models/get_file_metadata_result.py +100 -0
- rapidata/api_client/models/get_grouped_ranking_workflow_results_model.py +106 -0
- rapidata/api_client/models/get_grouped_ranking_workflow_results_result.py +97 -0
- rapidata/api_client/models/get_grouped_ranking_workflow_results_result_paged_result.py +105 -0
- rapidata/api_client/models/get_leaderboard_by_id_result.py +50 -6
- rapidata/api_client/models/get_order_by_id_result.py +12 -5
- rapidata/api_client/models/get_participant_by_id_result.py +9 -20
- rapidata/api_client/models/get_pipeline_by_id_result.py +5 -5
- rapidata/api_client/models/get_public_orders_result.py +2 -2
- rapidata/api_client/models/get_public_responses_result.py +95 -0
- rapidata/api_client/models/get_public_responses_result_response.py +112 -0
- rapidata/api_client/models/get_rapid_responses_result.py +6 -12
- rapidata/api_client/models/get_recommended_validation_set_result.py +95 -0
- rapidata/api_client/models/get_responses_for_rapid_result.py +106 -0
- rapidata/api_client/models/get_responses_for_rapid_result_response.py +103 -0
- rapidata/api_client/models/get_responses_for_rapid_result_response_result.py +266 -0
- rapidata/api_client/models/get_responses_result.py +5 -5
- rapidata/api_client/models/get_responses_result_response.py +103 -0
- rapidata/api_client/models/get_sample_by_id_result.py +125 -0
- rapidata/api_client/models/get_simple_workflow_results_model.py +20 -15
- rapidata/api_client/models/get_standing_by_id_result.py +96 -0
- rapidata/api_client/models/get_validation_rapids_result.py +32 -41
- rapidata/api_client/models/get_validation_set_by_id_result.py +10 -4
- rapidata/api_client/models/get_workflow_by_id_result.py +5 -5
- rapidata/api_client/models/get_workflow_by_id_result_workflow.py +23 -9
- rapidata/api_client/models/get_workflow_progress_result.py +5 -11
- rapidata/api_client/models/get_workflow_results_result.py +34 -23
- rapidata/api_client/models/get_workflow_results_result_response.py +103 -0
- rapidata/api_client/models/google_one_tap_login_model.py +4 -4
- rapidata/api_client/models/grouped_ranking_workflow_config.py +155 -0
- rapidata/api_client/models/grouped_ranking_workflow_config_context_assets_value.py +170 -0
- rapidata/api_client/models/grouped_ranking_workflow_model.py +147 -0
- rapidata/api_client/models/grouped_ranking_workflow_model1.py +121 -0
- rapidata/api_client/models/i_artifact_model.py +182 -0
- rapidata/api_client/models/i_artifact_model_campaign_artifact_model.py +98 -0
- rapidata/api_client/models/i_artifact_model_dataset_artifact_model.py +98 -0
- rapidata/api_client/models/i_artifact_model_file_artifact_model.py +98 -0
- rapidata/api_client/models/i_artifact_model_workflow_artifact_model.py +98 -0
- rapidata/api_client/models/i_artifact_model_workflow_config_artifact_model.py +102 -0
- rapidata/api_client/models/i_asset.py +170 -0
- rapidata/api_client/models/i_asset_file_asset.py +111 -0
- rapidata/api_client/models/i_asset_input.py +156 -0
- rapidata/api_client/models/i_asset_input_existing_asset_input.py +118 -0
- rapidata/api_client/models/i_asset_input_multi_asset_input.py +128 -0
- rapidata/api_client/models/i_asset_input_text_asset_input.py +118 -0
- rapidata/api_client/models/i_asset_model.py +170 -0
- rapidata/api_client/models/i_asset_model_file_asset_model.py +113 -0
- rapidata/api_client/models/i_asset_model_multi_asset_model.py +123 -0
- rapidata/api_client/models/i_asset_model_null_asset_model.py +111 -0
- rapidata/api_client/models/i_asset_model_text_asset_model.py +113 -0
- rapidata/api_client/models/i_asset_multi_asset.py +121 -0
- rapidata/api_client/models/i_asset_null_asset.py +109 -0
- rapidata/api_client/models/i_asset_text_asset.py +111 -0
- rapidata/api_client/models/i_campaign_filter.py +282 -0
- rapidata/api_client/models/i_campaign_filter_and_filter.py +117 -0
- rapidata/api_client/models/i_campaign_filter_campaign_filter.py +98 -0
- rapidata/api_client/models/i_campaign_filter_country_filter.py +98 -0
- rapidata/api_client/models/i_campaign_filter_demographic_filter.py +100 -0
- rapidata/api_client/models/i_campaign_filter_language_filter.py +98 -0
- rapidata/api_client/models/i_campaign_filter_new_user_filter.py +96 -0
- rapidata/api_client/models/i_campaign_filter_not_filter.py +113 -0
- rapidata/api_client/models/i_campaign_filter_or_filter.py +117 -0
- rapidata/api_client/models/i_campaign_filter_response_count_filter.py +103 -0
- rapidata/api_client/models/i_campaign_filter_user_action_restriction_filter.py +106 -0
- rapidata/api_client/models/i_campaign_filter_user_score_filter.py +102 -0
- rapidata/api_client/models/i_campaign_filter_user_state_filter.py +106 -0
- rapidata/api_client/models/i_dataset_metadata_input.py +154 -0
- rapidata/api_client/models/i_dataset_metadata_input_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/i_dataset_metadata_input_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/i_dataset_metadata_input_transcription_metadata_input.py +96 -0
- rapidata/api_client/models/i_dataset_model.py +126 -0
- rapidata/api_client/models/i_dataset_model_clone_dataset_model.py +98 -0
- rapidata/api_client/models/i_metadata.py +252 -0
- rapidata/api_client/models/i_metadata_classification_metadata.py +109 -0
- rapidata/api_client/models/i_metadata_count_metadata.py +109 -0
- rapidata/api_client/models/i_metadata_file_type_metadata.py +110 -0
- rapidata/api_client/models/i_metadata_image_dimension_metadata.py +111 -0
- rapidata/api_client/models/i_metadata_input.py +126 -0
- rapidata/api_client/models/i_metadata_input_text_metadata_input.py +111 -0
- rapidata/api_client/models/i_metadata_location_metadata.py +111 -0
- rapidata/api_client/models/i_metadata_model.py +252 -0
- rapidata/api_client/models/i_metadata_model_classification_metadata_model.py +96 -0
- rapidata/api_client/models/i_metadata_model_count_metadata_model.py +96 -0
- rapidata/api_client/models/i_metadata_model_file_type_metadata_model.py +97 -0
- rapidata/api_client/models/i_metadata_model_image_dimension_metadata_model.py +98 -0
- rapidata/api_client/models/i_metadata_model_location_metadata_model.py +98 -0
- rapidata/api_client/models/i_metadata_model_original_filename_metadata_model.py +96 -0
- rapidata/api_client/models/i_metadata_model_source_url_metadata_model.py +96 -0
- rapidata/api_client/models/i_metadata_model_streams_metadata_model.py +100 -0
- rapidata/api_client/models/i_metadata_model_text_metadata_model.py +101 -0
- rapidata/api_client/models/i_metadata_model_video_duration_metadata_model.py +97 -0
- rapidata/api_client/models/i_metadata_original_filename_metadata.py +109 -0
- rapidata/api_client/models/i_metadata_source_url_metadata.py +109 -0
- rapidata/api_client/models/i_metadata_streams_metadata.py +113 -0
- rapidata/api_client/models/i_metadata_text_metadata.py +114 -0
- rapidata/api_client/models/i_metadata_video_duration_metadata.py +110 -0
- rapidata/api_client/models/i_order_workflow_model.py +168 -0
- rapidata/api_client/models/i_order_workflow_model_compare_workflow_model.py +146 -0
- rapidata/api_client/models/i_order_workflow_model_evaluation_workflow_model.py +108 -0
- rapidata/api_client/models/i_order_workflow_model_grouped_ranking_workflow_model.py +147 -0
- rapidata/api_client/models/i_order_workflow_model_simple_workflow_model.py +110 -0
- rapidata/api_client/models/i_pair_maker_config.py +126 -0
- rapidata/api_client/models/i_pair_maker_config_model.py +126 -0
- rapidata/api_client/models/i_pair_maker_config_model_online_pair_maker_config_model.py +98 -0
- rapidata/api_client/models/i_pair_maker_config_online_pair_maker_config.py +98 -0
- rapidata/api_client/models/i_pair_maker_information.py +126 -0
- rapidata/api_client/models/i_pair_maker_information_online_pair_maker_information.py +100 -0
- rapidata/api_client/models/i_pipeline_artifact_model.py +126 -0
- rapidata/api_client/models/i_pipeline_artifact_model_create_dataset_artifact_model.py +102 -0
- rapidata/api_client/models/i_pipeline_model.py +126 -0
- rapidata/api_client/models/i_pipeline_model_create_simple_pipeline_model.py +116 -0
- rapidata/api_client/models/i_pipeline_step_model.py +168 -0
- rapidata/api_client/models/i_pipeline_step_model_dataset_evaluation_step_model.py +102 -0
- rapidata/api_client/models/i_pipeline_step_model_send_completion_mail_step_model.py +98 -0
- rapidata/api_client/models/i_pipeline_step_model_workflow_aggregation_step_model.py +103 -0
- rapidata/api_client/models/i_pipeline_step_model_workflow_labeling_step_model.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint.py +252 -0
- rapidata/api_client/models/i_rapid_blueprint_attach_category_rapid_blueprint.py +108 -0
- rapidata/api_client/models/i_rapid_blueprint_bounding_box_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_compare_rapid_blueprint.py +98 -0
- rapidata/api_client/models/i_rapid_blueprint_free_text_rapid_blueprint.py +103 -0
- rapidata/api_client/models/i_rapid_blueprint_line_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_locate_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_named_entity_rapid_blueprint.py +98 -0
- rapidata/api_client/models/i_rapid_blueprint_polygon_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_scrub_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_transcription_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_payload.py +252 -0
- rapidata/api_client/models/i_rapid_payload_bounding_box_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_classify_payload.py +106 -0
- rapidata/api_client/models/i_rapid_payload_compare_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_free_text_payload.py +103 -0
- rapidata/api_client/models/i_rapid_payload_line_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_locate_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_named_entity_payload.py +98 -0
- rapidata/api_client/models/i_rapid_payload_polygon_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_scrub_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_transcription_payload.py +106 -0
- rapidata/api_client/models/i_rapid_result.py +266 -0
- rapidata/api_client/models/i_rapid_result_attach_category_result.py +98 -0
- rapidata/api_client/models/i_rapid_result_bounding_box_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_compare_result.py +98 -0
- rapidata/api_client/models/i_rapid_result_free_text_result.py +98 -0
- rapidata/api_client/models/i_rapid_result_line_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_locate_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_named_entity_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_polygon_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_scrub_result.py +98 -0
- rapidata/api_client/models/i_rapid_result_skip_result.py +96 -0
- rapidata/api_client/models/i_rapid_result_transcription_result.py +106 -0
- rapidata/api_client/models/i_referee_config.py +154 -0
- rapidata/api_client/models/i_referee_config_naive_referee_config.py +96 -0
- rapidata/api_client/models/i_referee_config_never_ending_referee_config.py +94 -0
- rapidata/api_client/models/i_referee_config_probabilistic_attach_category_referee_config.py +98 -0
- rapidata/api_client/models/i_referee_info.py +154 -0
- rapidata/api_client/models/i_referee_info_naive_referee_info.py +96 -0
- rapidata/api_client/models/i_referee_info_never_ending_referee_info.py +94 -0
- rapidata/api_client/models/i_referee_info_probabilistic_attach_category_referee_info.py +98 -0
- rapidata/api_client/models/i_referee_model.py +140 -0
- rapidata/api_client/models/i_referee_model_early_stopping_referee_model.py +98 -0
- rapidata/api_client/models/i_referee_model_naive_referee_model.py +96 -0
- rapidata/api_client/models/i_selection.py +240 -0
- rapidata/api_client/models/i_selection_ab_test_selection.py +122 -0
- rapidata/api_client/models/i_selection_capped_selection.py +108 -0
- rapidata/api_client/models/i_selection_conditional_validation_selection.py +110 -0
- rapidata/api_client/models/i_selection_demographic_selection.py +98 -0
- rapidata/api_client/models/i_selection_effort_capped_selection.py +101 -0
- rapidata/api_client/models/i_selection_labeling_selection.py +103 -0
- rapidata/api_client/models/i_selection_shuffling_selection.py +106 -0
- rapidata/api_client/models/i_selection_static_selection.py +96 -0
- rapidata/api_client/models/i_selection_validation_selection.py +98 -0
- rapidata/api_client/models/i_user_filter_model.py +282 -0
- rapidata/api_client/models/i_user_filter_model_age_user_filter_model.py +104 -0
- rapidata/api_client/models/i_user_filter_model_and_user_filter_model.py +106 -0
- rapidata/api_client/models/i_user_filter_model_campaign_user_filter_model.py +96 -0
- rapidata/api_client/models/i_user_filter_model_country_user_filter_model.py +96 -0
- rapidata/api_client/models/i_user_filter_model_custom_user_filter_model.py +98 -0
- rapidata/api_client/models/i_user_filter_model_gender_user_filter_model.py +104 -0
- rapidata/api_client/models/i_user_filter_model_language_user_filter_model.py +96 -0
- rapidata/api_client/models/i_user_filter_model_new_user_filter_model.py +94 -0
- rapidata/api_client/models/i_user_filter_model_not_user_filter_model.py +102 -0
- rapidata/api_client/models/i_user_filter_model_or_user_filter_model.py +106 -0
- rapidata/api_client/models/i_user_filter_model_response_count_user_filter_model.py +101 -0
- rapidata/api_client/models/i_user_filter_model_user_score_user_filter_model.py +105 -0
- rapidata/api_client/models/i_validation_metadata_input.py +140 -0
- rapidata/api_client/models/i_validation_metadata_input_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/i_validation_metadata_input_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/i_validation_truth.py +280 -0
- rapidata/api_client/models/i_validation_truth_attach_category_truth.py +96 -0
- rapidata/api_client/models/i_validation_truth_bounding_box_truth.py +102 -0
- rapidata/api_client/models/i_validation_truth_compare_truth.py +96 -0
- rapidata/api_client/models/i_validation_truth_empty_validation_truth.py +94 -0
- rapidata/api_client/models/i_validation_truth_line_truth.py +94 -0
- rapidata/api_client/models/i_validation_truth_locate_box_truth.py +104 -0
- rapidata/api_client/models/i_validation_truth_multi_compare_truth.py +96 -0
- rapidata/api_client/models/i_validation_truth_named_entity_truth.py +104 -0
- rapidata/api_client/models/i_validation_truth_polygon_truth.py +94 -0
- rapidata/api_client/models/i_validation_truth_scrub_truth.py +104 -0
- rapidata/api_client/models/i_validation_truth_skip_truth.py +94 -0
- rapidata/api_client/models/i_validation_truth_transcription_truth.py +115 -0
- rapidata/api_client/models/i_workflow_config.py +168 -0
- rapidata/api_client/models/i_workflow_config_compare_workflow_config.py +142 -0
- rapidata/api_client/models/i_workflow_config_evaluation_workflow_config.py +114 -0
- rapidata/api_client/models/i_workflow_config_grouped_ranking_workflow_config.py +155 -0
- rapidata/api_client/models/i_workflow_config_simple_workflow_config.py +116 -0
- rapidata/api_client/models/i_workflow_model.py +168 -0
- rapidata/api_client/models/i_workflow_model_compare_workflow_model.py +145 -0
- rapidata/api_client/models/i_workflow_model_evaluation_workflow_model.py +115 -0
- rapidata/api_client/models/i_workflow_model_grouped_ranking_workflow_model.py +121 -0
- rapidata/api_client/models/i_workflow_model_simple_workflow_model.py +119 -0
- rapidata/api_client/models/image_dimension_metadata.py +12 -1
- rapidata/api_client/models/inquire_file_metadata_result.py +100 -0
- rapidata/api_client/models/inspect_report_result.py +2 -2
- rapidata/api_client/models/json_web_key.py +2 -36
- rapidata/api_client/models/json_web_key_set.py +2 -22
- rapidata/api_client/models/labeling_selection.py +11 -13
- rapidata/api_client/models/language_filter.py +98 -0
- rapidata/api_client/models/leaderboard_query_result.py +46 -4
- rapidata/api_client/models/leaderboards_query_result.py +135 -0
- rapidata/api_client/models/line_result.py +3 -3
- rapidata/api_client/models/line_result_line.py +97 -0
- rapidata/api_client/models/line_result_line_point.py +89 -0
- rapidata/api_client/models/local_file_wrapper.py +120 -0
- rapidata/api_client/models/locate_coordinate.py +4 -13
- rapidata/api_client/models/location_metadata.py +12 -1
- rapidata/api_client/models/logic_operator.py +2 -2
- rapidata/api_client/models/metadata_i_order_metadata_input.py +154 -0
- rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/metadata_i_order_metadata_input_metadata_transcription_metadata_input.py +96 -0
- rapidata/api_client/models/metadata_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/metadata_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/metadata_transcription_metadata_input.py +96 -0
- rapidata/api_client/models/multi_asset.py +6 -6
- rapidata/api_client/models/multi_asset_assets_inner.py +170 -0
- rapidata/api_client/models/multi_asset_input.py +130 -0
- rapidata/api_client/models/multi_asset_input1.py +110 -0
- rapidata/api_client/models/multi_asset_input1_assets_inner.py +198 -0
- rapidata/api_client/models/multi_asset_input2.py +110 -0
- rapidata/api_client/models/multi_asset_input3.py +110 -0
- rapidata/api_client/models/multi_asset_input3_assets_inner.py +198 -0
- rapidata/api_client/models/multi_asset_input_assets_inner.py +156 -0
- rapidata/api_client/models/multi_asset_model.py +3 -3
- rapidata/api_client/models/naive_referee_model.py +2 -2
- rapidata/api_client/models/named_classification.py +4 -13
- rapidata/api_client/models/new_user_filter.py +96 -0
- rapidata/api_client/models/newsletter_model.py +6 -6
- rapidata/api_client/models/not_available_yet_result.py +4 -13
- rapidata/api_client/models/not_filter.py +117 -0
- rapidata/api_client/models/not_user_filter_model.py +3 -3
- rapidata/api_client/models/null_asset.py +3 -5
- rapidata/api_client/models/online_pair_maker_config_model.py +3 -3
- rapidata/api_client/models/or_filter.py +121 -0
- rapidata/api_client/models/or_user_filter_model.py +3 -3
- rapidata/api_client/models/order_model.py +15 -14
- rapidata/api_client/models/order_state.py +2 -2
- rapidata/api_client/models/original_filename_metadata.py +12 -1
- rapidata/api_client/models/page_info.py +2 -7
- rapidata/api_client/models/paged_result_aggregated_orders_model.py +105 -0
- rapidata/api_client/models/paged_result_benchmark_query_result.py +105 -0
- rapidata/api_client/models/paged_result_campaign_query_result.py +105 -0
- rapidata/api_client/models/paged_result_clients_query_result.py +105 -0
- rapidata/api_client/models/paged_result_datapoint_model.py +105 -0
- rapidata/api_client/models/paged_result_get_compare_workflow_results_result.py +105 -0
- rapidata/api_client/models/paged_result_get_grouped_ranking_workflow_results_result.py +105 -0
- rapidata/api_client/models/paged_result_get_validation_rapids_result.py +105 -0
- rapidata/api_client/models/paged_result_get_workflow_results_result.py +105 -0
- rapidata/api_client/models/paged_result_i_workflow_model.py +105 -0
- rapidata/api_client/models/paged_result_leaderboard_query_result.py +105 -0
- rapidata/api_client/models/paged_result_leaderboards_query_result.py +105 -0
- rapidata/api_client/models/paged_result_of_aggregated_orders_model.py +103 -0
- rapidata/api_client/models/paged_result_of_benchmark_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_campaign_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_clients_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_compare_workflow_results_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_grouped_ranking_workflow_results_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_validation_rapids_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_workflow_results_result.py +103 -0
- rapidata/api_client/models/paged_result_of_i_workflow_model.py +103 -0
- rapidata/api_client/models/paged_result_of_leaderboards_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_order_model.py +103 -0
- rapidata/api_client/models/paged_result_of_participant_by_benchmark.py +103 -0
- rapidata/api_client/models/paged_result_of_prompt_by_benchmark_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_audiences_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_datapoints_by_dataset_id_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_validation_rapid_eligibility_result.py +103 -0
- rapidata/api_client/models/paged_result_of_rapid_model.py +103 -0
- rapidata/api_client/models/paged_result_of_runs_by_leaderboard_result.py +103 -0
- rapidata/api_client/models/paged_result_of_sample_by_identifier.py +103 -0
- rapidata/api_client/models/paged_result_of_sample_by_participant.py +103 -0
- rapidata/api_client/models/paged_result_of_standing_by_leaderboard.py +103 -0
- rapidata/api_client/models/paged_result_of_validation_set_model.py +103 -0
- rapidata/api_client/models/paged_result_order_model.py +105 -0
- rapidata/api_client/models/paged_result_participant_by_benchmark.py +105 -0
- rapidata/api_client/models/paged_result_potential_validation_rapid.py +105 -0
- rapidata/api_client/models/paged_result_prompt_by_benchmark_result.py +105 -0
- rapidata/api_client/models/paged_result_query_audiences_result.py +105 -0
- rapidata/api_client/models/paged_result_query_datapoints_by_dataset_id_result.py +105 -0
- rapidata/api_client/models/paged_result_query_validation_rapid_eligibility_result.py +105 -0
- rapidata/api_client/models/paged_result_rapid_model.py +105 -0
- rapidata/api_client/models/paged_result_runs_by_leaderboard_result.py +105 -0
- rapidata/api_client/models/paged_result_sample_by_identifier.py +105 -0
- rapidata/api_client/models/paged_result_sample_by_participant.py +105 -0
- rapidata/api_client/models/paged_result_standing_by_leaderboard.py +105 -0
- rapidata/api_client/models/paged_result_validation_set_model.py +105 -0
- rapidata/api_client/models/participant_by_benchmark.py +94 -0
- rapidata/api_client/models/participant_by_benchmark_paged_result.py +105 -0
- rapidata/api_client/models/participant_by_leaderboard.py +19 -8
- rapidata/api_client/models/participant_status.py +4 -5
- rapidata/api_client/models/pipeline_id_workflow_config_put_request.py +140 -0
- rapidata/api_client/models/polygon_result.py +3 -3
- rapidata/api_client/models/polygon_result_coordinate.py +89 -0
- rapidata/api_client/models/polygon_result_shape.py +95 -0
- rapidata/api_client/models/potential_validation_rapid.py +103 -0
- rapidata/api_client/models/potential_validation_rapid_paged_result.py +105 -0
- rapidata/api_client/models/potential_validation_rapid_truth.py +280 -0
- rapidata/api_client/models/preliminary_download_model.py +5 -5
- rapidata/api_client/models/preview_order_model.py +87 -0
- rapidata/api_client/models/problem_details.py +2 -20
- rapidata/api_client/models/prompt_asset_metadata_input.py +6 -8
- rapidata/api_client/models/prompt_asset_metadata_input_asset.py +154 -0
- rapidata/api_client/models/prompt_by_benchmark_result.py +112 -0
- rapidata/api_client/models/prompt_by_benchmark_result_paged_result.py +105 -0
- rapidata/api_client/models/prompt_metadata.py +12 -1
- rapidata/api_client/models/prompt_metadata_input.py +2 -2
- rapidata/api_client/models/prompt_type.py +38 -0
- rapidata/api_client/models/proxy_file_wrapper.py +129 -0
- rapidata/api_client/models/public_order_model.py +2 -2
- rapidata/api_client/models/public_rapid_response.py +112 -0
- rapidata/api_client/models/query_audiences_result.py +111 -0
- rapidata/api_client/models/query_datapoints_by_dataset_id_result.py +95 -0
- rapidata/api_client/models/query_model.py +10 -5
- rapidata/api_client/models/query_validation_model.py +97 -0
- rapidata/api_client/models/query_validation_rapid_eligibility_model_query_validation_model.py +107 -0
- rapidata/api_client/models/query_validation_rapid_eligibility_result.py +103 -0
- rapidata/api_client/models/query_validation_rapid_eligibility_result_truth.py +280 -0
- rapidata/api_client/models/rapid_issue.py +2 -2
- rapidata/api_client/models/rapid_modality.py +46 -0
- rapidata/api_client/models/rapid_model.py +33 -49
- rapidata/api_client/models/rapid_result_model.py +7 -7
- rapidata/api_client/models/rapid_skipped_model.py +5 -5
- rapidata/api_client/models/rapid_state.py +2 -2
- rapidata/api_client/models/read_bridge_token_keys_result.py +10 -24
- rapidata/api_client/models/reference_asset_input.py +100 -0
- rapidata/api_client/models/report_model.py +9 -15
- rapidata/api_client/models/response_count_filter.py +103 -0
- rapidata/api_client/models/response_count_user_filter_model.py +2 -8
- rapidata/api_client/models/retrieval_mode.py +2 -2
- rapidata/api_client/models/root_filter.py +5 -14
- rapidata/api_client/models/run_status.py +39 -0
- rapidata/api_client/models/runs_by_leaderboard_result.py +104 -0
- rapidata/api_client/models/runs_by_leaderboard_result_paged_result.py +105 -0
- rapidata/api_client/models/sample_by_identifier.py +125 -0
- rapidata/api_client/models/sample_by_identifier_paged_result.py +105 -0
- rapidata/api_client/models/sample_by_participant.py +121 -0
- rapidata/api_client/models/sample_by_participant_paged_result.py +105 -0
- rapidata/api_client/models/scrub_range.py +2 -2
- rapidata/api_client/models/send_survey_model.py +87 -0
- rapidata/api_client/models/simple_workflow_config.py +15 -7
- rapidata/api_client/models/simple_workflow_config_blueprint.py +37 -23
- rapidata/api_client/models/simple_workflow_config_model.py +11 -3
- rapidata/api_client/models/simple_workflow_model.py +14 -4
- rapidata/api_client/models/simple_workflow_model1.py +4 -11
- rapidata/api_client/models/simple_workflow_model_blueprint.py +1 -1
- rapidata/api_client/models/sort_criterion.py +5 -11
- rapidata/api_client/models/sort_direction.py +2 -2
- rapidata/api_client/models/source_url_metadata.py +12 -1
- rapidata/api_client/models/standing_by_benchmark.py +113 -0
- rapidata/api_client/models/standing_by_leaderboard.py +113 -0
- rapidata/api_client/models/standing_by_leaderboard_paged_result.py +105 -0
- rapidata/api_client/models/standing_status.py +38 -0
- rapidata/api_client/models/standings_by_benchmark_result.py +95 -0
- rapidata/api_client/models/standings_by_leaderboard_result.py +95 -0
- rapidata/api_client/models/start_preliminary_download_result.py +87 -0
- rapidata/api_client/models/sticky_state.py +3 -2
- rapidata/api_client/models/stream_file_wrapper.py +138 -0
- rapidata/api_client/models/streams_metadata.py +12 -1
- rapidata/api_client/models/string_segment.py +105 -0
- rapidata/api_client/models/submit_coco_model.py +1 -3
- rapidata/api_client/models/submit_order_model.py +87 -0
- rapidata/api_client/models/submit_participant_result.py +89 -0
- rapidata/api_client/models/submit_prompt_model.py +107 -0
- rapidata/api_client/models/submit_prompt_model_prompt_asset.py +202 -0
- rapidata/api_client/models/tags_by_benchmark_result.py +87 -0
- rapidata/api_client/models/text_asset.py +3 -5
- rapidata/api_client/models/text_asset_input.py +120 -0
- rapidata/api_client/models/text_metadata.py +18 -2
- rapidata/api_client/models/text_metadata_input.py +111 -0
- rapidata/api_client/models/text_metadata_model.py +7 -2
- rapidata/api_client/models/transcription_metadata.py +9 -1
- rapidata/api_client/models/transcription_metadata_input.py +2 -2
- rapidata/api_client/models/transcription_word.py +2 -2
- rapidata/api_client/models/translated_string.py +2 -2
- rapidata/api_client/models/unlock_order_result.py +2 -2
- rapidata/api_client/models/update_audience_request.py +102 -0
- rapidata/api_client/models/update_benchmark_model.py +99 -0
- rapidata/api_client/models/update_benchmark_name_model.py +87 -0
- rapidata/api_client/models/update_campaign_model.py +11 -11
- rapidata/api_client/models/update_dataset_name_model.py +5 -5
- rapidata/api_client/models/update_dimensions_model.py +3 -3
- rapidata/api_client/models/update_leaderboard_model.py +106 -0
- rapidata/api_client/models/update_leaderboard_name_model.py +87 -0
- rapidata/api_client/models/update_leaderboard_response_config_model.py +89 -0
- rapidata/api_client/models/update_order_name_model.py +5 -5
- rapidata/api_client/models/update_participant_model.py +92 -0
- rapidata/api_client/models/update_participant_name_model.py +87 -0
- rapidata/api_client/models/update_priority_model.py +87 -0
- rapidata/api_client/models/update_prompt_tags_model.py +87 -0
- rapidata/api_client/models/update_should_alert_model.py +87 -0
- rapidata/api_client/models/update_validation_rapid_model.py +28 -10
- rapidata/api_client/models/update_validation_rapid_model_context_asset.py +160 -0
- rapidata/api_client/models/update_validation_set_model.py +120 -0
- rapidata/api_client/models/upload_asset_result.py +102 -0
- rapidata/api_client/models/upload_file_from_url_result.py +87 -0
- rapidata/api_client/models/upload_file_result.py +87 -0
- rapidata/api_client/models/user_action_restriction.py +37 -0
- rapidata/api_client/models/user_action_restriction_filter.py +101 -0
- rapidata/api_client/models/user_score_filter.py +102 -0
- rapidata/api_client/models/user_state.py +38 -0
- rapidata/api_client/models/user_state_filter.py +101 -0
- rapidata/api_client/models/validation_chance.py +20 -3
- rapidata/api_client/models/validation_set_model.py +39 -5
- rapidata/api_client/models/validation_set_overview_model.py +2 -2
- rapidata/api_client/models/validation_set_zip_post_request_blueprint.py +252 -0
- rapidata/api_client/models/video_duration_metadata.py +12 -1
- rapidata/api_client/models/workflow_aggregation_step_model.py +3 -12
- rapidata/api_client/models/workflow_config_artifact_model_workflow_config.py +23 -9
- rapidata/api_client/models/workflow_state.py +2 -2
- rapidata/api_client/models/zip_entry_file_wrapper.py +151 -0
- rapidata/api_client/rest.py +16 -9
- rapidata/api_client_README.md +373 -336
- rapidata/rapidata_client/__init__.py +9 -18
- rapidata/rapidata_client/api/rapidata_api_client.py +253 -0
- rapidata/rapidata_client/benchmark/_detail_mapper.py +32 -0
- rapidata/rapidata_client/benchmark/leaderboard/__init__.py +0 -0
- rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py +221 -0
- rapidata/rapidata_client/benchmark/participant/__init__.py +0 -0
- rapidata/rapidata_client/benchmark/participant/_participant.py +147 -0
- rapidata/rapidata_client/benchmark/rapidata_benchmark.py +546 -0
- rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py +219 -0
- rapidata/rapidata_client/config/__init__.py +4 -0
- rapidata/rapidata_client/config/logger.py +135 -0
- rapidata/rapidata_client/config/logging_config.py +55 -0
- rapidata/rapidata_client/config/managed_print.py +6 -0
- rapidata/rapidata_client/config/order_config.py +14 -0
- rapidata/rapidata_client/config/rapidata_config.py +36 -0
- rapidata/rapidata_client/config/tracer.py +184 -0
- rapidata/rapidata_client/config/upload_config.py +64 -0
- rapidata/rapidata_client/datapoints/__init__.py +10 -0
- rapidata/rapidata_client/datapoints/_asset_uploader.py +169 -0
- rapidata/rapidata_client/datapoints/_datapoint.py +92 -0
- rapidata/rapidata_client/datapoints/_datapoint_uploader.py +47 -0
- rapidata/rapidata_client/datapoints/_datapoints_validator.py +70 -0
- rapidata/rapidata_client/datapoints/assets/__init__.py +0 -0
- rapidata/rapidata_client/datapoints/assets/constants.py +7 -0
- rapidata/rapidata_client/{metadata → datapoints/metadata}/__init__.py +1 -0
- rapidata/rapidata_client/datapoints/metadata/_media_asset_metadata.py +26 -0
- rapidata/rapidata_client/datapoints/metadata/_private_text_metadata.py +16 -0
- rapidata/rapidata_client/datapoints/metadata/_prompt_identifier_metadata.py +14 -0
- rapidata/rapidata_client/datapoints/metadata/_prompt_metadata.py +12 -0
- rapidata/rapidata_client/datapoints/metadata/_public_text_metadata.py +16 -0
- rapidata/rapidata_client/{metadata → datapoints/metadata}/_select_words_metadata.py +4 -5
- rapidata/rapidata_client/demographic/demographic_manager.py +44 -19
- rapidata/rapidata_client/exceptions/__init__.py +1 -0
- rapidata/rapidata_client/exceptions/failed_upload_exception.py +20 -0
- rapidata/rapidata_client/filter/__init__.py +1 -0
- rapidata/rapidata_client/filter/_base_filter.py +27 -6
- rapidata/rapidata_client/filter/age_filter.py +21 -10
- rapidata/rapidata_client/filter/and_filter.py +42 -0
- rapidata/rapidata_client/filter/campaign_filter.py +18 -10
- rapidata/rapidata_client/filter/country_filter.py +34 -12
- rapidata/rapidata_client/filter/custom_filter.py +22 -12
- rapidata/rapidata_client/filter/gender_filter.py +22 -10
- rapidata/rapidata_client/filter/language_filter.py +39 -21
- rapidata/rapidata_client/filter/models/age_group.py +14 -12
- rapidata/rapidata_client/filter/models/gender.py +12 -8
- rapidata/rapidata_client/filter/new_user_filter.py +11 -4
- rapidata/rapidata_client/filter/not_filter.py +23 -11
- rapidata/rapidata_client/filter/or_filter.py +23 -11
- rapidata/rapidata_client/filter/rapidata_filters.py +19 -13
- rapidata/rapidata_client/filter/response_count_filter.py +36 -20
- rapidata/rapidata_client/filter/user_score_filter.py +47 -24
- rapidata/rapidata_client/order/_rapidata_order_builder.py +289 -154
- rapidata/rapidata_client/order/dataset/_rapidata_dataset.py +153 -0
- rapidata/rapidata_client/order/rapidata_order.py +316 -163
- rapidata/rapidata_client/order/rapidata_order_manager.py +688 -430
- rapidata/rapidata_client/order/rapidata_results.py +86 -63
- rapidata/rapidata_client/rapidata_client.py +98 -36
- rapidata/rapidata_client/referee/__init__.py +1 -1
- rapidata/rapidata_client/referee/_base_referee.py +7 -3
- rapidata/rapidata_client/referee/_early_stopping_referee.py +20 -11
- rapidata/rapidata_client/referee/_naive_referee.py +18 -3
- rapidata/rapidata_client/selection/__init__.py +2 -2
- rapidata/rapidata_client/selection/_base_selection.py +9 -2
- rapidata/rapidata_client/selection/ab_test_selection.py +28 -20
- rapidata/rapidata_client/selection/capped_selection.py +23 -16
- rapidata/rapidata_client/selection/conditional_validation_selection.py +43 -24
- rapidata/rapidata_client/selection/demographic_selection.py +21 -6
- rapidata/rapidata_client/selection/effort_selection.py +40 -10
- rapidata/rapidata_client/selection/labeling_selection.py +34 -11
- rapidata/rapidata_client/selection/{retrieval_modes.py → rapidata_retrieval_modes.py} +7 -4
- rapidata/rapidata_client/selection/rapidata_selections.py +17 -8
- rapidata/rapidata_client/selection/shuffling_selection.py +21 -13
- rapidata/rapidata_client/selection/static_selection.py +19 -8
- rapidata/rapidata_client/selection/validation_selection.py +20 -4
- rapidata/rapidata_client/settings/__init__.py +2 -0
- rapidata/rapidata_client/settings/_rapidata_setting.py +15 -2
- rapidata/rapidata_client/settings/alert_on_fast_response.py +8 -5
- rapidata/rapidata_client/settings/allow_neither_both.py +3 -0
- rapidata/rapidata_client/settings/custom_setting.py +3 -2
- rapidata/rapidata_client/settings/free_text_minimum_characters.py +9 -4
- rapidata/rapidata_client/settings/models/translation_behaviour_options.py +3 -2
- rapidata/rapidata_client/settings/mute_video.py +15 -0
- rapidata/rapidata_client/settings/no_shuffle.py +4 -2
- rapidata/rapidata_client/settings/play_video_until_the_end.py +7 -4
- rapidata/rapidata_client/settings/rapidata_settings.py +16 -3
- rapidata/rapidata_client/settings/swap_context_instruction.py +20 -0
- rapidata/rapidata_client/settings/translation_behaviour.py +7 -5
- rapidata/rapidata_client/validation/rapidata_validation_set.py +106 -12
- rapidata/rapidata_client/validation/rapids/_validation_rapid_uploader.py +62 -0
- rapidata/rapidata_client/validation/rapids/box.py +37 -12
- rapidata/rapidata_client/validation/rapids/rapids.py +28 -103
- rapidata/rapidata_client/validation/rapids/rapids_manager.py +315 -208
- rapidata/rapidata_client/validation/validation_set_manager.py +511 -274
- rapidata/rapidata_client/workflow/__init__.py +2 -1
- rapidata/rapidata_client/workflow/_base_workflow.py +25 -7
- rapidata/rapidata_client/workflow/_classify_workflow.py +58 -15
- rapidata/rapidata_client/workflow/_compare_workflow.py +44 -9
- rapidata/rapidata_client/workflow/_draw_workflow.py +40 -10
- rapidata/rapidata_client/workflow/_evaluation_workflow.py +28 -7
- rapidata/rapidata_client/workflow/_free_text_workflow.py +46 -9
- rapidata/rapidata_client/workflow/_locate_workflow.py +40 -10
- rapidata/rapidata_client/workflow/_multi_ranking_workflow.py +87 -0
- rapidata/rapidata_client/workflow/_ranking_workflow.py +109 -25
- rapidata/rapidata_client/workflow/_select_words_workflow.py +51 -11
- rapidata/rapidata_client/workflow/_timestamp_workflow.py +42 -11
- rapidata/service/__init__.py +0 -1
- rapidata/service/credential_manager.py +14 -14
- rapidata/service/openapi_service.py +79 -24
- rapidata/types/__init__.py +166 -0
- rapidata-2.44.3.dist-info/METADATA +32 -0
- rapidata-2.44.3.dist-info/RECORD +1014 -0
- {rapidata-2.28.2.dist-info → rapidata-2.44.3.dist-info}/WHEEL +1 -1
- rapidata/rapidata_client/api/rapidata_exception.py +0 -107
- rapidata/rapidata_client/assets/__init__.py +0 -10
- rapidata/rapidata_client/assets/_base_asset.py +0 -11
- rapidata/rapidata_client/assets/_media_asset.py +0 -306
- rapidata/rapidata_client/assets/_multi_asset.py +0 -61
- rapidata/rapidata_client/assets/_sessions.py +0 -35
- rapidata/rapidata_client/assets/_text_asset.py +0 -34
- rapidata/rapidata_client/assets/data_type_enum.py +0 -7
- rapidata/rapidata_client/country_codes/__init__.py +0 -1
- rapidata/rapidata_client/country_codes/country_codes.py +0 -19
- rapidata/rapidata_client/leaderboard/rapidata_leaderboard.py +0 -127
- rapidata/rapidata_client/leaderboard/rapidata_leaderboard_manager.py +0 -92
- rapidata/rapidata_client/logging/__init__.py +0 -2
- rapidata/rapidata_client/logging/logger.py +0 -122
- rapidata/rapidata_client/logging/output_manager.py +0 -20
- rapidata/rapidata_client/metadata/_media_asset_metadata.py +0 -15
- rapidata/rapidata_client/metadata/_private_text_metadata.py +0 -17
- rapidata/rapidata_client/metadata/_prompt_metadata.py +0 -18
- rapidata/rapidata_client/metadata/_public_text_metadata.py +0 -17
- rapidata/rapidata_client/order/_rapidata_dataset.py +0 -461
- rapidata/service/local_file_service.py +0 -25
- rapidata-2.28.2.dist-info/METADATA +0 -35
- rapidata-2.28.2.dist-info/RECORD +0 -574
- /rapidata/rapidata_client/{leaderboard → benchmark}/__init__.py +0 -0
- /rapidata/rapidata_client/{metadata → datapoints/metadata}/_base_metadata.py +0 -0
- {rapidata-2.28.2.dist-info → rapidata-2.44.3.dist-info/licenses}/LICENSE +0 -0
|
@@ -1,22 +1,39 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
|
|
1
4
|
# Standard library imports
|
|
2
5
|
import json
|
|
3
6
|
import urllib.parse
|
|
4
7
|
import webbrowser
|
|
5
8
|
from time import sleep
|
|
6
|
-
from typing import cast
|
|
9
|
+
from typing import cast, Callable, TypeVar, TYPE_CHECKING
|
|
7
10
|
from colorama import Fore
|
|
8
11
|
from datetime import datetime
|
|
9
12
|
from tqdm import tqdm
|
|
10
13
|
|
|
11
14
|
# Local/application imports
|
|
12
|
-
from rapidata.api_client.exceptions import ApiException
|
|
13
|
-
from rapidata.api_client.models.campaign_artifact_model import CampaignArtifactModel
|
|
14
|
-
from rapidata.api_client.models.order_state import OrderState
|
|
15
|
-
from rapidata.api_client.models.preliminary_download_model import PreliminaryDownloadModel
|
|
16
|
-
from rapidata.api_client.models.workflow_artifact_model import WorkflowArtifactModel
|
|
17
|
-
from rapidata.rapidata_client.order.rapidata_results import RapidataResults
|
|
18
15
|
from rapidata.service.openapi_service import OpenAPIService
|
|
19
|
-
from rapidata.rapidata_client.
|
|
16
|
+
from rapidata.rapidata_client.config import (
|
|
17
|
+
logger,
|
|
18
|
+
managed_print,
|
|
19
|
+
rapidata_config,
|
|
20
|
+
tracer,
|
|
21
|
+
)
|
|
22
|
+
from rapidata.rapidata_client.api.rapidata_api_client import (
|
|
23
|
+
suppress_rapidata_error_logging,
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
if TYPE_CHECKING:
|
|
27
|
+
from rapidata.api_client.models.campaign_artifact_model import CampaignArtifactModel
|
|
28
|
+
from rapidata.api_client.models.file_stream_result import FileStreamResult
|
|
29
|
+
from rapidata.api_client.models.order_state import OrderState
|
|
30
|
+
from rapidata.api_client.models.workflow_artifact_model import WorkflowArtifactModel
|
|
31
|
+
from rapidata.api_client.models.get_workflow_progress_result import (
|
|
32
|
+
GetWorkflowProgressResult,
|
|
33
|
+
)
|
|
34
|
+
from rapidata.rapidata_client.order.rapidata_results import RapidataResults
|
|
35
|
+
|
|
36
|
+
T = TypeVar("T")
|
|
20
37
|
|
|
21
38
|
|
|
22
39
|
class RapidataOrder:
|
|
@@ -41,55 +58,203 @@ class RapidataOrder:
|
|
|
41
58
|
self.id = order_id
|
|
42
59
|
self.name = name
|
|
43
60
|
self.__created_at: datetime | None = None
|
|
44
|
-
self.
|
|
61
|
+
self._openapi_service = openapi_service
|
|
45
62
|
self.__workflow_id: str = ""
|
|
46
63
|
self.__campaign_id: str = ""
|
|
47
64
|
self.__pipeline_id: str = ""
|
|
48
|
-
self.
|
|
49
|
-
|
|
50
|
-
|
|
65
|
+
self.order_details_page = (
|
|
66
|
+
f"https://app.{self._openapi_service.environment}/order/detail/{self.id}"
|
|
67
|
+
)
|
|
51
68
|
logger.debug("RapidataOrder initialized")
|
|
52
69
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
70
|
+
def _get_order_failure_message(self) -> str | None:
|
|
71
|
+
"""Retrieves the failure message from the order if available."""
|
|
72
|
+
try:
|
|
73
|
+
order = self._openapi_service.order_api.order_order_id_get(self.id)
|
|
74
|
+
return order.failure_message
|
|
75
|
+
except Exception:
|
|
76
|
+
logger.debug("Failed to get order failure message", self, exc_info=True)
|
|
77
|
+
return None
|
|
78
|
+
|
|
79
|
+
def _retry_operation(
|
|
80
|
+
self,
|
|
81
|
+
operation: Callable[[], T],
|
|
82
|
+
max_retries: int = 10,
|
|
83
|
+
retry_delay: float = 2,
|
|
84
|
+
) -> T:
|
|
85
|
+
"""
|
|
86
|
+
Unified retry logic for all operations with failure message handling.
|
|
87
|
+
|
|
88
|
+
Args:
|
|
89
|
+
operation: The operation to retry
|
|
90
|
+
max_retries: Maximum number of retry attempts
|
|
91
|
+
retry_delay: Delay between retries in seconds
|
|
92
|
+
|
|
93
|
+
Returns:
|
|
94
|
+
The result of the operation
|
|
95
|
+
|
|
96
|
+
Raises:
|
|
97
|
+
Exception: If the operation fails after all retries, includes order failure message if available
|
|
98
|
+
"""
|
|
99
|
+
last_exception = None
|
|
100
|
+
|
|
101
|
+
for attempt in range(max_retries):
|
|
102
|
+
try:
|
|
103
|
+
return operation()
|
|
104
|
+
except Exception as e:
|
|
105
|
+
last_exception = e
|
|
106
|
+
if attempt < max_retries - 1:
|
|
107
|
+
sleep(retry_delay)
|
|
108
|
+
|
|
109
|
+
failure_message = self._get_order_failure_message()
|
|
110
|
+
if failure_message:
|
|
111
|
+
raise Exception(failure_message) from last_exception
|
|
112
|
+
|
|
113
|
+
raise Exception(
|
|
114
|
+
f"Operation failed after {max_retries} retries: {str(last_exception)}"
|
|
115
|
+
) from last_exception
|
|
116
|
+
|
|
117
|
+
def _wait_for_state(
|
|
118
|
+
self,
|
|
119
|
+
target_states: list[OrderState],
|
|
120
|
+
check_interval: float = 5,
|
|
121
|
+
status_message: str | None = None,
|
|
122
|
+
) -> str:
|
|
123
|
+
"""
|
|
124
|
+
Wait until the order reaches one of the target states.
|
|
125
|
+
|
|
126
|
+
Args:
|
|
127
|
+
target_states: List of states to wait for
|
|
128
|
+
check_interval: How often to check the state in seconds
|
|
129
|
+
status_message: Optional message to display while waiting
|
|
130
|
+
|
|
131
|
+
Returns:
|
|
132
|
+
The final state reached
|
|
133
|
+
"""
|
|
134
|
+
while (current_state := self.get_status()) not in target_states:
|
|
135
|
+
if status_message:
|
|
136
|
+
logger.debug(status_message, self, current_state)
|
|
137
|
+
sleep(check_interval)
|
|
138
|
+
|
|
139
|
+
return current_state
|
|
140
|
+
|
|
58
141
|
@property
|
|
59
142
|
def created_at(self) -> datetime:
|
|
60
143
|
"""Returns the creation date of the order."""
|
|
61
144
|
if not self.__created_at:
|
|
62
|
-
self.__created_at = self.
|
|
145
|
+
self.__created_at = self._openapi_service.order_api.order_order_id_get(
|
|
146
|
+
self.id
|
|
147
|
+
).order_date
|
|
63
148
|
return self.__created_at
|
|
64
|
-
|
|
65
|
-
def
|
|
149
|
+
|
|
150
|
+
def __get_pipeline_id(self) -> str:
|
|
151
|
+
"""Gets the pipeline ID for this order (cached, internal use only)."""
|
|
152
|
+
if not self.__pipeline_id:
|
|
153
|
+
self.__pipeline_id = self._retry_operation(
|
|
154
|
+
lambda: self._openapi_service.order_api.order_order_id_get(
|
|
155
|
+
self.id
|
|
156
|
+
).pipeline_id,
|
|
157
|
+
)
|
|
158
|
+
return self.__pipeline_id
|
|
159
|
+
|
|
160
|
+
def __get_workflow_id(self) -> str:
|
|
161
|
+
"""Gets the workflow ID for this order (cached, internal use only)."""
|
|
162
|
+
if not self.__workflow_id:
|
|
163
|
+
self.__load_workflow_and_campaign_ids()
|
|
164
|
+
return self.__workflow_id
|
|
165
|
+
|
|
166
|
+
def __get_campaign_id(self) -> str:
|
|
167
|
+
"""Gets the campaign ID for this order (cached, internal use only)."""
|
|
168
|
+
if not self.__campaign_id:
|
|
169
|
+
self.__load_workflow_and_campaign_ids()
|
|
170
|
+
return self.__campaign_id
|
|
171
|
+
|
|
172
|
+
def __load_workflow_and_campaign_ids(self) -> None:
|
|
173
|
+
"""Loads workflow and campaign IDs from the pipeline (with retry logic)."""
|
|
174
|
+
if self.__workflow_id and self.__campaign_id:
|
|
175
|
+
return
|
|
176
|
+
|
|
177
|
+
def fetch_ids():
|
|
178
|
+
from rapidata.api_client.models.workflow_artifact_model import (
|
|
179
|
+
WorkflowArtifactModel,
|
|
180
|
+
)
|
|
181
|
+
from rapidata.api_client.models.campaign_artifact_model import (
|
|
182
|
+
CampaignArtifactModel,
|
|
183
|
+
)
|
|
184
|
+
|
|
185
|
+
pipeline_id = self.__get_pipeline_id()
|
|
186
|
+
pipeline = self._openapi_service.pipeline_api.pipeline_pipeline_id_get(
|
|
187
|
+
pipeline_id
|
|
188
|
+
)
|
|
189
|
+
self.__workflow_id = cast(
|
|
190
|
+
WorkflowArtifactModel,
|
|
191
|
+
pipeline.artifacts["workflow-artifact"].actual_instance,
|
|
192
|
+
).workflow_id
|
|
193
|
+
self.__campaign_id = cast(
|
|
194
|
+
CampaignArtifactModel,
|
|
195
|
+
pipeline.artifacts["campaign-artifact"].actual_instance,
|
|
196
|
+
).campaign_id
|
|
197
|
+
|
|
198
|
+
self._retry_operation(fetch_ids)
|
|
199
|
+
|
|
200
|
+
def __get_workflow_progress(self) -> GetWorkflowProgressResult:
|
|
201
|
+
"""Gets the workflow progress (internal use only)."""
|
|
202
|
+
|
|
203
|
+
def get_progress():
|
|
204
|
+
from rapidata.api_client.models.get_workflow_progress_result import (
|
|
205
|
+
GetWorkflowProgressResult,
|
|
206
|
+
)
|
|
207
|
+
|
|
208
|
+
with suppress_rapidata_error_logging():
|
|
209
|
+
workflow_id = self.__get_workflow_id()
|
|
210
|
+
return self._openapi_service.workflow_api.workflow_workflow_id_progress_get(
|
|
211
|
+
workflow_id
|
|
212
|
+
)
|
|
213
|
+
|
|
214
|
+
return self._retry_operation(
|
|
215
|
+
get_progress,
|
|
216
|
+
max_retries=5,
|
|
217
|
+
retry_delay=4,
|
|
218
|
+
)
|
|
219
|
+
|
|
220
|
+
def run(self) -> RapidataOrder:
|
|
66
221
|
"""Runs the order to start collecting responses."""
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
222
|
+
with tracer.start_as_current_span("RapidataOrder.run"):
|
|
223
|
+
from rapidata.api_client.models.submit_order_model import SubmitOrderModel
|
|
224
|
+
|
|
225
|
+
logger.info("Starting order '%s'", self)
|
|
226
|
+
self._openapi_service.order_api.order_order_id_submit_post(
|
|
227
|
+
self.id, SubmitOrderModel(ignoreFailedDatapoints=True)
|
|
228
|
+
)
|
|
229
|
+
logger.debug("Order '%s' has been started.", self)
|
|
230
|
+
managed_print(
|
|
231
|
+
f"Order '{self.name}' is now viewable under: {self.order_details_page}"
|
|
232
|
+
)
|
|
233
|
+
return self
|
|
72
234
|
|
|
73
235
|
def pause(self) -> None:
|
|
74
236
|
"""Pauses the order."""
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
237
|
+
with tracer.start_as_current_span("RapidataOrder.pause"):
|
|
238
|
+
logger.info("Pausing order '%s'", self)
|
|
239
|
+
self._openapi_service.order_api.order_order_id_pause_post(self.id)
|
|
240
|
+
logger.debug("Order '%s' has been paused.", self)
|
|
241
|
+
managed_print(f"Order '{self}' has been paused.")
|
|
79
242
|
|
|
80
243
|
def unpause(self) -> None:
|
|
81
244
|
"""Unpauses/resumes the order."""
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
245
|
+
with tracer.start_as_current_span("RapidataOrder.unpause"):
|
|
246
|
+
logger.info("Unpausing order '%s'", self)
|
|
247
|
+
self._openapi_service.order_api.order_order_id_resume_post(self.id)
|
|
248
|
+
logger.debug("Order '%s' has been unpaused.", self)
|
|
249
|
+
managed_print(f"Order '{self}' has been unpaused.")
|
|
86
250
|
|
|
87
251
|
def delete(self) -> None:
|
|
88
252
|
"""Deletes the order."""
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
253
|
+
with tracer.start_as_current_span("RapidataOrder.delete"):
|
|
254
|
+
logger.info("Deleting order '%s'", self)
|
|
255
|
+
self._openapi_service.order_api.order_order_id_delete(self.id)
|
|
256
|
+
logger.debug("Order '%s' has been deleted.", self)
|
|
257
|
+
managed_print(f"Order '{self}' has been deleted.")
|
|
93
258
|
|
|
94
259
|
def get_status(self) -> str:
|
|
95
260
|
"""
|
|
@@ -105,36 +270,51 @@ class RapidataOrder:
|
|
|
105
270
|
Completed: The order has been completed.\n
|
|
106
271
|
Failed: The order has failed.
|
|
107
272
|
"""
|
|
108
|
-
|
|
273
|
+
with tracer.start_as_current_span("RapidataOrder.get_status"):
|
|
274
|
+
return self._openapi_service.order_api.order_order_id_get(self.id).state
|
|
109
275
|
|
|
110
|
-
def display_progress_bar(self, refresh_rate: int=5) -> None:
|
|
276
|
+
def display_progress_bar(self, refresh_rate: int = 5) -> None:
|
|
111
277
|
"""
|
|
112
278
|
Displays a progress bar for the order processing using tqdm.
|
|
113
|
-
|
|
114
|
-
Args:
|
|
279
|
+
|
|
280
|
+
Args:
|
|
115
281
|
refresh_rate: How often to refresh the progress bar, in seconds.
|
|
116
282
|
"""
|
|
283
|
+
from rapidata.api_client.models.order_state import OrderState
|
|
284
|
+
|
|
117
285
|
if refresh_rate < 1:
|
|
118
286
|
raise ValueError("refresh_rate must be at least 1")
|
|
119
|
-
|
|
287
|
+
|
|
120
288
|
if self.get_status() == OrderState.CREATED:
|
|
121
289
|
raise Exception("Order has not been started yet. Please start it first.")
|
|
122
|
-
|
|
290
|
+
|
|
291
|
+
# Wait for submission review
|
|
123
292
|
while self.get_status() == OrderState.SUBMITTED:
|
|
124
|
-
managed_print(
|
|
293
|
+
managed_print(
|
|
294
|
+
f"Order '{self}' is submitted and being reviewed. Standby...", end="\r"
|
|
295
|
+
)
|
|
125
296
|
sleep(1)
|
|
126
297
|
|
|
127
298
|
if self.get_status() == OrderState.MANUALREVIEW:
|
|
128
299
|
raise Exception(
|
|
129
300
|
f"Order '{self}' is in manual review. It might take some time to start. "
|
|
130
|
-
"To speed up the process, contact support (info@rapidata.ai).\n"
|
|
131
|
-
"Once started, run this method again to display the progress bar."
|
|
301
|
+
f"To speed up the process, contact support (info@rapidata.ai).\n"
|
|
302
|
+
f"Once started, run this method again to display the progress bar."
|
|
132
303
|
)
|
|
133
|
-
|
|
134
|
-
with tqdm(
|
|
304
|
+
|
|
305
|
+
with tqdm(
|
|
306
|
+
total=100,
|
|
307
|
+
desc="Processing order",
|
|
308
|
+
unit="%",
|
|
309
|
+
bar_format="{desc}: {percentage:3.0f}%|{bar}| completed [{elapsed}<{remaining}, {rate_fmt}]",
|
|
310
|
+
disable=rapidata_config.logging.silent_mode,
|
|
311
|
+
) as pbar:
|
|
135
312
|
last_percentage = 0
|
|
136
313
|
while True:
|
|
137
|
-
current_percentage =
|
|
314
|
+
current_percentage = (
|
|
315
|
+
self.__get_workflow_progress().completion_percentage
|
|
316
|
+
)
|
|
317
|
+
|
|
138
318
|
if current_percentage > last_percentage:
|
|
139
319
|
pbar.update(current_percentage - last_percentage)
|
|
140
320
|
last_percentage = current_percentage
|
|
@@ -144,142 +324,115 @@ class RapidataOrder:
|
|
|
144
324
|
|
|
145
325
|
sleep(refresh_rate)
|
|
146
326
|
|
|
147
|
-
@property
|
|
148
|
-
def _workflow_progress(self):
|
|
149
|
-
"""
|
|
150
|
-
Gets the workflow progress.
|
|
151
|
-
"""
|
|
152
|
-
progress = None
|
|
153
|
-
for _ in range(self._max_retries // 2):
|
|
154
|
-
try:
|
|
155
|
-
workflow_id = self.__get_workflow_id()
|
|
156
|
-
progress = self.__openapi_service.workflow_api.workflow_workflow_id_progress_get(workflow_id)
|
|
157
|
-
break
|
|
158
|
-
except Exception:
|
|
159
|
-
sleep(self._retry_delay * 2)
|
|
160
|
-
if not progress:
|
|
161
|
-
raise Exception("Failed to get progress. Please try again later.")
|
|
162
|
-
return progress
|
|
163
|
-
|
|
164
327
|
def get_results(self, preliminary_results: bool = False) -> RapidataResults:
|
|
165
328
|
"""
|
|
166
|
-
Gets the results of the order.
|
|
329
|
+
Gets the results of the order.
|
|
167
330
|
If the order is still processing, this method will block until the order is completed and then return the results.
|
|
168
331
|
|
|
169
332
|
Args:
|
|
170
|
-
preliminary_results: If True, returns the preliminary results of the order. Defaults to False.
|
|
171
|
-
Note that preliminary results are not final and may not contain all the datapoints & responses. Only the
|
|
333
|
+
preliminary_results: If True, returns the preliminary results of the order. Defaults to False.
|
|
334
|
+
Note that preliminary results are not final and may not contain all the datapoints & responses. Only the ones that are already available.
|
|
172
335
|
"""
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
elif preliminary_results and self.get_status() in [OrderState.COMPLETED]:
|
|
178
|
-
managed_print("Order is already completed. Returning final results.")
|
|
336
|
+
with tracer.start_as_current_span("RapidataOrder.get_results"):
|
|
337
|
+
from rapidata.api_client.models.order_state import OrderState
|
|
338
|
+
from rapidata.api_client.exceptions import ApiException
|
|
339
|
+
from rapidata.rapidata_client.order.rapidata_results import RapidataResults
|
|
179
340
|
|
|
180
|
-
|
|
181
|
-
sleep(5)
|
|
341
|
+
logger.info("Getting results for order '%s'...", self)
|
|
182
342
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
except (ApiException, json.JSONDecodeError) as e:
|
|
186
|
-
raise Exception(f"Failed to get order results: {str(e)}") from e
|
|
187
|
-
|
|
188
|
-
def view(self) -> None:
|
|
189
|
-
"""
|
|
190
|
-
Opens the order details page in the browser.
|
|
191
|
-
|
|
192
|
-
Raises:
|
|
193
|
-
Exception: If the order is not in processing state.
|
|
194
|
-
"""
|
|
195
|
-
logger.info("Opening order details page in browser...")
|
|
196
|
-
could_open_browser = webbrowser.open(self.order_details_page)
|
|
197
|
-
if not could_open_browser:
|
|
198
|
-
encoded_url = urllib.parse.quote(self.order_details_page, safe="%/:=&?~#+!$,;'@()*[]")
|
|
199
|
-
managed_print(Fore.RED + f'Please open this URL in your browser: "{encoded_url}"' + Fore.RESET)
|
|
200
|
-
|
|
201
|
-
def preview(self) -> None:
|
|
202
|
-
"""
|
|
203
|
-
Opens a preview of the order in the browser.
|
|
204
|
-
|
|
205
|
-
Raises:
|
|
206
|
-
Exception: If the order is not in processing state.
|
|
207
|
-
"""
|
|
208
|
-
logger.info("Opening order preview in browser...")
|
|
209
|
-
if self.get_status() == OrderState.CREATED:
|
|
210
|
-
logger.info("Order is still in state created. Setting it to preview.")
|
|
211
|
-
self.__openapi_service.order_api.order_order_id_preview_post(self.id)
|
|
212
|
-
logger.info("Order is now in preview state.")
|
|
343
|
+
if preliminary_results and self.get_status() not in [OrderState.COMPLETED]:
|
|
344
|
+
return self._get_preliminary_results()
|
|
213
345
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
could_open_browser = webbrowser.open(auth_url)
|
|
217
|
-
if not could_open_browser:
|
|
218
|
-
encoded_url = urllib.parse.quote(auth_url, safe="%/:=&?~#+!$,;'@()*[]")
|
|
219
|
-
managed_print(Fore.RED + f'Please open this URL in your browser: "{encoded_url}"' + Fore.RESET)
|
|
346
|
+
if preliminary_results and self.get_status() == OrderState.COMPLETED:
|
|
347
|
+
managed_print("Order is already completed. Returning final results.")
|
|
220
348
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
else:
|
|
231
|
-
raise Exception("Failed to fetch pipeline ID after retries.")
|
|
232
|
-
return self.__pipeline_id
|
|
349
|
+
self._wait_for_state(
|
|
350
|
+
target_states=[
|
|
351
|
+
OrderState.COMPLETED,
|
|
352
|
+
OrderState.PAUSED,
|
|
353
|
+
OrderState.MANUALREVIEW,
|
|
354
|
+
OrderState.FAILED,
|
|
355
|
+
],
|
|
356
|
+
status_message="Order '%s' is in state %s, waiting for completion...",
|
|
357
|
+
)
|
|
233
358
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
359
|
+
try:
|
|
360
|
+
results = (
|
|
361
|
+
self._openapi_service.order_api.order_order_id_download_results_get(
|
|
362
|
+
order_id=self.id
|
|
363
|
+
)
|
|
364
|
+
)
|
|
365
|
+
return RapidataResults(json.loads(results))
|
|
366
|
+
except (ApiException, json.JSONDecodeError) as e:
|
|
367
|
+
raise Exception(f"Failed to get order results: {str(e)}") from e
|
|
239
368
|
|
|
240
|
-
def
|
|
241
|
-
"""
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
369
|
+
def _get_preliminary_results(self) -> RapidataResults:
|
|
370
|
+
"""Fetches preliminary results for an in-progress order."""
|
|
371
|
+
from rapidata.api_client.models.preliminary_download_model import (
|
|
372
|
+
PreliminaryDownloadModel,
|
|
373
|
+
)
|
|
374
|
+
from rapidata.api_client.exceptions import ApiException
|
|
375
|
+
from rapidata.rapidata_client.order.rapidata_results import RapidataResults
|
|
245
376
|
|
|
246
|
-
def __fetch_workflow_and_campaign_ids(self) -> None:
|
|
247
|
-
"""Fetches workflow and campaign IDs from the pipeline."""
|
|
248
|
-
if self.__workflow_id and self.__campaign_id:
|
|
249
|
-
return
|
|
250
|
-
pipeline_id = self.__get_pipeline_id()
|
|
251
|
-
for _ in range(self._max_retries):
|
|
252
|
-
try:
|
|
253
|
-
pipeline = self.__openapi_service.pipeline_api.pipeline_pipeline_id_get(pipeline_id)
|
|
254
|
-
self.__workflow_id = cast(WorkflowArtifactModel, pipeline.artifacts["workflow-artifact"].actual_instance).workflow_id
|
|
255
|
-
self.__campaign_id = cast(CampaignArtifactModel, pipeline.artifacts["campaign-artifact"].actual_instance).campaign_id
|
|
256
|
-
return
|
|
257
|
-
except Exception:
|
|
258
|
-
sleep(self._retry_delay)
|
|
259
|
-
raise Exception("Failed to fetch workflow and campaign IDs after retries.")
|
|
260
|
-
|
|
261
|
-
def __get_preliminary_results(self) -> RapidataResults:
|
|
262
|
-
"""Internal method to fetch preliminary results."""
|
|
263
377
|
try:
|
|
264
378
|
pipeline_id = self.__get_pipeline_id()
|
|
265
|
-
download_id = self.
|
|
379
|
+
download_id = self._openapi_service.pipeline_api.pipeline_pipeline_id_preliminary_download_post(
|
|
266
380
|
pipeline_id, PreliminaryDownloadModel(sendEmail=False)
|
|
267
381
|
).download_id
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
while elapsed < timeout:
|
|
272
|
-
preliminary_results = self.__openapi_service.pipeline_api.pipeline_preliminary_download_preliminary_download_id_get(
|
|
382
|
+
|
|
383
|
+
def check_results():
|
|
384
|
+
results = self._openapi_service.pipeline_api.pipeline_preliminary_download_preliminary_download_id_get(
|
|
273
385
|
preliminary_download_id=download_id
|
|
274
386
|
)
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
387
|
+
return RapidataResults(json.loads(results))
|
|
388
|
+
|
|
389
|
+
return self._retry_operation(
|
|
390
|
+
check_results,
|
|
391
|
+
max_retries=60,
|
|
392
|
+
retry_delay=1,
|
|
393
|
+
)
|
|
394
|
+
|
|
280
395
|
except (ApiException, json.JSONDecodeError) as e:
|
|
281
396
|
raise Exception(f"Failed to get preliminary results: {str(e)}") from e
|
|
282
397
|
|
|
398
|
+
def view(self) -> None:
|
|
399
|
+
"""Opens the order details page in the browser."""
|
|
400
|
+
logger.info("Opening order details page in browser...")
|
|
401
|
+
if not webbrowser.open(self.order_details_page):
|
|
402
|
+
encoded_url = urllib.parse.quote(
|
|
403
|
+
self.order_details_page, safe="%/:=&?~#+!$,;'@()*[]"
|
|
404
|
+
)
|
|
405
|
+
managed_print(
|
|
406
|
+
Fore.RED
|
|
407
|
+
+ f"Please open this URL in your browser: '{encoded_url}'"
|
|
408
|
+
+ Fore.RESET
|
|
409
|
+
)
|
|
410
|
+
|
|
411
|
+
def preview(self) -> None:
|
|
412
|
+
"""Opens a preview of the order in the browser."""
|
|
413
|
+
from rapidata.api_client.models.order_state import OrderState
|
|
414
|
+
from rapidata.api_client.models.preview_order_model import PreviewOrderModel
|
|
415
|
+
|
|
416
|
+
logger.info("Opening order preview in browser...")
|
|
417
|
+
|
|
418
|
+
if self.get_status() == OrderState.CREATED:
|
|
419
|
+
logger.info("Order is still in state created. Setting it to preview.")
|
|
420
|
+
self._openapi_service.order_api.order_order_id_preview_post(
|
|
421
|
+
self.id, PreviewOrderModel(ignoreFailedDatapoints=True)
|
|
422
|
+
)
|
|
423
|
+
logger.info("Order is now in preview state.")
|
|
424
|
+
|
|
425
|
+
campaign_id = self.__get_campaign_id()
|
|
426
|
+
auth_url = f"https://app.{self._openapi_service.environment}/order/detail/{self.id}/preview?campaignId={campaign_id}"
|
|
427
|
+
|
|
428
|
+
if not webbrowser.open(auth_url):
|
|
429
|
+
encoded_url = urllib.parse.quote(auth_url, safe="%/:=&?~#+!$,;'@()*[]")
|
|
430
|
+
managed_print(
|
|
431
|
+
Fore.RED
|
|
432
|
+
+ f"Please open this URL in your browser: '{encoded_url}'"
|
|
433
|
+
+ Fore.RESET
|
|
434
|
+
)
|
|
435
|
+
|
|
283
436
|
def __str__(self) -> str:
|
|
284
437
|
return f"RapidataOrder(name='{self.name}', order_id='{self.id}')"
|
|
285
438
|
|