rapidata 2.28.2__py3-none-any.whl → 2.44.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- rapidata/__init__.py +11 -10
- rapidata/api_client/__init__.py +83 -355
- rapidata/api_client/api/__init__.py +8 -2
- rapidata/api_client/api/asset_api.py +853 -0
- rapidata/api_client/api/audience_api.py +1133 -0
- rapidata/api_client/api/benchmark_api.py +3966 -0
- rapidata/api_client/api/campaign_api.py +222 -444
- rapidata/api_client/api/client_api.py +38 -33
- rapidata/api_client/api/coco_api.py +0 -571
- rapidata/api_client/api/compare_workflow_api.py +11 -10
- rapidata/api_client/api/customer_rapid_api.py +644 -72
- rapidata/api_client/api/datapoint_api.py +8 -530
- rapidata/api_client/api/dataset_api.py +228 -3469
- rapidata/api_client/api/evaluation_workflow_api.py +29 -82
- rapidata/api_client/api/feedback_api.py +11 -281
- rapidata/api_client/api/grouped_ranking_workflow_api.py +319 -0
- rapidata/api_client/api/identity_api.py +83 -1171
- rapidata/api_client/api/leaderboard_api.py +356 -312
- rapidata/api_client/api/newsletter_api.py +20 -19
- rapidata/api_client/api/order_api.py +758 -5487
- rapidata/api_client/api/participant_api.py +2181 -0
- rapidata/api_client/api/pipeline_api.py +24 -1783
- rapidata/api_client/api/prompt_api.py +320 -0
- rapidata/api_client/api/rapidata_identity_api_api.py +5 -4
- rapidata/api_client/api/sample_api.py +300 -0
- rapidata/api_client/api/simple_workflow_api.py +11 -10
- rapidata/api_client/api/survey_api.py +304 -0
- rapidata/api_client/api/user_rapid_api.py +35 -31
- rapidata/api_client/api/validation_set_api.py +510 -3659
- rapidata/api_client/api/workflow_api.py +32 -825
- rapidata/api_client/api_client.py +2 -2
- rapidata/api_client/configuration.py +16 -29
- rapidata/api_client/exceptions.py +2 -2
- rapidata/api_client/models/__init__.py +65 -332
- rapidata/api_client/models/ab_test_selection_a_inner.py +1 -1
- rapidata/api_client/models/add_campaign_model.py +3 -3
- rapidata/api_client/models/add_user_response_result.py +10 -5
- rapidata/api_client/models/add_validation_rapid_model.py +55 -24
- rapidata/api_client/models/add_validation_rapid_model_asset.py +154 -0
- rapidata/api_client/models/add_validation_rapid_model_context_asset.py +160 -0
- rapidata/api_client/models/add_validation_rapid_model_metadata_inner.py +140 -0
- rapidata/api_client/models/add_validation_rapid_model_truth.py +7 -1
- rapidata/api_client/models/add_validation_rapid_new_model.py +137 -0
- rapidata/api_client/models/add_validation_rapid_new_model_asset.py +182 -0
- rapidata/api_client/models/add_validation_rapid_new_model_truth.py +286 -0
- rapidata/api_client/models/add_validation_text_rapid_model.py +1 -3
- rapidata/api_client/models/age_user_filter_model.py +2 -2
- rapidata/api_client/models/age_user_filter_model_age_group.py +41 -0
- rapidata/api_client/models/aggregated_orders_model.py +98 -0
- rapidata/api_client/models/aggregator_type.py +4 -2
- rapidata/api_client/models/and_filter.py +121 -0
- rapidata/api_client/models/and_filter_filters_inner.py +282 -0
- rapidata/api_client/models/and_user_filter_model.py +106 -0
- rapidata/api_client/models/and_user_filter_model_filters_inner.py +282 -0
- rapidata/api_client/models/are_rapids_active_result.py +2 -2
- rapidata/api_client/models/asset_metadata.py +11 -9
- rapidata/api_client/models/asset_type.py +40 -0
- rapidata/api_client/models/attach_category_rapid_blueprint.py +13 -3
- rapidata/api_client/models/attach_category_rapid_blueprint_category.py +89 -0
- rapidata/api_client/models/audience_status.py +38 -0
- rapidata/api_client/models/benchmark_query_result.py +98 -0
- rapidata/api_client/models/benchmark_query_result_paged_result.py +105 -0
- rapidata/api_client/models/boost_leaderboard_model.py +89 -0
- rapidata/api_client/models/boost_mode.py +37 -0
- rapidata/api_client/models/boost_query_result.py +7 -10
- rapidata/api_client/models/boost_query_result_boost_mode.py +37 -0
- rapidata/api_client/models/boost_query_result_boost_status.py +39 -0
- rapidata/api_client/models/boosting_profile.py +89 -0
- rapidata/api_client/models/box_shape.py +4 -33
- rapidata/api_client/models/campaign_filter.py +98 -0
- rapidata/api_client/models/campaign_query_result.py +15 -13
- rapidata/api_client/models/campaign_status.py +2 -2
- rapidata/api_client/models/change_boost_model.py +89 -0
- rapidata/api_client/models/classification_metadata.py +12 -1
- rapidata/api_client/models/classify_payload.py +14 -15
- rapidata/api_client/models/classify_payload_category.py +89 -0
- rapidata/api_client/models/client_model.py +25 -35
- rapidata/api_client/models/clients_query_result.py +5 -5
- rapidata/api_client/models/clone_order_model.py +6 -8
- rapidata/api_client/models/clone_order_result.py +9 -4
- rapidata/api_client/models/compare_rapid_blueprint.py +5 -3
- rapidata/api_client/models/compare_rapid_blueprint1.py +96 -0
- rapidata/api_client/models/compare_workflow_config.py +34 -23
- rapidata/api_client/models/compare_workflow_config_context_asset.py +174 -0
- rapidata/api_client/models/compare_workflow_config_metadata_value.py +31 -17
- rapidata/api_client/models/compare_workflow_config_model.py +15 -5
- rapidata/api_client/models/compare_workflow_model.py +34 -6
- rapidata/api_client/models/compare_workflow_model1.py +20 -9
- rapidata/api_client/models/compare_workflow_model_context_asset.py +160 -0
- rapidata/api_client/models/compare_workflow_model_metadata_inner.py +154 -0
- rapidata/api_client/models/compare_workflow_model_pair_maker_config.py +1 -1
- rapidata/api_client/models/comparison_operator.py +2 -2
- rapidata/api_client/models/conditional_validation_selection.py +8 -11
- rapidata/api_client/models/conditional_validation_selection_validation_chance.py +103 -0
- rapidata/api_client/models/confidence_interval.py +89 -0
- rapidata/api_client/models/count_metadata.py +12 -1
- rapidata/api_client/models/country_filter.py +98 -0
- rapidata/api_client/models/create_audience_request.py +99 -0
- rapidata/api_client/models/create_audience_result.py +87 -0
- rapidata/api_client/models/create_benchmark_model.py +87 -0
- rapidata/api_client/models/create_benchmark_participant_model.py +87 -0
- rapidata/api_client/models/create_benchmark_participant_result.py +89 -0
- rapidata/api_client/models/create_benchmark_prompt_result.py +87 -0
- rapidata/api_client/models/create_benchmark_result.py +87 -0
- rapidata/api_client/models/create_bridge_token_result.py +2 -2
- rapidata/api_client/models/create_client_model.py +6 -13
- rapidata/api_client/models/create_complex_order_model.py +9 -9
- rapidata/api_client/models/create_complex_order_result.py +6 -4
- rapidata/api_client/models/create_customer_client_result.py +2 -2
- rapidata/api_client/models/create_datapoint_from_files_model.py +3 -3
- rapidata/api_client/models/create_datapoint_from_text_sources_model.py +3 -3
- rapidata/api_client/models/create_datapoint_from_urls_model.py +3 -3
- rapidata/api_client/models/create_datapoint_model.py +134 -0
- rapidata/api_client/models/create_datapoint_model_asset.py +154 -0
- rapidata/api_client/models/create_datapoint_model_context_asset.py +160 -0
- rapidata/api_client/models/create_datapoint_model_metadata_inner.py +154 -0
- rapidata/api_client/models/create_datapoint_result.py +6 -18
- rapidata/api_client/models/create_demographic_rapid_model.py +45 -7
- rapidata/api_client/models/create_demographic_rapid_model_asset.py +160 -0
- rapidata/api_client/models/create_demographic_rapid_model_context_asset.py +160 -0
- rapidata/api_client/models/create_demographic_rapid_model_new.py +119 -0
- rapidata/api_client/models/create_empty_validation_set_result.py +2 -2
- rapidata/api_client/models/create_leaderboard_model.py +59 -10
- rapidata/api_client/models/create_leaderboard_result.py +17 -5
- rapidata/api_client/models/create_order_model.py +30 -101
- rapidata/api_client/models/create_order_model_referee.py +12 -12
- rapidata/api_client/models/create_order_model_workflow.py +35 -21
- rapidata/api_client/models/create_order_result.py +6 -4
- rapidata/api_client/models/create_rapid_result.py +2 -2
- rapidata/api_client/models/create_sample_model.py +93 -0
- rapidata/api_client/models/create_sample_model_asset.py +154 -0
- rapidata/api_client/models/create_sample_model_obsolete.py +87 -0
- rapidata/api_client/models/create_simple_pipeline_model_pipeline_steps_inner.py +8 -22
- rapidata/api_client/models/create_unsupported_order_model.py +6 -6
- rapidata/api_client/models/create_validation_set_model.py +5 -5
- rapidata/api_client/models/datapoint_model.py +3 -3
- rapidata/api_client/models/datapoint_state.py +2 -2
- rapidata/api_client/models/demographic_filter.py +100 -0
- rapidata/api_client/models/dynamic_client_registration_request.py +21 -36
- rapidata/api_client/models/early_stopping_referee_model.py +3 -3
- rapidata/api_client/models/effort_capped_selection.py +2 -11
- rapidata/api_client/models/elo_config.py +2 -2
- rapidata/api_client/models/elo_config_model.py +6 -6
- rapidata/api_client/models/entity_tag_header_value.py +93 -0
- rapidata/api_client/models/evaluation_workflow_config.py +13 -3
- rapidata/api_client/models/evaluation_workflow_model.py +16 -6
- rapidata/api_client/models/existing_asset_input.py +120 -0
- rapidata/api_client/models/existing_asset_input_metadata_value.py +126 -0
- rapidata/api_client/models/feature_flag.py +2 -2
- rapidata/api_client/models/feature_flag_model.py +6 -6
- rapidata/api_client/models/feedback_model.py +7 -7
- rapidata/api_client/models/file_asset.py +3 -5
- rapidata/api_client/models/file_asset_input.py +104 -0
- rapidata/api_client/models/file_asset_input1.py +104 -0
- rapidata/api_client/models/file_asset_input1_file.py +168 -0
- rapidata/api_client/models/file_asset_input2.py +104 -0
- rapidata/api_client/models/file_asset_input3.py +104 -0
- rapidata/api_client/models/file_asset_input_file.py +168 -0
- rapidata/api_client/models/file_asset_metadata_value.py +252 -0
- rapidata/api_client/models/file_asset_model_metadata_value.py +25 -81
- rapidata/api_client/models/file_stream_result.py +122 -0
- rapidata/api_client/models/file_type.py +39 -0
- rapidata/api_client/models/file_type_metadata.py +110 -0
- rapidata/api_client/models/file_type_metadata_model.py +97 -0
- rapidata/api_client/models/filter.py +7 -25
- rapidata/api_client/models/filter_operator.py +3 -2
- rapidata/api_client/models/fork_benchmark_result.py +87 -0
- rapidata/api_client/models/form_file_wrapper.py +135 -0
- rapidata/api_client/models/free_text_payload.py +10 -3
- rapidata/api_client/models/free_text_rapid_blueprint.py +10 -3
- rapidata/api_client/models/gender_user_filter_model.py +2 -2
- rapidata/api_client/models/gender_user_filter_model_gender.py +38 -0
- rapidata/api_client/models/get_asset_metadata_result.py +100 -0
- rapidata/api_client/models/get_audience_by_id_result.py +111 -0
- rapidata/api_client/models/get_available_validation_sets_result.py +2 -2
- rapidata/api_client/models/get_benchmark_by_id_query.py +96 -0
- rapidata/api_client/models/get_benchmark_by_id_query_result.py +94 -0
- rapidata/api_client/models/get_benchmark_by_id_query_result_paged_result.py +105 -0
- rapidata/api_client/models/get_benchmark_by_id_result.py +96 -0
- rapidata/api_client/models/get_boost_result.py +97 -0
- rapidata/api_client/models/get_boost_result_boost_mode.py +37 -0
- rapidata/api_client/models/get_boost_result_boost_status.py +39 -0
- rapidata/api_client/models/get_compare_ab_summary_result.py +5 -5
- rapidata/api_client/models/get_compare_workflow_results_model.py +7 -7
- rapidata/api_client/models/get_compare_workflow_results_result.py +5 -5
- rapidata/api_client/models/get_datapoint_by_id_result.py +10 -21
- rapidata/api_client/models/get_datapoint_by_id_result_asset.py +170 -0
- rapidata/api_client/models/get_dataset_by_id_result.py +2 -2
- rapidata/api_client/models/get_dataset_progress_result.py +2 -2
- rapidata/api_client/models/get_evaluation_workflow_results_model.py +119 -0
- rapidata/api_client/models/get_failed_datapoints_result.py +5 -5
- rapidata/api_client/models/get_failed_datapoints_result_datapoint.py +100 -0
- rapidata/api_client/models/get_file_metadata_result.py +100 -0
- rapidata/api_client/models/get_grouped_ranking_workflow_results_model.py +106 -0
- rapidata/api_client/models/get_grouped_ranking_workflow_results_result.py +97 -0
- rapidata/api_client/models/get_grouped_ranking_workflow_results_result_paged_result.py +105 -0
- rapidata/api_client/models/get_leaderboard_by_id_result.py +50 -6
- rapidata/api_client/models/get_order_by_id_result.py +12 -5
- rapidata/api_client/models/get_participant_by_id_result.py +9 -20
- rapidata/api_client/models/get_pipeline_by_id_result.py +5 -5
- rapidata/api_client/models/get_public_orders_result.py +2 -2
- rapidata/api_client/models/get_public_responses_result.py +95 -0
- rapidata/api_client/models/get_public_responses_result_response.py +112 -0
- rapidata/api_client/models/get_rapid_responses_result.py +6 -12
- rapidata/api_client/models/get_recommended_validation_set_result.py +95 -0
- rapidata/api_client/models/get_responses_for_rapid_result.py +106 -0
- rapidata/api_client/models/get_responses_for_rapid_result_response.py +103 -0
- rapidata/api_client/models/get_responses_for_rapid_result_response_result.py +266 -0
- rapidata/api_client/models/get_responses_result.py +5 -5
- rapidata/api_client/models/get_responses_result_response.py +103 -0
- rapidata/api_client/models/get_sample_by_id_result.py +125 -0
- rapidata/api_client/models/get_simple_workflow_results_model.py +20 -15
- rapidata/api_client/models/get_standing_by_id_result.py +96 -0
- rapidata/api_client/models/get_validation_rapids_result.py +32 -41
- rapidata/api_client/models/get_validation_set_by_id_result.py +10 -4
- rapidata/api_client/models/get_workflow_by_id_result.py +5 -5
- rapidata/api_client/models/get_workflow_by_id_result_workflow.py +23 -9
- rapidata/api_client/models/get_workflow_progress_result.py +5 -11
- rapidata/api_client/models/get_workflow_results_result.py +34 -23
- rapidata/api_client/models/get_workflow_results_result_response.py +103 -0
- rapidata/api_client/models/google_one_tap_login_model.py +4 -4
- rapidata/api_client/models/grouped_ranking_workflow_config.py +155 -0
- rapidata/api_client/models/grouped_ranking_workflow_config_context_assets_value.py +170 -0
- rapidata/api_client/models/grouped_ranking_workflow_model.py +147 -0
- rapidata/api_client/models/grouped_ranking_workflow_model1.py +121 -0
- rapidata/api_client/models/i_artifact_model.py +182 -0
- rapidata/api_client/models/i_artifact_model_campaign_artifact_model.py +98 -0
- rapidata/api_client/models/i_artifact_model_dataset_artifact_model.py +98 -0
- rapidata/api_client/models/i_artifact_model_file_artifact_model.py +98 -0
- rapidata/api_client/models/i_artifact_model_workflow_artifact_model.py +98 -0
- rapidata/api_client/models/i_artifact_model_workflow_config_artifact_model.py +102 -0
- rapidata/api_client/models/i_asset.py +170 -0
- rapidata/api_client/models/i_asset_file_asset.py +111 -0
- rapidata/api_client/models/i_asset_input.py +156 -0
- rapidata/api_client/models/i_asset_input_existing_asset_input.py +118 -0
- rapidata/api_client/models/i_asset_input_multi_asset_input.py +128 -0
- rapidata/api_client/models/i_asset_input_text_asset_input.py +118 -0
- rapidata/api_client/models/i_asset_model.py +170 -0
- rapidata/api_client/models/i_asset_model_file_asset_model.py +113 -0
- rapidata/api_client/models/i_asset_model_multi_asset_model.py +123 -0
- rapidata/api_client/models/i_asset_model_null_asset_model.py +111 -0
- rapidata/api_client/models/i_asset_model_text_asset_model.py +113 -0
- rapidata/api_client/models/i_asset_multi_asset.py +121 -0
- rapidata/api_client/models/i_asset_null_asset.py +109 -0
- rapidata/api_client/models/i_asset_text_asset.py +111 -0
- rapidata/api_client/models/i_campaign_filter.py +282 -0
- rapidata/api_client/models/i_campaign_filter_and_filter.py +117 -0
- rapidata/api_client/models/i_campaign_filter_campaign_filter.py +98 -0
- rapidata/api_client/models/i_campaign_filter_country_filter.py +98 -0
- rapidata/api_client/models/i_campaign_filter_demographic_filter.py +100 -0
- rapidata/api_client/models/i_campaign_filter_language_filter.py +98 -0
- rapidata/api_client/models/i_campaign_filter_new_user_filter.py +96 -0
- rapidata/api_client/models/i_campaign_filter_not_filter.py +113 -0
- rapidata/api_client/models/i_campaign_filter_or_filter.py +117 -0
- rapidata/api_client/models/i_campaign_filter_response_count_filter.py +103 -0
- rapidata/api_client/models/i_campaign_filter_user_action_restriction_filter.py +106 -0
- rapidata/api_client/models/i_campaign_filter_user_score_filter.py +102 -0
- rapidata/api_client/models/i_campaign_filter_user_state_filter.py +106 -0
- rapidata/api_client/models/i_dataset_metadata_input.py +154 -0
- rapidata/api_client/models/i_dataset_metadata_input_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/i_dataset_metadata_input_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/i_dataset_metadata_input_transcription_metadata_input.py +96 -0
- rapidata/api_client/models/i_dataset_model.py +126 -0
- rapidata/api_client/models/i_dataset_model_clone_dataset_model.py +98 -0
- rapidata/api_client/models/i_metadata.py +252 -0
- rapidata/api_client/models/i_metadata_classification_metadata.py +109 -0
- rapidata/api_client/models/i_metadata_count_metadata.py +109 -0
- rapidata/api_client/models/i_metadata_file_type_metadata.py +110 -0
- rapidata/api_client/models/i_metadata_image_dimension_metadata.py +111 -0
- rapidata/api_client/models/i_metadata_input.py +126 -0
- rapidata/api_client/models/i_metadata_input_text_metadata_input.py +111 -0
- rapidata/api_client/models/i_metadata_location_metadata.py +111 -0
- rapidata/api_client/models/i_metadata_model.py +252 -0
- rapidata/api_client/models/i_metadata_model_classification_metadata_model.py +96 -0
- rapidata/api_client/models/i_metadata_model_count_metadata_model.py +96 -0
- rapidata/api_client/models/i_metadata_model_file_type_metadata_model.py +97 -0
- rapidata/api_client/models/i_metadata_model_image_dimension_metadata_model.py +98 -0
- rapidata/api_client/models/i_metadata_model_location_metadata_model.py +98 -0
- rapidata/api_client/models/i_metadata_model_original_filename_metadata_model.py +96 -0
- rapidata/api_client/models/i_metadata_model_source_url_metadata_model.py +96 -0
- rapidata/api_client/models/i_metadata_model_streams_metadata_model.py +100 -0
- rapidata/api_client/models/i_metadata_model_text_metadata_model.py +101 -0
- rapidata/api_client/models/i_metadata_model_video_duration_metadata_model.py +97 -0
- rapidata/api_client/models/i_metadata_original_filename_metadata.py +109 -0
- rapidata/api_client/models/i_metadata_source_url_metadata.py +109 -0
- rapidata/api_client/models/i_metadata_streams_metadata.py +113 -0
- rapidata/api_client/models/i_metadata_text_metadata.py +114 -0
- rapidata/api_client/models/i_metadata_video_duration_metadata.py +110 -0
- rapidata/api_client/models/i_order_workflow_model.py +168 -0
- rapidata/api_client/models/i_order_workflow_model_compare_workflow_model.py +146 -0
- rapidata/api_client/models/i_order_workflow_model_evaluation_workflow_model.py +108 -0
- rapidata/api_client/models/i_order_workflow_model_grouped_ranking_workflow_model.py +147 -0
- rapidata/api_client/models/i_order_workflow_model_simple_workflow_model.py +110 -0
- rapidata/api_client/models/i_pair_maker_config.py +126 -0
- rapidata/api_client/models/i_pair_maker_config_model.py +126 -0
- rapidata/api_client/models/i_pair_maker_config_model_online_pair_maker_config_model.py +98 -0
- rapidata/api_client/models/i_pair_maker_config_online_pair_maker_config.py +98 -0
- rapidata/api_client/models/i_pair_maker_information.py +126 -0
- rapidata/api_client/models/i_pair_maker_information_online_pair_maker_information.py +100 -0
- rapidata/api_client/models/i_pipeline_artifact_model.py +126 -0
- rapidata/api_client/models/i_pipeline_artifact_model_create_dataset_artifact_model.py +102 -0
- rapidata/api_client/models/i_pipeline_model.py +126 -0
- rapidata/api_client/models/i_pipeline_model_create_simple_pipeline_model.py +116 -0
- rapidata/api_client/models/i_pipeline_step_model.py +168 -0
- rapidata/api_client/models/i_pipeline_step_model_dataset_evaluation_step_model.py +102 -0
- rapidata/api_client/models/i_pipeline_step_model_send_completion_mail_step_model.py +98 -0
- rapidata/api_client/models/i_pipeline_step_model_workflow_aggregation_step_model.py +103 -0
- rapidata/api_client/models/i_pipeline_step_model_workflow_labeling_step_model.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint.py +252 -0
- rapidata/api_client/models/i_rapid_blueprint_attach_category_rapid_blueprint.py +108 -0
- rapidata/api_client/models/i_rapid_blueprint_bounding_box_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_compare_rapid_blueprint.py +98 -0
- rapidata/api_client/models/i_rapid_blueprint_free_text_rapid_blueprint.py +103 -0
- rapidata/api_client/models/i_rapid_blueprint_line_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_locate_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_named_entity_rapid_blueprint.py +98 -0
- rapidata/api_client/models/i_rapid_blueprint_polygon_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_scrub_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_transcription_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_payload.py +252 -0
- rapidata/api_client/models/i_rapid_payload_bounding_box_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_classify_payload.py +106 -0
- rapidata/api_client/models/i_rapid_payload_compare_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_free_text_payload.py +103 -0
- rapidata/api_client/models/i_rapid_payload_line_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_locate_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_named_entity_payload.py +98 -0
- rapidata/api_client/models/i_rapid_payload_polygon_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_scrub_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_transcription_payload.py +106 -0
- rapidata/api_client/models/i_rapid_result.py +266 -0
- rapidata/api_client/models/i_rapid_result_attach_category_result.py +98 -0
- rapidata/api_client/models/i_rapid_result_bounding_box_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_compare_result.py +98 -0
- rapidata/api_client/models/i_rapid_result_free_text_result.py +98 -0
- rapidata/api_client/models/i_rapid_result_line_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_locate_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_named_entity_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_polygon_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_scrub_result.py +98 -0
- rapidata/api_client/models/i_rapid_result_skip_result.py +96 -0
- rapidata/api_client/models/i_rapid_result_transcription_result.py +106 -0
- rapidata/api_client/models/i_referee_config.py +154 -0
- rapidata/api_client/models/i_referee_config_naive_referee_config.py +96 -0
- rapidata/api_client/models/i_referee_config_never_ending_referee_config.py +94 -0
- rapidata/api_client/models/i_referee_config_probabilistic_attach_category_referee_config.py +98 -0
- rapidata/api_client/models/i_referee_info.py +154 -0
- rapidata/api_client/models/i_referee_info_naive_referee_info.py +96 -0
- rapidata/api_client/models/i_referee_info_never_ending_referee_info.py +94 -0
- rapidata/api_client/models/i_referee_info_probabilistic_attach_category_referee_info.py +98 -0
- rapidata/api_client/models/i_referee_model.py +140 -0
- rapidata/api_client/models/i_referee_model_early_stopping_referee_model.py +98 -0
- rapidata/api_client/models/i_referee_model_naive_referee_model.py +96 -0
- rapidata/api_client/models/i_selection.py +240 -0
- rapidata/api_client/models/i_selection_ab_test_selection.py +122 -0
- rapidata/api_client/models/i_selection_capped_selection.py +108 -0
- rapidata/api_client/models/i_selection_conditional_validation_selection.py +110 -0
- rapidata/api_client/models/i_selection_demographic_selection.py +98 -0
- rapidata/api_client/models/i_selection_effort_capped_selection.py +101 -0
- rapidata/api_client/models/i_selection_labeling_selection.py +103 -0
- rapidata/api_client/models/i_selection_shuffling_selection.py +106 -0
- rapidata/api_client/models/i_selection_static_selection.py +96 -0
- rapidata/api_client/models/i_selection_validation_selection.py +98 -0
- rapidata/api_client/models/i_user_filter_model.py +282 -0
- rapidata/api_client/models/i_user_filter_model_age_user_filter_model.py +104 -0
- rapidata/api_client/models/i_user_filter_model_and_user_filter_model.py +106 -0
- rapidata/api_client/models/i_user_filter_model_campaign_user_filter_model.py +96 -0
- rapidata/api_client/models/i_user_filter_model_country_user_filter_model.py +96 -0
- rapidata/api_client/models/i_user_filter_model_custom_user_filter_model.py +98 -0
- rapidata/api_client/models/i_user_filter_model_gender_user_filter_model.py +104 -0
- rapidata/api_client/models/i_user_filter_model_language_user_filter_model.py +96 -0
- rapidata/api_client/models/i_user_filter_model_new_user_filter_model.py +94 -0
- rapidata/api_client/models/i_user_filter_model_not_user_filter_model.py +102 -0
- rapidata/api_client/models/i_user_filter_model_or_user_filter_model.py +106 -0
- rapidata/api_client/models/i_user_filter_model_response_count_user_filter_model.py +101 -0
- rapidata/api_client/models/i_user_filter_model_user_score_user_filter_model.py +105 -0
- rapidata/api_client/models/i_validation_metadata_input.py +140 -0
- rapidata/api_client/models/i_validation_metadata_input_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/i_validation_metadata_input_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/i_validation_truth.py +280 -0
- rapidata/api_client/models/i_validation_truth_attach_category_truth.py +96 -0
- rapidata/api_client/models/i_validation_truth_bounding_box_truth.py +102 -0
- rapidata/api_client/models/i_validation_truth_compare_truth.py +96 -0
- rapidata/api_client/models/i_validation_truth_empty_validation_truth.py +94 -0
- rapidata/api_client/models/i_validation_truth_line_truth.py +94 -0
- rapidata/api_client/models/i_validation_truth_locate_box_truth.py +104 -0
- rapidata/api_client/models/i_validation_truth_multi_compare_truth.py +96 -0
- rapidata/api_client/models/i_validation_truth_named_entity_truth.py +104 -0
- rapidata/api_client/models/i_validation_truth_polygon_truth.py +94 -0
- rapidata/api_client/models/i_validation_truth_scrub_truth.py +104 -0
- rapidata/api_client/models/i_validation_truth_skip_truth.py +94 -0
- rapidata/api_client/models/i_validation_truth_transcription_truth.py +115 -0
- rapidata/api_client/models/i_workflow_config.py +168 -0
- rapidata/api_client/models/i_workflow_config_compare_workflow_config.py +142 -0
- rapidata/api_client/models/i_workflow_config_evaluation_workflow_config.py +114 -0
- rapidata/api_client/models/i_workflow_config_grouped_ranking_workflow_config.py +155 -0
- rapidata/api_client/models/i_workflow_config_simple_workflow_config.py +116 -0
- rapidata/api_client/models/i_workflow_model.py +168 -0
- rapidata/api_client/models/i_workflow_model_compare_workflow_model.py +145 -0
- rapidata/api_client/models/i_workflow_model_evaluation_workflow_model.py +115 -0
- rapidata/api_client/models/i_workflow_model_grouped_ranking_workflow_model.py +121 -0
- rapidata/api_client/models/i_workflow_model_simple_workflow_model.py +119 -0
- rapidata/api_client/models/image_dimension_metadata.py +12 -1
- rapidata/api_client/models/inquire_file_metadata_result.py +100 -0
- rapidata/api_client/models/inspect_report_result.py +2 -2
- rapidata/api_client/models/json_web_key.py +2 -36
- rapidata/api_client/models/json_web_key_set.py +2 -22
- rapidata/api_client/models/labeling_selection.py +11 -13
- rapidata/api_client/models/language_filter.py +98 -0
- rapidata/api_client/models/leaderboard_query_result.py +46 -4
- rapidata/api_client/models/leaderboards_query_result.py +135 -0
- rapidata/api_client/models/line_result.py +3 -3
- rapidata/api_client/models/line_result_line.py +97 -0
- rapidata/api_client/models/line_result_line_point.py +89 -0
- rapidata/api_client/models/local_file_wrapper.py +120 -0
- rapidata/api_client/models/locate_coordinate.py +4 -13
- rapidata/api_client/models/location_metadata.py +12 -1
- rapidata/api_client/models/logic_operator.py +2 -2
- rapidata/api_client/models/metadata_i_order_metadata_input.py +154 -0
- rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/metadata_i_order_metadata_input_metadata_transcription_metadata_input.py +96 -0
- rapidata/api_client/models/metadata_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/metadata_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/metadata_transcription_metadata_input.py +96 -0
- rapidata/api_client/models/multi_asset.py +6 -6
- rapidata/api_client/models/multi_asset_assets_inner.py +170 -0
- rapidata/api_client/models/multi_asset_input.py +130 -0
- rapidata/api_client/models/multi_asset_input1.py +110 -0
- rapidata/api_client/models/multi_asset_input1_assets_inner.py +198 -0
- rapidata/api_client/models/multi_asset_input2.py +110 -0
- rapidata/api_client/models/multi_asset_input3.py +110 -0
- rapidata/api_client/models/multi_asset_input3_assets_inner.py +198 -0
- rapidata/api_client/models/multi_asset_input_assets_inner.py +156 -0
- rapidata/api_client/models/multi_asset_model.py +3 -3
- rapidata/api_client/models/naive_referee_model.py +2 -2
- rapidata/api_client/models/named_classification.py +4 -13
- rapidata/api_client/models/new_user_filter.py +96 -0
- rapidata/api_client/models/newsletter_model.py +6 -6
- rapidata/api_client/models/not_available_yet_result.py +4 -13
- rapidata/api_client/models/not_filter.py +117 -0
- rapidata/api_client/models/not_user_filter_model.py +3 -3
- rapidata/api_client/models/null_asset.py +3 -5
- rapidata/api_client/models/online_pair_maker_config_model.py +3 -3
- rapidata/api_client/models/or_filter.py +121 -0
- rapidata/api_client/models/or_user_filter_model.py +3 -3
- rapidata/api_client/models/order_model.py +15 -14
- rapidata/api_client/models/order_state.py +2 -2
- rapidata/api_client/models/original_filename_metadata.py +12 -1
- rapidata/api_client/models/page_info.py +2 -7
- rapidata/api_client/models/paged_result_aggregated_orders_model.py +105 -0
- rapidata/api_client/models/paged_result_benchmark_query_result.py +105 -0
- rapidata/api_client/models/paged_result_campaign_query_result.py +105 -0
- rapidata/api_client/models/paged_result_clients_query_result.py +105 -0
- rapidata/api_client/models/paged_result_datapoint_model.py +105 -0
- rapidata/api_client/models/paged_result_get_compare_workflow_results_result.py +105 -0
- rapidata/api_client/models/paged_result_get_grouped_ranking_workflow_results_result.py +105 -0
- rapidata/api_client/models/paged_result_get_validation_rapids_result.py +105 -0
- rapidata/api_client/models/paged_result_get_workflow_results_result.py +105 -0
- rapidata/api_client/models/paged_result_i_workflow_model.py +105 -0
- rapidata/api_client/models/paged_result_leaderboard_query_result.py +105 -0
- rapidata/api_client/models/paged_result_leaderboards_query_result.py +105 -0
- rapidata/api_client/models/paged_result_of_aggregated_orders_model.py +103 -0
- rapidata/api_client/models/paged_result_of_benchmark_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_campaign_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_clients_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_compare_workflow_results_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_grouped_ranking_workflow_results_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_validation_rapids_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_workflow_results_result.py +103 -0
- rapidata/api_client/models/paged_result_of_i_workflow_model.py +103 -0
- rapidata/api_client/models/paged_result_of_leaderboards_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_order_model.py +103 -0
- rapidata/api_client/models/paged_result_of_participant_by_benchmark.py +103 -0
- rapidata/api_client/models/paged_result_of_prompt_by_benchmark_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_audiences_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_datapoints_by_dataset_id_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_validation_rapid_eligibility_result.py +103 -0
- rapidata/api_client/models/paged_result_of_rapid_model.py +103 -0
- rapidata/api_client/models/paged_result_of_runs_by_leaderboard_result.py +103 -0
- rapidata/api_client/models/paged_result_of_sample_by_identifier.py +103 -0
- rapidata/api_client/models/paged_result_of_sample_by_participant.py +103 -0
- rapidata/api_client/models/paged_result_of_standing_by_leaderboard.py +103 -0
- rapidata/api_client/models/paged_result_of_validation_set_model.py +103 -0
- rapidata/api_client/models/paged_result_order_model.py +105 -0
- rapidata/api_client/models/paged_result_participant_by_benchmark.py +105 -0
- rapidata/api_client/models/paged_result_potential_validation_rapid.py +105 -0
- rapidata/api_client/models/paged_result_prompt_by_benchmark_result.py +105 -0
- rapidata/api_client/models/paged_result_query_audiences_result.py +105 -0
- rapidata/api_client/models/paged_result_query_datapoints_by_dataset_id_result.py +105 -0
- rapidata/api_client/models/paged_result_query_validation_rapid_eligibility_result.py +105 -0
- rapidata/api_client/models/paged_result_rapid_model.py +105 -0
- rapidata/api_client/models/paged_result_runs_by_leaderboard_result.py +105 -0
- rapidata/api_client/models/paged_result_sample_by_identifier.py +105 -0
- rapidata/api_client/models/paged_result_sample_by_participant.py +105 -0
- rapidata/api_client/models/paged_result_standing_by_leaderboard.py +105 -0
- rapidata/api_client/models/paged_result_validation_set_model.py +105 -0
- rapidata/api_client/models/participant_by_benchmark.py +94 -0
- rapidata/api_client/models/participant_by_benchmark_paged_result.py +105 -0
- rapidata/api_client/models/participant_by_leaderboard.py +19 -8
- rapidata/api_client/models/participant_status.py +4 -5
- rapidata/api_client/models/pipeline_id_workflow_config_put_request.py +140 -0
- rapidata/api_client/models/polygon_result.py +3 -3
- rapidata/api_client/models/polygon_result_coordinate.py +89 -0
- rapidata/api_client/models/polygon_result_shape.py +95 -0
- rapidata/api_client/models/potential_validation_rapid.py +103 -0
- rapidata/api_client/models/potential_validation_rapid_paged_result.py +105 -0
- rapidata/api_client/models/potential_validation_rapid_truth.py +280 -0
- rapidata/api_client/models/preliminary_download_model.py +5 -5
- rapidata/api_client/models/preview_order_model.py +87 -0
- rapidata/api_client/models/problem_details.py +2 -20
- rapidata/api_client/models/prompt_asset_metadata_input.py +6 -8
- rapidata/api_client/models/prompt_asset_metadata_input_asset.py +154 -0
- rapidata/api_client/models/prompt_by_benchmark_result.py +112 -0
- rapidata/api_client/models/prompt_by_benchmark_result_paged_result.py +105 -0
- rapidata/api_client/models/prompt_metadata.py +12 -1
- rapidata/api_client/models/prompt_metadata_input.py +2 -2
- rapidata/api_client/models/prompt_type.py +38 -0
- rapidata/api_client/models/proxy_file_wrapper.py +129 -0
- rapidata/api_client/models/public_order_model.py +2 -2
- rapidata/api_client/models/public_rapid_response.py +112 -0
- rapidata/api_client/models/query_audiences_result.py +111 -0
- rapidata/api_client/models/query_datapoints_by_dataset_id_result.py +95 -0
- rapidata/api_client/models/query_model.py +10 -5
- rapidata/api_client/models/query_validation_model.py +97 -0
- rapidata/api_client/models/query_validation_rapid_eligibility_model_query_validation_model.py +107 -0
- rapidata/api_client/models/query_validation_rapid_eligibility_result.py +103 -0
- rapidata/api_client/models/query_validation_rapid_eligibility_result_truth.py +280 -0
- rapidata/api_client/models/rapid_issue.py +2 -2
- rapidata/api_client/models/rapid_modality.py +46 -0
- rapidata/api_client/models/rapid_model.py +33 -49
- rapidata/api_client/models/rapid_result_model.py +7 -7
- rapidata/api_client/models/rapid_skipped_model.py +5 -5
- rapidata/api_client/models/rapid_state.py +2 -2
- rapidata/api_client/models/read_bridge_token_keys_result.py +10 -24
- rapidata/api_client/models/reference_asset_input.py +100 -0
- rapidata/api_client/models/report_model.py +9 -15
- rapidata/api_client/models/response_count_filter.py +103 -0
- rapidata/api_client/models/response_count_user_filter_model.py +2 -8
- rapidata/api_client/models/retrieval_mode.py +2 -2
- rapidata/api_client/models/root_filter.py +5 -14
- rapidata/api_client/models/run_status.py +39 -0
- rapidata/api_client/models/runs_by_leaderboard_result.py +104 -0
- rapidata/api_client/models/runs_by_leaderboard_result_paged_result.py +105 -0
- rapidata/api_client/models/sample_by_identifier.py +125 -0
- rapidata/api_client/models/sample_by_identifier_paged_result.py +105 -0
- rapidata/api_client/models/sample_by_participant.py +121 -0
- rapidata/api_client/models/sample_by_participant_paged_result.py +105 -0
- rapidata/api_client/models/scrub_range.py +2 -2
- rapidata/api_client/models/send_survey_model.py +87 -0
- rapidata/api_client/models/simple_workflow_config.py +15 -7
- rapidata/api_client/models/simple_workflow_config_blueprint.py +37 -23
- rapidata/api_client/models/simple_workflow_config_model.py +11 -3
- rapidata/api_client/models/simple_workflow_model.py +14 -4
- rapidata/api_client/models/simple_workflow_model1.py +4 -11
- rapidata/api_client/models/simple_workflow_model_blueprint.py +1 -1
- rapidata/api_client/models/sort_criterion.py +5 -11
- rapidata/api_client/models/sort_direction.py +2 -2
- rapidata/api_client/models/source_url_metadata.py +12 -1
- rapidata/api_client/models/standing_by_benchmark.py +113 -0
- rapidata/api_client/models/standing_by_leaderboard.py +113 -0
- rapidata/api_client/models/standing_by_leaderboard_paged_result.py +105 -0
- rapidata/api_client/models/standing_status.py +38 -0
- rapidata/api_client/models/standings_by_benchmark_result.py +95 -0
- rapidata/api_client/models/standings_by_leaderboard_result.py +95 -0
- rapidata/api_client/models/start_preliminary_download_result.py +87 -0
- rapidata/api_client/models/sticky_state.py +3 -2
- rapidata/api_client/models/stream_file_wrapper.py +138 -0
- rapidata/api_client/models/streams_metadata.py +12 -1
- rapidata/api_client/models/string_segment.py +105 -0
- rapidata/api_client/models/submit_coco_model.py +1 -3
- rapidata/api_client/models/submit_order_model.py +87 -0
- rapidata/api_client/models/submit_participant_result.py +89 -0
- rapidata/api_client/models/submit_prompt_model.py +107 -0
- rapidata/api_client/models/submit_prompt_model_prompt_asset.py +202 -0
- rapidata/api_client/models/tags_by_benchmark_result.py +87 -0
- rapidata/api_client/models/text_asset.py +3 -5
- rapidata/api_client/models/text_asset_input.py +120 -0
- rapidata/api_client/models/text_metadata.py +18 -2
- rapidata/api_client/models/text_metadata_input.py +111 -0
- rapidata/api_client/models/text_metadata_model.py +7 -2
- rapidata/api_client/models/transcription_metadata.py +9 -1
- rapidata/api_client/models/transcription_metadata_input.py +2 -2
- rapidata/api_client/models/transcription_word.py +2 -2
- rapidata/api_client/models/translated_string.py +2 -2
- rapidata/api_client/models/unlock_order_result.py +2 -2
- rapidata/api_client/models/update_audience_request.py +102 -0
- rapidata/api_client/models/update_benchmark_model.py +99 -0
- rapidata/api_client/models/update_benchmark_name_model.py +87 -0
- rapidata/api_client/models/update_campaign_model.py +11 -11
- rapidata/api_client/models/update_dataset_name_model.py +5 -5
- rapidata/api_client/models/update_dimensions_model.py +3 -3
- rapidata/api_client/models/update_leaderboard_model.py +106 -0
- rapidata/api_client/models/update_leaderboard_name_model.py +87 -0
- rapidata/api_client/models/update_leaderboard_response_config_model.py +89 -0
- rapidata/api_client/models/update_order_name_model.py +5 -5
- rapidata/api_client/models/update_participant_model.py +92 -0
- rapidata/api_client/models/update_participant_name_model.py +87 -0
- rapidata/api_client/models/update_priority_model.py +87 -0
- rapidata/api_client/models/update_prompt_tags_model.py +87 -0
- rapidata/api_client/models/update_should_alert_model.py +87 -0
- rapidata/api_client/models/update_validation_rapid_model.py +28 -10
- rapidata/api_client/models/update_validation_rapid_model_context_asset.py +160 -0
- rapidata/api_client/models/update_validation_set_model.py +120 -0
- rapidata/api_client/models/upload_asset_result.py +102 -0
- rapidata/api_client/models/upload_file_from_url_result.py +87 -0
- rapidata/api_client/models/upload_file_result.py +87 -0
- rapidata/api_client/models/user_action_restriction.py +37 -0
- rapidata/api_client/models/user_action_restriction_filter.py +101 -0
- rapidata/api_client/models/user_score_filter.py +102 -0
- rapidata/api_client/models/user_state.py +38 -0
- rapidata/api_client/models/user_state_filter.py +101 -0
- rapidata/api_client/models/validation_chance.py +20 -3
- rapidata/api_client/models/validation_set_model.py +39 -5
- rapidata/api_client/models/validation_set_overview_model.py +2 -2
- rapidata/api_client/models/validation_set_zip_post_request_blueprint.py +252 -0
- rapidata/api_client/models/video_duration_metadata.py +12 -1
- rapidata/api_client/models/workflow_aggregation_step_model.py +3 -12
- rapidata/api_client/models/workflow_config_artifact_model_workflow_config.py +23 -9
- rapidata/api_client/models/workflow_state.py +2 -2
- rapidata/api_client/models/zip_entry_file_wrapper.py +151 -0
- rapidata/api_client/rest.py +16 -9
- rapidata/api_client_README.md +373 -336
- rapidata/rapidata_client/__init__.py +9 -18
- rapidata/rapidata_client/api/rapidata_api_client.py +253 -0
- rapidata/rapidata_client/benchmark/_detail_mapper.py +32 -0
- rapidata/rapidata_client/benchmark/leaderboard/__init__.py +0 -0
- rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py +221 -0
- rapidata/rapidata_client/benchmark/participant/__init__.py +0 -0
- rapidata/rapidata_client/benchmark/participant/_participant.py +147 -0
- rapidata/rapidata_client/benchmark/rapidata_benchmark.py +546 -0
- rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py +219 -0
- rapidata/rapidata_client/config/__init__.py +4 -0
- rapidata/rapidata_client/config/logger.py +135 -0
- rapidata/rapidata_client/config/logging_config.py +55 -0
- rapidata/rapidata_client/config/managed_print.py +6 -0
- rapidata/rapidata_client/config/order_config.py +14 -0
- rapidata/rapidata_client/config/rapidata_config.py +36 -0
- rapidata/rapidata_client/config/tracer.py +184 -0
- rapidata/rapidata_client/config/upload_config.py +64 -0
- rapidata/rapidata_client/datapoints/__init__.py +10 -0
- rapidata/rapidata_client/datapoints/_asset_uploader.py +169 -0
- rapidata/rapidata_client/datapoints/_datapoint.py +92 -0
- rapidata/rapidata_client/datapoints/_datapoint_uploader.py +47 -0
- rapidata/rapidata_client/datapoints/_datapoints_validator.py +70 -0
- rapidata/rapidata_client/datapoints/assets/__init__.py +0 -0
- rapidata/rapidata_client/datapoints/assets/constants.py +7 -0
- rapidata/rapidata_client/{metadata → datapoints/metadata}/__init__.py +1 -0
- rapidata/rapidata_client/datapoints/metadata/_media_asset_metadata.py +26 -0
- rapidata/rapidata_client/datapoints/metadata/_private_text_metadata.py +16 -0
- rapidata/rapidata_client/datapoints/metadata/_prompt_identifier_metadata.py +14 -0
- rapidata/rapidata_client/datapoints/metadata/_prompt_metadata.py +12 -0
- rapidata/rapidata_client/datapoints/metadata/_public_text_metadata.py +16 -0
- rapidata/rapidata_client/{metadata → datapoints/metadata}/_select_words_metadata.py +4 -5
- rapidata/rapidata_client/demographic/demographic_manager.py +44 -19
- rapidata/rapidata_client/exceptions/__init__.py +1 -0
- rapidata/rapidata_client/exceptions/failed_upload_exception.py +20 -0
- rapidata/rapidata_client/filter/__init__.py +1 -0
- rapidata/rapidata_client/filter/_base_filter.py +27 -6
- rapidata/rapidata_client/filter/age_filter.py +21 -10
- rapidata/rapidata_client/filter/and_filter.py +42 -0
- rapidata/rapidata_client/filter/campaign_filter.py +18 -10
- rapidata/rapidata_client/filter/country_filter.py +34 -12
- rapidata/rapidata_client/filter/custom_filter.py +22 -12
- rapidata/rapidata_client/filter/gender_filter.py +22 -10
- rapidata/rapidata_client/filter/language_filter.py +39 -21
- rapidata/rapidata_client/filter/models/age_group.py +14 -12
- rapidata/rapidata_client/filter/models/gender.py +12 -8
- rapidata/rapidata_client/filter/new_user_filter.py +11 -4
- rapidata/rapidata_client/filter/not_filter.py +23 -11
- rapidata/rapidata_client/filter/or_filter.py +23 -11
- rapidata/rapidata_client/filter/rapidata_filters.py +19 -13
- rapidata/rapidata_client/filter/response_count_filter.py +36 -20
- rapidata/rapidata_client/filter/user_score_filter.py +47 -24
- rapidata/rapidata_client/order/_rapidata_order_builder.py +289 -154
- rapidata/rapidata_client/order/dataset/_rapidata_dataset.py +153 -0
- rapidata/rapidata_client/order/rapidata_order.py +316 -163
- rapidata/rapidata_client/order/rapidata_order_manager.py +688 -430
- rapidata/rapidata_client/order/rapidata_results.py +86 -63
- rapidata/rapidata_client/rapidata_client.py +98 -36
- rapidata/rapidata_client/referee/__init__.py +1 -1
- rapidata/rapidata_client/referee/_base_referee.py +7 -3
- rapidata/rapidata_client/referee/_early_stopping_referee.py +20 -11
- rapidata/rapidata_client/referee/_naive_referee.py +18 -3
- rapidata/rapidata_client/selection/__init__.py +2 -2
- rapidata/rapidata_client/selection/_base_selection.py +9 -2
- rapidata/rapidata_client/selection/ab_test_selection.py +28 -20
- rapidata/rapidata_client/selection/capped_selection.py +23 -16
- rapidata/rapidata_client/selection/conditional_validation_selection.py +43 -24
- rapidata/rapidata_client/selection/demographic_selection.py +21 -6
- rapidata/rapidata_client/selection/effort_selection.py +40 -10
- rapidata/rapidata_client/selection/labeling_selection.py +34 -11
- rapidata/rapidata_client/selection/{retrieval_modes.py → rapidata_retrieval_modes.py} +7 -4
- rapidata/rapidata_client/selection/rapidata_selections.py +17 -8
- rapidata/rapidata_client/selection/shuffling_selection.py +21 -13
- rapidata/rapidata_client/selection/static_selection.py +19 -8
- rapidata/rapidata_client/selection/validation_selection.py +20 -4
- rapidata/rapidata_client/settings/__init__.py +2 -0
- rapidata/rapidata_client/settings/_rapidata_setting.py +15 -2
- rapidata/rapidata_client/settings/alert_on_fast_response.py +8 -5
- rapidata/rapidata_client/settings/allow_neither_both.py +3 -0
- rapidata/rapidata_client/settings/custom_setting.py +3 -2
- rapidata/rapidata_client/settings/free_text_minimum_characters.py +9 -4
- rapidata/rapidata_client/settings/models/translation_behaviour_options.py +3 -2
- rapidata/rapidata_client/settings/mute_video.py +15 -0
- rapidata/rapidata_client/settings/no_shuffle.py +4 -2
- rapidata/rapidata_client/settings/play_video_until_the_end.py +7 -4
- rapidata/rapidata_client/settings/rapidata_settings.py +16 -3
- rapidata/rapidata_client/settings/swap_context_instruction.py +20 -0
- rapidata/rapidata_client/settings/translation_behaviour.py +7 -5
- rapidata/rapidata_client/validation/rapidata_validation_set.py +106 -12
- rapidata/rapidata_client/validation/rapids/_validation_rapid_uploader.py +62 -0
- rapidata/rapidata_client/validation/rapids/box.py +37 -12
- rapidata/rapidata_client/validation/rapids/rapids.py +28 -103
- rapidata/rapidata_client/validation/rapids/rapids_manager.py +315 -208
- rapidata/rapidata_client/validation/validation_set_manager.py +511 -274
- rapidata/rapidata_client/workflow/__init__.py +2 -1
- rapidata/rapidata_client/workflow/_base_workflow.py +25 -7
- rapidata/rapidata_client/workflow/_classify_workflow.py +58 -15
- rapidata/rapidata_client/workflow/_compare_workflow.py +44 -9
- rapidata/rapidata_client/workflow/_draw_workflow.py +40 -10
- rapidata/rapidata_client/workflow/_evaluation_workflow.py +28 -7
- rapidata/rapidata_client/workflow/_free_text_workflow.py +46 -9
- rapidata/rapidata_client/workflow/_locate_workflow.py +40 -10
- rapidata/rapidata_client/workflow/_multi_ranking_workflow.py +87 -0
- rapidata/rapidata_client/workflow/_ranking_workflow.py +109 -25
- rapidata/rapidata_client/workflow/_select_words_workflow.py +51 -11
- rapidata/rapidata_client/workflow/_timestamp_workflow.py +42 -11
- rapidata/service/__init__.py +0 -1
- rapidata/service/credential_manager.py +14 -14
- rapidata/service/openapi_service.py +79 -24
- rapidata/types/__init__.py +166 -0
- rapidata-2.44.3.dist-info/METADATA +32 -0
- rapidata-2.44.3.dist-info/RECORD +1014 -0
- {rapidata-2.28.2.dist-info → rapidata-2.44.3.dist-info}/WHEEL +1 -1
- rapidata/rapidata_client/api/rapidata_exception.py +0 -107
- rapidata/rapidata_client/assets/__init__.py +0 -10
- rapidata/rapidata_client/assets/_base_asset.py +0 -11
- rapidata/rapidata_client/assets/_media_asset.py +0 -306
- rapidata/rapidata_client/assets/_multi_asset.py +0 -61
- rapidata/rapidata_client/assets/_sessions.py +0 -35
- rapidata/rapidata_client/assets/_text_asset.py +0 -34
- rapidata/rapidata_client/assets/data_type_enum.py +0 -7
- rapidata/rapidata_client/country_codes/__init__.py +0 -1
- rapidata/rapidata_client/country_codes/country_codes.py +0 -19
- rapidata/rapidata_client/leaderboard/rapidata_leaderboard.py +0 -127
- rapidata/rapidata_client/leaderboard/rapidata_leaderboard_manager.py +0 -92
- rapidata/rapidata_client/logging/__init__.py +0 -2
- rapidata/rapidata_client/logging/logger.py +0 -122
- rapidata/rapidata_client/logging/output_manager.py +0 -20
- rapidata/rapidata_client/metadata/_media_asset_metadata.py +0 -15
- rapidata/rapidata_client/metadata/_private_text_metadata.py +0 -17
- rapidata/rapidata_client/metadata/_prompt_metadata.py +0 -18
- rapidata/rapidata_client/metadata/_public_text_metadata.py +0 -17
- rapidata/rapidata_client/order/_rapidata_dataset.py +0 -461
- rapidata/service/local_file_service.py +0 -25
- rapidata-2.28.2.dist-info/METADATA +0 -35
- rapidata-2.28.2.dist-info/RECORD +0 -574
- /rapidata/rapidata_client/{leaderboard → benchmark}/__init__.py +0 -0
- /rapidata/rapidata_client/{metadata → datapoints/metadata}/_base_metadata.py +0 -0
- {rapidata-2.28.2.dist-info → rapidata-2.44.3.dist-info/licenses}/LICENSE +0 -0
|
@@ -1,30 +1,75 @@
|
|
|
1
|
-
from rapidata.api_client import
|
|
2
|
-
|
|
1
|
+
from rapidata.api_client import (
|
|
2
|
+
CompareWorkflowModelPairMakerConfig,
|
|
3
|
+
OnlinePairMakerConfigModel,
|
|
4
|
+
EloConfigModel,
|
|
5
|
+
)
|
|
6
|
+
from rapidata.api_client.models.add_validation_rapid_model import IRapidPayload
|
|
7
|
+
from rapidata.api_client.models.i_order_workflow_model import IOrderWorkflowModel
|
|
8
|
+
from rapidata.api_client.models.i_order_workflow_model_compare_workflow_model import (
|
|
9
|
+
IOrderWorkflowModelCompareWorkflowModel,
|
|
10
|
+
)
|
|
3
11
|
from rapidata.rapidata_client.workflow._base_workflow import Workflow
|
|
4
|
-
from rapidata.
|
|
5
|
-
|
|
12
|
+
from rapidata.api_client.models.i_rapid_payload_compare_payload import (
|
|
13
|
+
IRapidPayloadComparePayload,
|
|
14
|
+
)
|
|
15
|
+
from rapidata.rapidata_client.datapoints._datapoint import Datapoint
|
|
16
|
+
from rapidata.api_client.models.rapid_modality import RapidModality
|
|
17
|
+
from rapidata.rapidata_client.datapoints.metadata import (
|
|
18
|
+
MediaAssetMetadata,
|
|
19
|
+
PromptMetadata,
|
|
20
|
+
)
|
|
21
|
+
from rapidata.api_client.models.metadata_i_order_metadata_input import (
|
|
22
|
+
MetadataIOrderMetadataInput,
|
|
23
|
+
)
|
|
24
|
+
from rapidata.rapidata_client.datapoints._asset_uploader import AssetUploader
|
|
25
|
+
import itertools
|
|
26
|
+
import random
|
|
27
|
+
from typing import cast
|
|
6
28
|
|
|
7
29
|
|
|
8
30
|
class RankingWorkflow(Workflow):
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
31
|
+
modality = RapidModality.COMPARE
|
|
32
|
+
|
|
33
|
+
def __init__(
|
|
34
|
+
self,
|
|
35
|
+
instruction: str,
|
|
36
|
+
total_comparison_budget: int,
|
|
37
|
+
random_comparisons_ratio,
|
|
38
|
+
elo_start: int = 1200,
|
|
39
|
+
elo_k_factor: int = 40,
|
|
40
|
+
elo_scaling_factor: int = 400,
|
|
41
|
+
media_context: str | None = None,
|
|
42
|
+
context: str | None = None,
|
|
43
|
+
file_uploader: AssetUploader | None = None,
|
|
44
|
+
):
|
|
18
45
|
super().__init__(type="CompareWorkflowConfig")
|
|
19
46
|
|
|
20
|
-
self.
|
|
21
|
-
|
|
22
|
-
|
|
47
|
+
self.media_context = media_context
|
|
48
|
+
self.context = context
|
|
49
|
+
|
|
50
|
+
self.metadatas = []
|
|
51
|
+
if media_context:
|
|
52
|
+
assert (
|
|
53
|
+
file_uploader is not None
|
|
54
|
+
), "File uploader is required if media_context is provided"
|
|
55
|
+
self.metadatas.append(
|
|
56
|
+
MediaAssetMetadata(
|
|
57
|
+
internal_file_name=file_uploader.upload_asset(media_context)
|
|
58
|
+
)
|
|
59
|
+
)
|
|
60
|
+
if context:
|
|
61
|
+
self.metadatas.append(PromptMetadata(prompt=context))
|
|
62
|
+
|
|
63
|
+
self.instruction = instruction
|
|
64
|
+
self.total_comparison_budget = total_comparison_budget
|
|
65
|
+
self.random_comparisons_ratio = random_comparisons_ratio
|
|
66
|
+
self.elo_start = elo_start
|
|
67
|
+
self.elo_k_factor = elo_k_factor
|
|
68
|
+
self.elo_scaling_factor = elo_scaling_factor
|
|
23
69
|
|
|
24
|
-
self.criteria = criteria
|
|
25
70
|
self.pair_maker_config = CompareWorkflowModelPairMakerConfig(
|
|
26
71
|
OnlinePairMakerConfigModel(
|
|
27
|
-
_t=
|
|
72
|
+
_t="OnlinePairMaker",
|
|
28
73
|
totalComparisonBudget=total_comparison_budget,
|
|
29
74
|
randomMatchesRatio=random_comparisons_ratio,
|
|
30
75
|
)
|
|
@@ -36,12 +81,51 @@ class RankingWorkflow(Workflow):
|
|
|
36
81
|
scalingFactor=elo_scaling_factor,
|
|
37
82
|
)
|
|
38
83
|
|
|
39
|
-
def
|
|
84
|
+
def _get_instruction(self) -> str:
|
|
85
|
+
return self.instruction
|
|
86
|
+
|
|
87
|
+
def _to_model(self) -> IOrderWorkflowModel:
|
|
88
|
+
return IOrderWorkflowModel(
|
|
89
|
+
actual_instance=IOrderWorkflowModelCompareWorkflowModel(
|
|
90
|
+
_t="CompareWorkflow",
|
|
91
|
+
criteria=self.instruction,
|
|
92
|
+
eloConfig=self.elo_config,
|
|
93
|
+
pairMakerConfig=self.pair_maker_config,
|
|
94
|
+
metadata=[
|
|
95
|
+
MetadataIOrderMetadataInput(metadata.to_model())
|
|
96
|
+
for metadata in self.metadatas
|
|
97
|
+
],
|
|
98
|
+
)
|
|
99
|
+
)
|
|
40
100
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
101
|
+
def _to_payload(self, datapoint: Datapoint) -> IRapidPayload:
|
|
102
|
+
return IRapidPayload(
|
|
103
|
+
actual_instance=IRapidPayloadComparePayload(
|
|
104
|
+
_t="ComparePayload",
|
|
105
|
+
criteria=self.instruction,
|
|
106
|
+
)
|
|
47
107
|
)
|
|
108
|
+
|
|
109
|
+
def _format_datapoints(self, datapoints: list[Datapoint]) -> list[Datapoint]:
|
|
110
|
+
if len(datapoints) < 3:
|
|
111
|
+
raise ValueError("RankingWorkflow requires at least three datapoints")
|
|
112
|
+
desired_length = len(datapoints)
|
|
113
|
+
assets = [datapoint.asset for datapoint in datapoints]
|
|
114
|
+
pairs = list(map(list, itertools.combinations(assets, 2)))
|
|
115
|
+
sampled_pairs = random.sample(pairs, desired_length)
|
|
116
|
+
formatted_datapoints = [
|
|
117
|
+
Datapoint(
|
|
118
|
+
asset=cast(list[str], pair),
|
|
119
|
+
data_type=datapoints[0].data_type,
|
|
120
|
+
context=self.context,
|
|
121
|
+
media_context=self.media_context,
|
|
122
|
+
)
|
|
123
|
+
for pair in sampled_pairs
|
|
124
|
+
]
|
|
125
|
+
return formatted_datapoints
|
|
126
|
+
|
|
127
|
+
def __str__(self) -> str:
|
|
128
|
+
return f"RankingWorkflow(instruction='{self.instruction}', metadatas={self.metadatas})"
|
|
129
|
+
|
|
130
|
+
def __repr__(self) -> str:
|
|
131
|
+
return f"RankingWorkflow(instruction={self.instruction!r}, total_comparison_budget={self.total_comparison_budget!r}, random_comparisons_ratio={self.random_comparisons_ratio!r}, elo_start={self.elo_start!r}, elo_k_factor={self.elo_k_factor!r}, elo_scaling_factor={self.elo_scaling_factor!r}, metadatas={self.metadatas!r})"
|
|
@@ -1,14 +1,26 @@
|
|
|
1
|
-
from rapidata.api_client.models.
|
|
2
|
-
from rapidata.api_client.models.
|
|
3
|
-
|
|
1
|
+
from rapidata.api_client.models.i_order_workflow_model import IOrderWorkflowModel
|
|
2
|
+
from rapidata.api_client.models.i_order_workflow_model_simple_workflow_model import (
|
|
3
|
+
IOrderWorkflowModelSimpleWorkflowModel,
|
|
4
|
+
)
|
|
5
|
+
from rapidata.api_client.models.i_rapid_blueprint import IRapidBlueprint
|
|
6
|
+
from rapidata.api_client.models.i_rapid_blueprint_transcription_rapid_blueprint import (
|
|
7
|
+
IRapidBlueprintTranscriptionRapidBlueprint,
|
|
8
|
+
)
|
|
4
9
|
from rapidata.rapidata_client.workflow._base_workflow import Workflow
|
|
10
|
+
from rapidata.api_client.models.i_rapid_payload_transcription_payload import (
|
|
11
|
+
IRapidPayloadTranscriptionPayload,
|
|
12
|
+
)
|
|
13
|
+
from rapidata.api_client.models.transcription_word import TranscriptionWord
|
|
14
|
+
from rapidata.rapidata_client.datapoints._datapoint import Datapoint
|
|
15
|
+
from rapidata.api_client.models.rapid_modality import RapidModality
|
|
16
|
+
from rapidata.api_client.models.i_rapid_payload import IRapidPayload
|
|
5
17
|
|
|
6
18
|
|
|
7
19
|
class SelectWordsWorkflow(Workflow):
|
|
8
20
|
"""
|
|
9
21
|
A workflow for select words tasks.
|
|
10
22
|
|
|
11
|
-
This class represents a select words workflow
|
|
23
|
+
This class represents a select words workflow
|
|
12
24
|
where datapoints have a sentence attached to them where words can be selected.
|
|
13
25
|
|
|
14
26
|
Attributes:
|
|
@@ -18,17 +30,45 @@ class SelectWordsWorkflow(Workflow):
|
|
|
18
30
|
instruction (str): The instruction to be provided for the select words task.
|
|
19
31
|
"""
|
|
20
32
|
|
|
33
|
+
modality = RapidModality.TRANSCRIPTION
|
|
34
|
+
|
|
21
35
|
def __init__(self, instruction: str):
|
|
22
36
|
super().__init__(type="SimpleWorkflowConfig")
|
|
23
37
|
self._instruction = instruction
|
|
24
38
|
|
|
25
|
-
def
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
39
|
+
def _get_instruction(self) -> str:
|
|
40
|
+
return self._instruction
|
|
41
|
+
|
|
42
|
+
def _to_model(self) -> IOrderWorkflowModel:
|
|
43
|
+
blueprint = IRapidBlueprintTranscriptionRapidBlueprint(
|
|
44
|
+
_t="TranscriptionBlueprint", title=self._instruction
|
|
29
45
|
)
|
|
30
46
|
|
|
31
|
-
return
|
|
32
|
-
|
|
33
|
-
|
|
47
|
+
return IOrderWorkflowModel(
|
|
48
|
+
actual_instance=IOrderWorkflowModelSimpleWorkflowModel(
|
|
49
|
+
_t="SimpleWorkflow",
|
|
50
|
+
blueprint=IRapidBlueprint(actual_instance=blueprint),
|
|
51
|
+
)
|
|
34
52
|
)
|
|
53
|
+
|
|
54
|
+
def _to_payload(self, datapoint: Datapoint) -> IRapidPayload:
|
|
55
|
+
assert (
|
|
56
|
+
datapoint.sentence is not None
|
|
57
|
+
), "SelectWordsWorkflow requires a sentence datapoint"
|
|
58
|
+
|
|
59
|
+
return IRapidPayload(
|
|
60
|
+
actual_instance=IRapidPayloadTranscriptionPayload(
|
|
61
|
+
_t="TranscriptionPayload",
|
|
62
|
+
title=self._instruction,
|
|
63
|
+
transcription=[
|
|
64
|
+
TranscriptionWord(word=word, wordIndex=i)
|
|
65
|
+
for i, word in enumerate(datapoint.sentence.split())
|
|
66
|
+
],
|
|
67
|
+
)
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
def __str__(self) -> str:
|
|
71
|
+
return f"SelectWordsWorkflow(instruction='{self._instruction}')"
|
|
72
|
+
|
|
73
|
+
def __repr__(self) -> str:
|
|
74
|
+
return f"SelectWordsWorkflow(instruction={self._instruction!r})"
|
|
@@ -1,14 +1,25 @@
|
|
|
1
|
-
from rapidata.api_client.models.
|
|
2
|
-
from rapidata.api_client.models.
|
|
3
|
-
|
|
1
|
+
from rapidata.api_client.models.i_order_workflow_model import IOrderWorkflowModel
|
|
2
|
+
from rapidata.api_client.models.i_order_workflow_model_simple_workflow_model import (
|
|
3
|
+
IOrderWorkflowModelSimpleWorkflowModel,
|
|
4
|
+
)
|
|
5
|
+
from rapidata.api_client.models.i_rapid_blueprint import IRapidBlueprint
|
|
6
|
+
from rapidata.api_client.models.i_rapid_blueprint_scrub_rapid_blueprint import (
|
|
7
|
+
IRapidBlueprintScrubRapidBlueprint,
|
|
8
|
+
)
|
|
4
9
|
from rapidata.rapidata_client.workflow._base_workflow import Workflow
|
|
10
|
+
from rapidata.api_client.models.i_rapid_payload_scrub_payload import (
|
|
11
|
+
IRapidPayloadScrubPayload,
|
|
12
|
+
)
|
|
13
|
+
from rapidata.rapidata_client.datapoints._datapoint import Datapoint
|
|
14
|
+
from rapidata.api_client.models.rapid_modality import RapidModality
|
|
15
|
+
from rapidata.api_client.models.i_rapid_payload import IRapidPayload
|
|
5
16
|
|
|
6
17
|
|
|
7
18
|
class TimestampWorkflow(Workflow):
|
|
8
19
|
"""
|
|
9
20
|
A workflow for timestamp tasks.
|
|
10
21
|
|
|
11
|
-
This class represents a timestamp workflow
|
|
22
|
+
This class represents a timestamp workflow
|
|
12
23
|
where audio or video content receives timestamps based on the instruction.
|
|
13
24
|
|
|
14
25
|
Attributes:
|
|
@@ -18,17 +29,37 @@ class TimestampWorkflow(Workflow):
|
|
|
18
29
|
instruction (str): The instruction to be provided for the timestamp task.
|
|
19
30
|
"""
|
|
20
31
|
|
|
32
|
+
modality = RapidModality.SCRUB
|
|
33
|
+
|
|
21
34
|
def __init__(self, instruction: str):
|
|
22
35
|
super().__init__(type="SimpleWorkflowConfig")
|
|
23
36
|
self._instruction = instruction
|
|
24
37
|
|
|
25
|
-
def
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
38
|
+
def _get_instruction(self) -> str:
|
|
39
|
+
return self._instruction
|
|
40
|
+
|
|
41
|
+
def _to_model(self) -> IOrderWorkflowModel:
|
|
42
|
+
blueprint = IRapidBlueprintScrubRapidBlueprint(
|
|
43
|
+
_t="ScrubBlueprint", target=self._instruction
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
return IOrderWorkflowModel(
|
|
47
|
+
actual_instance=IOrderWorkflowModelSimpleWorkflowModel(
|
|
48
|
+
_t="SimpleWorkflow",
|
|
49
|
+
blueprint=IRapidBlueprint(actual_instance=blueprint),
|
|
50
|
+
)
|
|
29
51
|
)
|
|
30
52
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
53
|
+
def _to_payload(self, datapoint: Datapoint) -> IRapidPayload:
|
|
54
|
+
return IRapidPayload(
|
|
55
|
+
actual_instance=IRapidPayloadScrubPayload(
|
|
56
|
+
_t="ScrubPayload",
|
|
57
|
+
target=self._instruction,
|
|
58
|
+
)
|
|
34
59
|
)
|
|
60
|
+
|
|
61
|
+
def __str__(self) -> str:
|
|
62
|
+
return f"TimestampWorkflow(instruction='{self._instruction}')"
|
|
63
|
+
|
|
64
|
+
def __repr__(self) -> str:
|
|
65
|
+
return f"TimestampWorkflow(instruction={self._instruction!r})"
|
rapidata/service/__init__.py
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
from .local_file_service import LocalFileService as LocalFileService
|
|
@@ -11,7 +11,7 @@ from typing import Dict, List, Optional, Tuple
|
|
|
11
11
|
import requests
|
|
12
12
|
from colorama import Fore
|
|
13
13
|
from pydantic import BaseModel
|
|
14
|
-
from rapidata.rapidata_client.
|
|
14
|
+
from rapidata.rapidata_client.config import logger, managed_print
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
class ClientCredential(BaseModel):
|
|
@@ -52,7 +52,7 @@ class CredentialManager:
|
|
|
52
52
|
|
|
53
53
|
def _read_credentials(self) -> Dict[str, List[ClientCredential]]:
|
|
54
54
|
"""Read all stored credentials from the config file."""
|
|
55
|
-
logger.debug(
|
|
55
|
+
logger.debug("Reading credentials from %s", self.config_path)
|
|
56
56
|
if not self.config_path.exists():
|
|
57
57
|
return {}
|
|
58
58
|
|
|
@@ -77,12 +77,12 @@ class CredentialManager:
|
|
|
77
77
|
with open(self.config_path, "w") as f:
|
|
78
78
|
json.dump(data, f, indent=2)
|
|
79
79
|
|
|
80
|
-
logger.debug(
|
|
80
|
+
logger.debug("Credentials written to %s with data: %s", self.config_path, data)
|
|
81
81
|
|
|
82
82
|
# Ensure file is only readable by the user
|
|
83
83
|
os.chmod(self.config_path, 0o600)
|
|
84
84
|
logger.debug(
|
|
85
|
-
|
|
85
|
+
"Set permissions for %s to read/write for user only.", self.config_path
|
|
86
86
|
)
|
|
87
87
|
|
|
88
88
|
def _store_credential(self, credential: ClientCredential) -> None:
|
|
@@ -109,19 +109,19 @@ class CredentialManager:
|
|
|
109
109
|
def get_client_credentials(self) -> Optional[ClientCredential]:
|
|
110
110
|
"""Gets stored client credentials or create new ones via browser auth."""
|
|
111
111
|
credentials = self._read_credentials()
|
|
112
|
-
logger.debug(
|
|
112
|
+
logger.debug("Stored credentials: %s", credentials)
|
|
113
113
|
env_credentials = credentials.get(self.endpoint, [])
|
|
114
114
|
|
|
115
115
|
if env_credentials:
|
|
116
|
-
logger.debug(
|
|
116
|
+
logger.debug("Found credentials for %s: %s", self.endpoint, env_credentials)
|
|
117
117
|
credential = self._select_credential(env_credentials)
|
|
118
|
-
logger.debug(
|
|
118
|
+
logger.debug("Selected credential: %s", credential)
|
|
119
119
|
if credential:
|
|
120
120
|
credential.last_used = datetime.now(timezone.utc)
|
|
121
121
|
self._write_credentials(credentials)
|
|
122
122
|
return credential
|
|
123
123
|
|
|
124
|
-
logger.debug(
|
|
124
|
+
logger.debug("No credentials found for %s. Creating new ones.", self.endpoint)
|
|
125
125
|
return self._create_new_credentials()
|
|
126
126
|
|
|
127
127
|
def reset_credentials(self) -> None:
|
|
@@ -130,7 +130,7 @@ class CredentialManager:
|
|
|
130
130
|
if self.endpoint in credentials:
|
|
131
131
|
del credentials[self.endpoint]
|
|
132
132
|
self._write_credentials(credentials)
|
|
133
|
-
logger.info(
|
|
133
|
+
logger.info("Credentials for %s have been reset.", self.endpoint)
|
|
134
134
|
|
|
135
135
|
def _get_bridge_tokens(self) -> Optional[BridgeToken]:
|
|
136
136
|
"""Get bridge tokens from the identity endpoint."""
|
|
@@ -141,13 +141,13 @@ class CredentialManager:
|
|
|
141
141
|
)
|
|
142
142
|
response = requests.post(bridge_endpoint, verify=self.cert_path)
|
|
143
143
|
if not response.ok:
|
|
144
|
-
logger.error(
|
|
144
|
+
logger.error("Failed to get bridge tokens: %s", response.status_code)
|
|
145
145
|
return None
|
|
146
146
|
|
|
147
147
|
data = response.json()
|
|
148
148
|
return BridgeToken(read_key=data["readKey"], write_key=data["writeKey"])
|
|
149
149
|
except requests.RequestException as e:
|
|
150
|
-
logger.error(
|
|
150
|
+
logger.error("Failed to get bridge tokens: %s", e)
|
|
151
151
|
return None
|
|
152
152
|
|
|
153
153
|
def _poll_read_key(self, read_key: str) -> Optional[str]:
|
|
@@ -169,11 +169,11 @@ class CredentialManager:
|
|
|
169
169
|
continue
|
|
170
170
|
else:
|
|
171
171
|
# Error occurred
|
|
172
|
-
logger.error(
|
|
172
|
+
logger.error("Error polling read key: %s", response.status_code)
|
|
173
173
|
return None
|
|
174
174
|
|
|
175
175
|
except requests.RequestException as e:
|
|
176
|
-
logger.error(
|
|
176
|
+
logger.error("Error polling read key: %s", e)
|
|
177
177
|
return None
|
|
178
178
|
|
|
179
179
|
logger.error("Polling timed out")
|
|
@@ -198,7 +198,7 @@ class CredentialManager:
|
|
|
198
198
|
data = response.json()
|
|
199
199
|
return data.get("clientId"), data.get("clientSecret"), display_name
|
|
200
200
|
except requests.RequestException as e:
|
|
201
|
-
logger.error(
|
|
201
|
+
logger.error("Failed to create client: %s", e)
|
|
202
202
|
return None
|
|
203
203
|
|
|
204
204
|
def _create_new_credentials(self) -> Optional[ClientCredential]:
|
|
@@ -1,30 +1,38 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
1
3
|
import subprocess
|
|
2
4
|
from importlib.metadata import version, PackageNotFoundError
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
3
6
|
|
|
4
|
-
from rapidata.api_client.api.campaign_api import CampaignApi
|
|
5
|
-
from rapidata.api_client.api.dataset_api import DatasetApi
|
|
6
|
-
from rapidata.api_client.api.order_api import OrderApi
|
|
7
|
-
from rapidata.api_client.api.pipeline_api import PipelineApi
|
|
8
|
-
from rapidata.api_client.api.rapid_api import RapidApi
|
|
9
|
-
from rapidata.api_client.api.leaderboard_api import LeaderboardApi
|
|
10
|
-
from rapidata.api_client.api.validation_set_api import ValidationSetApi
|
|
11
|
-
from rapidata.api_client.api.workflow_api import WorkflowApi
|
|
12
7
|
from rapidata.api_client.configuration import Configuration
|
|
13
8
|
from rapidata.service.credential_manager import CredentialManager
|
|
14
|
-
from rapidata.rapidata_client.api.
|
|
15
|
-
from rapidata.rapidata_client.
|
|
9
|
+
from rapidata.rapidata_client.api.rapidata_api_client import RapidataApiClient
|
|
10
|
+
from rapidata.rapidata_client.config import logger
|
|
11
|
+
|
|
12
|
+
if TYPE_CHECKING:
|
|
13
|
+
from rapidata.api_client import CustomerRapidApi
|
|
14
|
+
from rapidata.api_client.api.campaign_api import CampaignApi
|
|
15
|
+
from rapidata.api_client.api.asset_api import AssetApi
|
|
16
|
+
from rapidata.api_client.api.dataset_api import DatasetApi
|
|
17
|
+
from rapidata.api_client.api.benchmark_api import BenchmarkApi
|
|
18
|
+
from rapidata.api_client.api.order_api import OrderApi
|
|
19
|
+
from rapidata.api_client.api.pipeline_api import PipelineApi
|
|
20
|
+
from rapidata.api_client.api.leaderboard_api import LeaderboardApi
|
|
21
|
+
from rapidata.api_client.api.validation_set_api import ValidationSetApi
|
|
22
|
+
from rapidata.api_client.api.workflow_api import WorkflowApi
|
|
23
|
+
from rapidata.api_client.api.participant_api import ParticipantApi
|
|
16
24
|
|
|
17
25
|
|
|
18
26
|
class OpenAPIService:
|
|
19
27
|
def __init__(
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
self,
|
|
29
|
+
client_id: str | None,
|
|
30
|
+
client_secret: str | None,
|
|
31
|
+
environment: str,
|
|
32
|
+
oauth_scope: str,
|
|
33
|
+
cert_path: str | None = None,
|
|
34
|
+
token: dict | None = None,
|
|
35
|
+
leeway: int = 60,
|
|
28
36
|
):
|
|
29
37
|
self.environment = environment
|
|
30
38
|
endpoint = f"https://api.{environment}"
|
|
@@ -33,7 +41,12 @@ class OpenAPIService:
|
|
|
33
41
|
if environment == "rapidata.dev" and not cert_path:
|
|
34
42
|
cert_path = _get_local_certificate()
|
|
35
43
|
|
|
36
|
-
logger.debug(
|
|
44
|
+
logger.debug(
|
|
45
|
+
"Using cert_path: %s environment: %s client_id: %s",
|
|
46
|
+
cert_path,
|
|
47
|
+
environment,
|
|
48
|
+
client_id,
|
|
49
|
+
)
|
|
37
50
|
logger.debug("Initializing OpenAPIService")
|
|
38
51
|
self.credential_manager = CredentialManager(
|
|
39
52
|
endpoint=auth_endpoint, cert_path=cert_path
|
|
@@ -42,7 +55,7 @@ class OpenAPIService:
|
|
|
42
55
|
|
|
43
56
|
logger.debug("Initializing RapidataApiClient")
|
|
44
57
|
client_configuration = Configuration(host=endpoint, ssl_ca_cert=cert_path)
|
|
45
|
-
logger.debug(
|
|
58
|
+
logger.debug("Client configuration: %s", client_configuration)
|
|
46
59
|
self.api_client = RapidataApiClient(
|
|
47
60
|
configuration=client_configuration,
|
|
48
61
|
header_name="X-Client",
|
|
@@ -63,7 +76,9 @@ class OpenAPIService:
|
|
|
63
76
|
return
|
|
64
77
|
|
|
65
78
|
if not client_id or not client_secret:
|
|
66
|
-
logger.debug(
|
|
79
|
+
logger.debug(
|
|
80
|
+
"Client ID and secret not provided, fetching from credential manager"
|
|
81
|
+
)
|
|
67
82
|
credentials = self.credential_manager.get_client_credentials()
|
|
68
83
|
if not credentials:
|
|
69
84
|
raise ValueError("Failed to fetch client credentials")
|
|
@@ -83,36 +98,70 @@ class OpenAPIService:
|
|
|
83
98
|
|
|
84
99
|
@property
|
|
85
100
|
def order_api(self) -> OrderApi:
|
|
101
|
+
from rapidata.api_client.api.order_api import OrderApi
|
|
102
|
+
|
|
86
103
|
return OrderApi(self.api_client)
|
|
87
104
|
|
|
105
|
+
@property
|
|
106
|
+
def asset_api(self) -> AssetApi:
|
|
107
|
+
from rapidata.api_client.api.asset_api import AssetApi
|
|
108
|
+
|
|
109
|
+
return AssetApi(self.api_client)
|
|
110
|
+
|
|
88
111
|
@property
|
|
89
112
|
def dataset_api(self) -> DatasetApi:
|
|
113
|
+
from rapidata.api_client.api.dataset_api import DatasetApi
|
|
114
|
+
|
|
90
115
|
return DatasetApi(self.api_client)
|
|
91
116
|
|
|
92
117
|
@property
|
|
93
118
|
def validation_api(self) -> ValidationSetApi:
|
|
119
|
+
from rapidata.api_client.api.validation_set_api import ValidationSetApi
|
|
120
|
+
|
|
94
121
|
return ValidationSetApi(self.api_client)
|
|
95
122
|
|
|
96
123
|
@property
|
|
97
|
-
def rapid_api(self) ->
|
|
98
|
-
|
|
124
|
+
def rapid_api(self) -> CustomerRapidApi:
|
|
125
|
+
from rapidata.api_client.api.customer_rapid_api import CustomerRapidApi
|
|
126
|
+
|
|
127
|
+
return CustomerRapidApi(self.api_client)
|
|
99
128
|
|
|
100
129
|
@property
|
|
101
130
|
def campaign_api(self) -> CampaignApi:
|
|
131
|
+
from rapidata.api_client.api.campaign_api import CampaignApi
|
|
132
|
+
|
|
102
133
|
return CampaignApi(self.api_client)
|
|
103
134
|
|
|
104
135
|
@property
|
|
105
136
|
def pipeline_api(self) -> PipelineApi:
|
|
137
|
+
from rapidata.api_client.api.pipeline_api import PipelineApi
|
|
138
|
+
|
|
106
139
|
return PipelineApi(self.api_client)
|
|
107
140
|
|
|
108
141
|
@property
|
|
109
142
|
def workflow_api(self) -> WorkflowApi:
|
|
143
|
+
from rapidata.api_client.api.workflow_api import WorkflowApi
|
|
144
|
+
|
|
110
145
|
return WorkflowApi(self.api_client)
|
|
111
|
-
|
|
146
|
+
|
|
112
147
|
@property
|
|
113
148
|
def leaderboard_api(self) -> LeaderboardApi:
|
|
149
|
+
from rapidata.api_client.api.leaderboard_api import LeaderboardApi
|
|
150
|
+
|
|
114
151
|
return LeaderboardApi(self.api_client)
|
|
115
152
|
|
|
153
|
+
@property
|
|
154
|
+
def benchmark_api(self) -> BenchmarkApi:
|
|
155
|
+
from rapidata.api_client.api.benchmark_api import BenchmarkApi
|
|
156
|
+
|
|
157
|
+
return BenchmarkApi(self.api_client)
|
|
158
|
+
|
|
159
|
+
@property
|
|
160
|
+
def participant_api(self) -> ParticipantApi:
|
|
161
|
+
from rapidata.api_client.api.participant_api import ParticipantApi
|
|
162
|
+
|
|
163
|
+
return ParticipantApi(self.api_client)
|
|
164
|
+
|
|
116
165
|
def _get_rapidata_package_version(self):
|
|
117
166
|
"""
|
|
118
167
|
Returns the version of the currently installed rapidata package.
|
|
@@ -126,6 +175,12 @@ class OpenAPIService:
|
|
|
126
175
|
except PackageNotFoundError:
|
|
127
176
|
return None
|
|
128
177
|
|
|
178
|
+
def __repr__(self) -> str:
|
|
179
|
+
return self.__str__()
|
|
180
|
+
|
|
181
|
+
def __str__(self) -> str:
|
|
182
|
+
return f"OpenAPIService(environment={self.environment})"
|
|
183
|
+
|
|
129
184
|
|
|
130
185
|
def _get_local_certificate() -> str | None:
|
|
131
186
|
result = subprocess.run(["mkcert", "-CAROOT"], capture_output=True)
|