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,153 @@
|
|
|
1
|
+
from rapidata.rapidata_client.datapoints._datapoint import Datapoint
|
|
2
|
+
from rapidata.service.openapi_service import OpenAPIService
|
|
3
|
+
from concurrent.futures import ThreadPoolExecutor, as_completed
|
|
4
|
+
from tqdm import tqdm
|
|
5
|
+
|
|
6
|
+
from rapidata.rapidata_client.config import logger
|
|
7
|
+
import time
|
|
8
|
+
from rapidata.rapidata_client.api.rapidata_api_client import (
|
|
9
|
+
suppress_rapidata_error_logging,
|
|
10
|
+
)
|
|
11
|
+
from rapidata.rapidata_client.config.rapidata_config import rapidata_config
|
|
12
|
+
from rapidata.rapidata_client.datapoints._datapoint_uploader import DatapointUploader
|
|
13
|
+
|
|
14
|
+
# Add OpenTelemetry context imports for thread propagation
|
|
15
|
+
from opentelemetry import context as otel_context
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class RapidataDataset:
|
|
19
|
+
def __init__(self, dataset_id: str, openapi_service: OpenAPIService):
|
|
20
|
+
self.id = dataset_id
|
|
21
|
+
self.openapi_service = openapi_service
|
|
22
|
+
self.datapoint_uploader = DatapointUploader(openapi_service)
|
|
23
|
+
|
|
24
|
+
def add_datapoints(
|
|
25
|
+
self,
|
|
26
|
+
datapoints: list[Datapoint],
|
|
27
|
+
) -> tuple[list[Datapoint], list[Datapoint]]:
|
|
28
|
+
"""
|
|
29
|
+
Process uploads concurrently with a ThreadPoolExecutor.
|
|
30
|
+
|
|
31
|
+
Args:
|
|
32
|
+
datapoints: List of datapoints to upload
|
|
33
|
+
|
|
34
|
+
Returns:
|
|
35
|
+
tuple[list[Datapoint], list[Datapoint]]: Lists of successful and failed uploads
|
|
36
|
+
"""
|
|
37
|
+
successful_uploads: list[Datapoint] = []
|
|
38
|
+
failed_uploads: list[Datapoint] = []
|
|
39
|
+
|
|
40
|
+
with tqdm(
|
|
41
|
+
total=len(datapoints),
|
|
42
|
+
desc="Uploading datapoints",
|
|
43
|
+
disable=rapidata_config.logging.silent_mode,
|
|
44
|
+
) as progress_bar:
|
|
45
|
+
|
|
46
|
+
def process_upload_with_context(
|
|
47
|
+
context: otel_context.Context, datapoint: Datapoint, index: int
|
|
48
|
+
) -> tuple[list[Datapoint], list[Datapoint]]:
|
|
49
|
+
"""Wrapper function that runs _process_single_upload with the provided context."""
|
|
50
|
+
token = otel_context.attach(context)
|
|
51
|
+
try:
|
|
52
|
+
return self._process_single_upload(datapoint, index)
|
|
53
|
+
finally:
|
|
54
|
+
otel_context.detach(token)
|
|
55
|
+
|
|
56
|
+
# Capture the current OpenTelemetry context before creating threads
|
|
57
|
+
current_context = otel_context.get_current()
|
|
58
|
+
|
|
59
|
+
with ThreadPoolExecutor(
|
|
60
|
+
max_workers=rapidata_config.upload.maxWorkers
|
|
61
|
+
) as executor:
|
|
62
|
+
# Submit all uploads at once - executor manages concurrency via max_workers
|
|
63
|
+
futures = [
|
|
64
|
+
executor.submit(
|
|
65
|
+
process_upload_with_context,
|
|
66
|
+
current_context,
|
|
67
|
+
datapoint,
|
|
68
|
+
i,
|
|
69
|
+
)
|
|
70
|
+
for i, datapoint in enumerate(datapoints)
|
|
71
|
+
]
|
|
72
|
+
|
|
73
|
+
# Process results as they complete (no blocking on chunks)
|
|
74
|
+
for future in as_completed(futures):
|
|
75
|
+
try:
|
|
76
|
+
upload_successful, upload_failed = future.result()
|
|
77
|
+
successful_uploads.extend(upload_successful)
|
|
78
|
+
failed_uploads.extend(upload_failed)
|
|
79
|
+
progress_bar.update(len(upload_successful))
|
|
80
|
+
except Exception as e:
|
|
81
|
+
logger.error("Future execution failed: %s", str(e))
|
|
82
|
+
|
|
83
|
+
if failed_uploads:
|
|
84
|
+
logger.error(
|
|
85
|
+
"Upload failed for %s datapoints: %s",
|
|
86
|
+
len(failed_uploads),
|
|
87
|
+
failed_uploads,
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
return successful_uploads, failed_uploads
|
|
91
|
+
|
|
92
|
+
def _process_single_upload(
|
|
93
|
+
self,
|
|
94
|
+
datapoint: Datapoint,
|
|
95
|
+
index: int,
|
|
96
|
+
) -> tuple[list[Datapoint], list[Datapoint]]:
|
|
97
|
+
"""
|
|
98
|
+
Process single upload with retry logic and error tracking.
|
|
99
|
+
|
|
100
|
+
Args:
|
|
101
|
+
media_asset: MediaAsset or MultiAsset to upload
|
|
102
|
+
meta_list: Optional sequence of metadata for the asset
|
|
103
|
+
index: Sort index for the upload
|
|
104
|
+
max_retries: Maximum number of retry attempts (default: 3)
|
|
105
|
+
|
|
106
|
+
Returns:
|
|
107
|
+
tuple[list[Datapoint], list[Datapoint]]: Lists of successful and failed datapoints
|
|
108
|
+
"""
|
|
109
|
+
logger.debug("Processing single upload for %s with index %s", datapoint, index)
|
|
110
|
+
|
|
111
|
+
local_successful: list[Datapoint] = []
|
|
112
|
+
local_failed: list[Datapoint] = []
|
|
113
|
+
|
|
114
|
+
last_exception = None
|
|
115
|
+
for attempt in range(rapidata_config.upload.maxRetries):
|
|
116
|
+
try:
|
|
117
|
+
with suppress_rapidata_error_logging():
|
|
118
|
+
self.datapoint_uploader.upload_datapoint(
|
|
119
|
+
dataset_id=self.id,
|
|
120
|
+
datapoint=datapoint,
|
|
121
|
+
index=index,
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
local_successful.append(datapoint)
|
|
125
|
+
|
|
126
|
+
return local_successful, local_failed
|
|
127
|
+
|
|
128
|
+
except Exception as e:
|
|
129
|
+
last_exception = e
|
|
130
|
+
if attempt < rapidata_config.upload.maxRetries - 1:
|
|
131
|
+
# Exponential backoff: wait 1s, then 2s, then 4s
|
|
132
|
+
retry_delay = 2**attempt
|
|
133
|
+
time.sleep(retry_delay)
|
|
134
|
+
logger.debug("Error: %s", str(last_exception))
|
|
135
|
+
logger.debug(
|
|
136
|
+
"Retrying %s of %s...",
|
|
137
|
+
attempt + 1,
|
|
138
|
+
rapidata_config.upload.maxRetries,
|
|
139
|
+
)
|
|
140
|
+
|
|
141
|
+
# If we get here, all retries failed
|
|
142
|
+
local_failed.append(datapoint)
|
|
143
|
+
tqdm.write(
|
|
144
|
+
f"Upload failed for {datapoint} after {rapidata_config.upload.maxRetries} attempts. \nFinal error: \n{str(last_exception)}"
|
|
145
|
+
)
|
|
146
|
+
|
|
147
|
+
return local_successful, local_failed
|
|
148
|
+
|
|
149
|
+
def __str__(self) -> str:
|
|
150
|
+
return f"RapidataDataset(id={self.id})"
|
|
151
|
+
|
|
152
|
+
def __repr__(self) -> str:
|
|
153
|
+
return self.__str__()
|
|
@@ -1,62 +1,320 @@
|
|
|
1
|
-
from
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
# Standard library imports
|
|
4
5
|
import json
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
from
|
|
6
|
+
import urllib.parse
|
|
7
|
+
import webbrowser
|
|
8
|
+
from time import sleep
|
|
9
|
+
from typing import cast, Callable, TypeVar, TYPE_CHECKING
|
|
10
|
+
from colorama import Fore
|
|
11
|
+
from datetime import datetime
|
|
8
12
|
from tqdm import tqdm
|
|
9
13
|
|
|
14
|
+
# Local/application imports
|
|
15
|
+
from rapidata.service.openapi_service import OpenAPIService
|
|
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")
|
|
37
|
+
|
|
38
|
+
|
|
10
39
|
class RapidataOrder:
|
|
11
40
|
"""
|
|
12
|
-
|
|
41
|
+
An instance of a Rapidata order.
|
|
42
|
+
|
|
43
|
+
Used to interact with a specific order in the Rapidata system, such as starting,
|
|
44
|
+
pausing, and retrieving results.
|
|
13
45
|
|
|
14
46
|
Args:
|
|
15
|
-
The
|
|
16
|
-
The
|
|
17
|
-
The OpenAPIService instance
|
|
18
|
-
The name of the order.
|
|
47
|
+
name: The name of the order.
|
|
48
|
+
order_id: The ID of the order.
|
|
49
|
+
openapi_service: The OpenAPIService instance for API interaction.
|
|
19
50
|
"""
|
|
20
51
|
|
|
21
52
|
def __init__(
|
|
22
53
|
self,
|
|
54
|
+
name: str,
|
|
23
55
|
order_id: str,
|
|
24
|
-
dataset: Optional[RapidataDataset],
|
|
25
56
|
openapi_service: OpenAPIService,
|
|
26
|
-
name: str,
|
|
27
57
|
):
|
|
28
|
-
self.
|
|
29
|
-
self.order_id = order_id
|
|
30
|
-
self._dataset = dataset
|
|
58
|
+
self.id = order_id
|
|
31
59
|
self.name = name
|
|
32
|
-
self.
|
|
60
|
+
self.__created_at: datetime | None = None
|
|
61
|
+
self._openapi_service = openapi_service
|
|
62
|
+
self.__workflow_id: str = ""
|
|
63
|
+
self.__campaign_id: str = ""
|
|
64
|
+
self.__pipeline_id: str = ""
|
|
65
|
+
self.order_details_page = (
|
|
66
|
+
f"https://app.{self._openapi_service.environment}/order/detail/{self.id}"
|
|
67
|
+
)
|
|
68
|
+
logger.debug("RapidataOrder initialized")
|
|
69
|
+
|
|
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
|
|
33
95
|
|
|
34
|
-
|
|
96
|
+
Raises:
|
|
97
|
+
Exception: If the operation fails after all retries, includes order failure message if available
|
|
35
98
|
"""
|
|
36
|
-
|
|
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:
|
|
37
123
|
"""
|
|
38
|
-
|
|
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
|
+
|
|
141
|
+
@property
|
|
142
|
+
def created_at(self) -> datetime:
|
|
143
|
+
"""Returns the creation date of the order."""
|
|
144
|
+
if not self.__created_at:
|
|
145
|
+
self.__created_at = self._openapi_service.order_api.order_order_id_get(
|
|
146
|
+
self.id
|
|
147
|
+
).order_date
|
|
148
|
+
return self.__created_at
|
|
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:
|
|
221
|
+
"""Runs the order to start collecting responses."""
|
|
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
|
|
234
|
+
|
|
235
|
+
def pause(self) -> None:
|
|
236
|
+
"""Pauses the order."""
|
|
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.")
|
|
242
|
+
|
|
243
|
+
def unpause(self) -> None:
|
|
244
|
+
"""Unpauses/resumes the order."""
|
|
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.")
|
|
250
|
+
|
|
251
|
+
def delete(self) -> None:
|
|
252
|
+
"""Deletes the order."""
|
|
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.")
|
|
39
258
|
|
|
40
259
|
def get_status(self) -> str:
|
|
41
260
|
"""
|
|
42
261
|
Gets the status of the order.
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
The
|
|
262
|
+
|
|
263
|
+
States:
|
|
264
|
+
Created: The order has been created but not started yet.\n
|
|
265
|
+
Preview: The order has been set up and ready but not collecting responses yet.\n
|
|
266
|
+
Submitted: The order has been submitted and is being reviewed.\n
|
|
267
|
+
ManualReview: The order is in manual review - something went wrong with the automatic approval.\n
|
|
268
|
+
Processing: The order is actively being processed.\n
|
|
269
|
+
Paused: The order has been paused.\n
|
|
270
|
+
Completed: The order has been completed.\n
|
|
271
|
+
Failed: The order has failed.
|
|
46
272
|
"""
|
|
47
|
-
|
|
273
|
+
with tracer.start_as_current_span("RapidataOrder.get_status"):
|
|
274
|
+
return self._openapi_service.order_api.order_order_id_get(self.id).state
|
|
48
275
|
|
|
49
|
-
def display_progress_bar(self, refresh_rate=5):
|
|
276
|
+
def display_progress_bar(self, refresh_rate: int = 5) -> None:
|
|
50
277
|
"""
|
|
51
278
|
Displays a progress bar for the order processing using tqdm.
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
How often to refresh the progress bar, in seconds.
|
|
279
|
+
|
|
280
|
+
Args:
|
|
281
|
+
refresh_rate: How often to refresh the progress bar, in seconds.
|
|
55
282
|
"""
|
|
56
|
-
|
|
283
|
+
from rapidata.api_client.models.order_state import OrderState
|
|
284
|
+
|
|
285
|
+
if refresh_rate < 1:
|
|
286
|
+
raise ValueError("refresh_rate must be at least 1")
|
|
287
|
+
|
|
288
|
+
if self.get_status() == OrderState.CREATED:
|
|
289
|
+
raise Exception("Order has not been started yet. Please start it first.")
|
|
290
|
+
|
|
291
|
+
# Wait for submission review
|
|
292
|
+
while self.get_status() == OrderState.SUBMITTED:
|
|
293
|
+
managed_print(
|
|
294
|
+
f"Order '{self}' is submitted and being reviewed. Standby...", end="\r"
|
|
295
|
+
)
|
|
296
|
+
sleep(1)
|
|
297
|
+
|
|
298
|
+
if self.get_status() == OrderState.MANUALREVIEW:
|
|
299
|
+
raise Exception(
|
|
300
|
+
f"Order '{self}' is in manual review. It might take some time to start. "
|
|
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."
|
|
303
|
+
)
|
|
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:
|
|
57
312
|
last_percentage = 0
|
|
58
313
|
while True:
|
|
59
|
-
current_percentage =
|
|
314
|
+
current_percentage = (
|
|
315
|
+
self.__get_workflow_progress().completion_percentage
|
|
316
|
+
)
|
|
317
|
+
|
|
60
318
|
if current_percentage > last_percentage:
|
|
61
319
|
pbar.update(current_percentage - last_percentage)
|
|
62
320
|
last_percentage = current_percentage
|
|
@@ -66,72 +324,117 @@ class RapidataOrder:
|
|
|
66
324
|
|
|
67
325
|
sleep(refresh_rate)
|
|
68
326
|
|
|
69
|
-
def
|
|
70
|
-
if self._workflow_id:
|
|
71
|
-
return self._workflow_id
|
|
72
|
-
|
|
73
|
-
for _ in range(10):
|
|
74
|
-
try:
|
|
75
|
-
order_result = self.openapi_service.order_api.order_get_by_id_get(self.order_id)
|
|
76
|
-
pipeline = self.openapi_service.pipeline_api.pipeline_id_get(order_result.pipeline_id)
|
|
77
|
-
self._workflow_id = cast(WorkflowArtifactModel, pipeline.artifacts["workflow-artifact"].actual_instance).workflow_id
|
|
78
|
-
break
|
|
79
|
-
except Exception:
|
|
80
|
-
sleep(2)
|
|
81
|
-
if not self._workflow_id:
|
|
82
|
-
raise Exception("Order has not started yet. Please start it or wait for a few seconds and try again.")
|
|
83
|
-
return self._workflow_id
|
|
84
|
-
|
|
85
|
-
def _get_workflow_progress(self):
|
|
86
|
-
workflow_id = self._get_workflow_id()
|
|
87
|
-
progress = None
|
|
88
|
-
for _ in range(2):
|
|
89
|
-
try:
|
|
90
|
-
progress = self.openapi_service.workflow_api.workflow_get_progress_get(workflow_id)
|
|
91
|
-
break
|
|
92
|
-
except Exception:
|
|
93
|
-
sleep(5)
|
|
94
|
-
|
|
95
|
-
if not progress:
|
|
96
|
-
raise Exception(f"Failed to get progress. Please try again in a few seconds.")
|
|
97
|
-
|
|
98
|
-
return progress
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
def get_results(self) -> dict[str, Any]:
|
|
327
|
+
def get_results(self, preliminary_results: bool = False) -> RapidataResults:
|
|
102
328
|
"""
|
|
103
|
-
Gets the results of the order.
|
|
329
|
+
Gets the results of the order.
|
|
104
330
|
If the order is still processing, this method will block until the order is completed and then return the results.
|
|
105
331
|
|
|
106
|
-
|
|
107
|
-
|
|
332
|
+
Args:
|
|
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.
|
|
108
335
|
"""
|
|
109
|
-
|
|
110
|
-
|
|
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
|
|
340
|
+
|
|
341
|
+
logger.info("Getting results for order '%s'...", self)
|
|
342
|
+
|
|
343
|
+
if preliminary_results and self.get_status() not in [OrderState.COMPLETED]:
|
|
344
|
+
return self._get_preliminary_results()
|
|
345
|
+
|
|
346
|
+
if preliminary_results and self.get_status() == OrderState.COMPLETED:
|
|
347
|
+
managed_print("Order is already completed. Returning final results.")
|
|
348
|
+
|
|
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
|
+
)
|
|
358
|
+
|
|
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
|
|
368
|
+
|
|
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
|
|
111
376
|
|
|
112
377
|
try:
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
378
|
+
pipeline_id = self.__get_pipeline_id()
|
|
379
|
+
download_id = self._openapi_service.pipeline_api.pipeline_pipeline_id_preliminary_download_post(
|
|
380
|
+
pipeline_id, PreliminaryDownloadModel(sendEmail=False)
|
|
381
|
+
).download_id
|
|
382
|
+
|
|
383
|
+
def check_results():
|
|
384
|
+
results = self._openapi_service.pipeline_api.pipeline_preliminary_download_preliminary_download_id_get(
|
|
385
|
+
preliminary_download_id=download_id
|
|
386
|
+
)
|
|
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
|
+
|
|
395
|
+
except (ApiException, json.JSONDecodeError) as e:
|
|
396
|
+
raise Exception(f"Failed to get preliminary results: {str(e)}") from e
|
|
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
|
+
)
|
|
123
435
|
|
|
124
|
-
@property
|
|
125
|
-
def dataset(self) -> RapidataDataset | None:
|
|
126
|
-
"""
|
|
127
|
-
The dataset associated with the order.
|
|
128
|
-
Returns:
|
|
129
|
-
The RapidataDataset instance.
|
|
130
|
-
"""
|
|
131
|
-
return self._dataset
|
|
132
|
-
|
|
133
436
|
def __str__(self) -> str:
|
|
134
|
-
return f"name
|
|
135
|
-
|
|
437
|
+
return f"RapidataOrder(name='{self.name}', order_id='{self.id}')"
|
|
438
|
+
|
|
136
439
|
def __repr__(self) -> str:
|
|
137
|
-
return f"name
|
|
440
|
+
return f"RapidataOrder(name='{self.name}', order_id='{self.id}')"
|