rapidata 2.27.0__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 +12 -9
- rapidata/api_client/__init__.py +83 -329
- rapidata/api_client/api/__init__.py +9 -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 +232 -207
- rapidata/api_client/api/client_api.py +349 -71
- 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 -797
- rapidata/api_client/api/dataset_api.py +229 -3452
- 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 +2550 -0
- 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 +513 -3233
- 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 -307
- rapidata/api_client/models/ab_test_selection_a_inner.py +27 -13
- 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 +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 +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 +181 -0
- 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 +57 -15
- 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 +89 -0
- 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 +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 +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_model_paged_result.py +105 -0
- 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 +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 +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 +43 -71
- 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 +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 +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 +224 -0
- rapidata/api_client/models/json_web_key_set.py +95 -0
- 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 +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 +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 +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_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_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 +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 +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 +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_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 +16 -9
- rapidata/api_client_README.md +389 -315
- rapidata/rapidata_client/__init__.py +10 -17
- rapidata/rapidata_client/api/rapidata_api_client.py +253 -0
- rapidata/rapidata_client/benchmark/__init__.py +0 -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/{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 +26 -20
- 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 +286 -193
- rapidata/rapidata_client/order/dataset/_rapidata_dataset.py +153 -0
- rapidata/rapidata_client/order/rapidata_order.py +317 -160
- rapidata/rapidata_client/order/rapidata_order_manager.py +689 -428
- rapidata/rapidata_client/order/rapidata_results.py +98 -67
- rapidata/rapidata_client/rapidata_client.py +99 -33
- 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 -1
- 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 +49 -0
- 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 +25 -15
- 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 +4 -1
- 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 +17 -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 +23 -11
- 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 +531 -219
- 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 +18 -18
- rapidata/service/openapi_service.py +82 -22
- 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-2.27.0.dist-info → rapidata-2.44.4.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/logging/__init__.py +0 -2
- rapidata/rapidata_client/logging/logger.py +0 -47
- rapidata/rapidata_client/logging/output_manager.py +0 -16
- 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 -411
- rapidata/service/local_file_service.py +0 -25
- rapidata-2.27.0.dist-info/METADATA +0 -35
- rapidata-2.27.0.dist-info/RECORD +0 -540
- /rapidata/rapidata_client/{metadata → datapoints/metadata}/_base_metadata.py +0 -0
- {rapidata-2.27.0.dist-info → rapidata-2.44.4.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,138 +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
|
|
172
|
-
This will throw an exception if there are no responses available yet.
|
|
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.
|
|
173
335
|
"""
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
elif preliminary_results and self.get_status() in [OrderState.COMPLETED]:
|
|
179
|
-
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
|
|
180
340
|
|
|
181
|
-
|
|
182
|
-
sleep(5)
|
|
183
|
-
|
|
184
|
-
try:
|
|
185
|
-
return RapidataResults(json.loads(self.__openapi_service.order_api.order_order_id_download_results_get(order_id=self.id)))
|
|
186
|
-
except (ApiException, json.JSONDecodeError) as e:
|
|
187
|
-
raise Exception(f"Failed to get order results: {str(e)}") from e
|
|
188
|
-
|
|
189
|
-
def view(self) -> None:
|
|
190
|
-
"""
|
|
191
|
-
Opens the order details page in the browser.
|
|
192
|
-
|
|
193
|
-
Raises:
|
|
194
|
-
Exception: If the order is not in processing state.
|
|
195
|
-
"""
|
|
196
|
-
logger.info("Opening order details page in browser...")
|
|
197
|
-
could_open_browser = webbrowser.open(self.order_details_page)
|
|
198
|
-
if not could_open_browser:
|
|
199
|
-
encoded_url = urllib.parse.quote(self.order_details_page, safe="%/:=&?~#+!$,;'@()*[]")
|
|
200
|
-
managed_print(Fore.RED + f'Please open this URL in your browser: "{encoded_url}"' + Fore.RESET)
|
|
201
|
-
|
|
202
|
-
def preview(self) -> None:
|
|
203
|
-
"""
|
|
204
|
-
Opens a preview of the order in the browser.
|
|
205
|
-
|
|
206
|
-
Raises:
|
|
207
|
-
Exception: If the order is not in processing state.
|
|
208
|
-
"""
|
|
209
|
-
logger.info("Opening order preview in browser...")
|
|
210
|
-
campaign_id = self.__get_campaign_id()
|
|
211
|
-
auth_url = f"https://app.{self.__openapi_service.environment}/order/detail/{self.id}/preview?campaignId={campaign_id}"
|
|
212
|
-
could_open_browser = webbrowser.open(auth_url)
|
|
213
|
-
if not could_open_browser:
|
|
214
|
-
encoded_url = urllib.parse.quote(auth_url, safe="%/:=&?~#+!$,;'@()*[]")
|
|
215
|
-
managed_print(Fore.RED + f'Please open this URL in your browser: "{encoded_url}"' + Fore.RESET)
|
|
341
|
+
logger.info("Getting results for order '%s'...", self)
|
|
216
342
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
if not self.__pipeline_id:
|
|
220
|
-
for _ in range(self._max_retries):
|
|
221
|
-
try:
|
|
222
|
-
self.__pipeline_id = self.__openapi_service.order_api.order_order_id_get(self.id).pipeline_id
|
|
223
|
-
break
|
|
224
|
-
except Exception:
|
|
225
|
-
sleep(self._retry_delay)
|
|
226
|
-
else:
|
|
227
|
-
raise Exception("Failed to fetch pipeline ID after retries.")
|
|
228
|
-
return self.__pipeline_id
|
|
343
|
+
if preliminary_results and self.get_status() not in [OrderState.COMPLETED]:
|
|
344
|
+
return self._get_preliminary_results()
|
|
229
345
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
if not self.__workflow_id:
|
|
233
|
-
self.__fetch_workflow_and_campaign_ids()
|
|
234
|
-
return self.__workflow_id
|
|
346
|
+
if preliminary_results and self.get_status() == OrderState.COMPLETED:
|
|
347
|
+
managed_print("Order is already completed. Returning final results.")
|
|
235
348
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
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
|
+
)
|
|
241
358
|
|
|
242
|
-
def __fetch_workflow_and_campaign_ids(self) -> None:
|
|
243
|
-
"""Fetches workflow and campaign IDs from the pipeline."""
|
|
244
|
-
if self.__workflow_id and self.__campaign_id:
|
|
245
|
-
return
|
|
246
|
-
pipeline_id = self.__get_pipeline_id()
|
|
247
|
-
for _ in range(self._max_retries):
|
|
248
359
|
try:
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
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
|
|
376
|
+
|
|
259
377
|
try:
|
|
260
378
|
pipeline_id = self.__get_pipeline_id()
|
|
261
|
-
download_id = self.
|
|
379
|
+
download_id = self._openapi_service.pipeline_api.pipeline_pipeline_id_preliminary_download_post(
|
|
262
380
|
pipeline_id, PreliminaryDownloadModel(sendEmail=False)
|
|
263
381
|
).download_id
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
while elapsed < timeout:
|
|
268
|
-
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(
|
|
269
385
|
preliminary_download_id=download_id
|
|
270
386
|
)
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
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
|
+
|
|
276
395
|
except (ApiException, json.JSONDecodeError) as e:
|
|
277
396
|
raise Exception(f"Failed to get preliminary results: {str(e)}") from e
|
|
278
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
|
+
|
|
279
436
|
def __str__(self) -> str:
|
|
280
437
|
return f"RapidataOrder(name='{self.name}', order_id='{self.id}')"
|
|
281
438
|
|