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,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,11 +77,13 @@ 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
|
-
logger.debug(
|
|
84
|
+
logger.debug(
|
|
85
|
+
"Set permissions for %s to read/write for user only.", self.config_path
|
|
86
|
+
)
|
|
85
87
|
|
|
86
88
|
def _store_credential(self, credential: ClientCredential) -> None:
|
|
87
89
|
credentials = self._read_credentials()
|
|
@@ -107,19 +109,19 @@ class CredentialManager:
|
|
|
107
109
|
def get_client_credentials(self) -> Optional[ClientCredential]:
|
|
108
110
|
"""Gets stored client credentials or create new ones via browser auth."""
|
|
109
111
|
credentials = self._read_credentials()
|
|
110
|
-
logger.debug(
|
|
112
|
+
logger.debug("Stored credentials: %s", credentials)
|
|
111
113
|
env_credentials = credentials.get(self.endpoint, [])
|
|
112
114
|
|
|
113
115
|
if env_credentials:
|
|
114
|
-
logger.debug(
|
|
116
|
+
logger.debug("Found credentials for %s: %s", self.endpoint, env_credentials)
|
|
115
117
|
credential = self._select_credential(env_credentials)
|
|
116
|
-
logger.debug(
|
|
118
|
+
logger.debug("Selected credential: %s", credential)
|
|
117
119
|
if credential:
|
|
118
120
|
credential.last_used = datetime.now(timezone.utc)
|
|
119
121
|
self._write_credentials(credentials)
|
|
120
122
|
return credential
|
|
121
123
|
|
|
122
|
-
logger.debug(
|
|
124
|
+
logger.debug("No credentials found for %s. Creating new ones.", self.endpoint)
|
|
123
125
|
return self._create_new_credentials()
|
|
124
126
|
|
|
125
127
|
def reset_credentials(self) -> None:
|
|
@@ -128,31 +130,29 @@ class CredentialManager:
|
|
|
128
130
|
if self.endpoint in credentials:
|
|
129
131
|
del credentials[self.endpoint]
|
|
130
132
|
self._write_credentials(credentials)
|
|
131
|
-
logger.info(
|
|
132
|
-
f"Credentials for {self.endpoint} have been reset."
|
|
133
|
-
)
|
|
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."""
|
|
137
137
|
logger.debug("Getting bridge tokens")
|
|
138
138
|
try:
|
|
139
139
|
bridge_endpoint = (
|
|
140
|
-
f"{self.endpoint}/
|
|
140
|
+
f"{self.endpoint}/identity/bridge-token?clientId=rapidata-cli"
|
|
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]:
|
|
154
154
|
"""Poll the read key endpoint until we get an access token."""
|
|
155
|
-
read_endpoint = f"{self.endpoint}/
|
|
155
|
+
read_endpoint = f"{self.endpoint}/identity/bridge-token"
|
|
156
156
|
start_time = time.time()
|
|
157
157
|
|
|
158
158
|
while time.time() - start_time < self.poll_timeout:
|
|
@@ -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,29 +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.validation_set_api import ValidationSetApi
|
|
10
|
-
from rapidata.api_client.api.workflow_api import WorkflowApi
|
|
11
7
|
from rapidata.api_client.configuration import Configuration
|
|
12
8
|
from rapidata.service.credential_manager import CredentialManager
|
|
13
|
-
from rapidata.rapidata_client.api.
|
|
14
|
-
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
|
|
15
24
|
|
|
16
25
|
|
|
17
26
|
class OpenAPIService:
|
|
18
27
|
def __init__(
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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,
|
|
27
36
|
):
|
|
28
37
|
self.environment = environment
|
|
29
38
|
endpoint = f"https://api.{environment}"
|
|
@@ -32,7 +41,12 @@ class OpenAPIService:
|
|
|
32
41
|
if environment == "rapidata.dev" and not cert_path:
|
|
33
42
|
cert_path = _get_local_certificate()
|
|
34
43
|
|
|
35
|
-
logger.debug(
|
|
44
|
+
logger.debug(
|
|
45
|
+
"Using cert_path: %s environment: %s client_id: %s",
|
|
46
|
+
cert_path,
|
|
47
|
+
environment,
|
|
48
|
+
client_id,
|
|
49
|
+
)
|
|
36
50
|
logger.debug("Initializing OpenAPIService")
|
|
37
51
|
self.credential_manager = CredentialManager(
|
|
38
52
|
endpoint=auth_endpoint, cert_path=cert_path
|
|
@@ -41,7 +55,7 @@ class OpenAPIService:
|
|
|
41
55
|
|
|
42
56
|
logger.debug("Initializing RapidataApiClient")
|
|
43
57
|
client_configuration = Configuration(host=endpoint, ssl_ca_cert=cert_path)
|
|
44
|
-
logger.debug(
|
|
58
|
+
logger.debug("Client configuration: %s", client_configuration)
|
|
45
59
|
self.api_client = RapidataApiClient(
|
|
46
60
|
configuration=client_configuration,
|
|
47
61
|
header_name="X-Client",
|
|
@@ -62,7 +76,9 @@ class OpenAPIService:
|
|
|
62
76
|
return
|
|
63
77
|
|
|
64
78
|
if not client_id or not client_secret:
|
|
65
|
-
logger.debug(
|
|
79
|
+
logger.debug(
|
|
80
|
+
"Client ID and secret not provided, fetching from credential manager"
|
|
81
|
+
)
|
|
66
82
|
credentials = self.credential_manager.get_client_credentials()
|
|
67
83
|
if not credentials:
|
|
68
84
|
raise ValueError("Failed to fetch client credentials")
|
|
@@ -82,32 +98,70 @@ class OpenAPIService:
|
|
|
82
98
|
|
|
83
99
|
@property
|
|
84
100
|
def order_api(self) -> OrderApi:
|
|
101
|
+
from rapidata.api_client.api.order_api import OrderApi
|
|
102
|
+
|
|
85
103
|
return OrderApi(self.api_client)
|
|
86
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
|
+
|
|
87
111
|
@property
|
|
88
112
|
def dataset_api(self) -> DatasetApi:
|
|
113
|
+
from rapidata.api_client.api.dataset_api import DatasetApi
|
|
114
|
+
|
|
89
115
|
return DatasetApi(self.api_client)
|
|
90
116
|
|
|
91
117
|
@property
|
|
92
118
|
def validation_api(self) -> ValidationSetApi:
|
|
119
|
+
from rapidata.api_client.api.validation_set_api import ValidationSetApi
|
|
120
|
+
|
|
93
121
|
return ValidationSetApi(self.api_client)
|
|
94
122
|
|
|
95
123
|
@property
|
|
96
|
-
def rapid_api(self) ->
|
|
97
|
-
|
|
124
|
+
def rapid_api(self) -> CustomerRapidApi:
|
|
125
|
+
from rapidata.api_client.api.customer_rapid_api import CustomerRapidApi
|
|
126
|
+
|
|
127
|
+
return CustomerRapidApi(self.api_client)
|
|
98
128
|
|
|
99
129
|
@property
|
|
100
130
|
def campaign_api(self) -> CampaignApi:
|
|
131
|
+
from rapidata.api_client.api.campaign_api import CampaignApi
|
|
132
|
+
|
|
101
133
|
return CampaignApi(self.api_client)
|
|
102
134
|
|
|
103
135
|
@property
|
|
104
136
|
def pipeline_api(self) -> PipelineApi:
|
|
137
|
+
from rapidata.api_client.api.pipeline_api import PipelineApi
|
|
138
|
+
|
|
105
139
|
return PipelineApi(self.api_client)
|
|
106
140
|
|
|
107
141
|
@property
|
|
108
142
|
def workflow_api(self) -> WorkflowApi:
|
|
143
|
+
from rapidata.api_client.api.workflow_api import WorkflowApi
|
|
144
|
+
|
|
109
145
|
return WorkflowApi(self.api_client)
|
|
110
146
|
|
|
147
|
+
@property
|
|
148
|
+
def leaderboard_api(self) -> LeaderboardApi:
|
|
149
|
+
from rapidata.api_client.api.leaderboard_api import LeaderboardApi
|
|
150
|
+
|
|
151
|
+
return LeaderboardApi(self.api_client)
|
|
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
|
+
|
|
111
165
|
def _get_rapidata_package_version(self):
|
|
112
166
|
"""
|
|
113
167
|
Returns the version of the currently installed rapidata package.
|
|
@@ -121,6 +175,12 @@ class OpenAPIService:
|
|
|
121
175
|
except PackageNotFoundError:
|
|
122
176
|
return None
|
|
123
177
|
|
|
178
|
+
def __repr__(self) -> str:
|
|
179
|
+
return self.__str__()
|
|
180
|
+
|
|
181
|
+
def __str__(self) -> str:
|
|
182
|
+
return f"OpenAPIService(environment={self.environment})"
|
|
183
|
+
|
|
124
184
|
|
|
125
185
|
def _get_local_certificate() -> str | None:
|
|
126
186
|
result = subprocess.run(["mkcert", "-CAROOT"], capture_output=True)
|