rapidata 2.35.1__py3-none-any.whl → 3.0.0a8__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 +25 -16
- rapidata/api_client/__init__.py +84 -408
- rapidata/api_client/api/__init__.py +6 -2
- rapidata/api_client/api/asset_api.py +853 -0
- rapidata/api_client/api/audience_api.py +2505 -0
- rapidata/api_client/api/benchmark_api.py +904 -245
- rapidata/api_client/api/campaign_api.py +582 -24
- rapidata/api_client/api/client_api.py +38 -33
- rapidata/api_client/api/compare_workflow_api.py +11 -10
- rapidata/api_client/api/customer_rapid_api.py +364 -123
- rapidata/api_client/api/datapoint_api.py +8 -6
- rapidata/api_client/api/dataset_api.py +240 -1516
- rapidata/api_client/api/evaluation_workflow_api.py +29 -82
- rapidata/api_client/api/feedback_api.py +11 -11
- rapidata/api_client/api/grouped_ranking_workflow_api.py +319 -0
- rapidata/api_client/api/identity_api.py +26 -300
- rapidata/api_client/api/job_api.py +3902 -0
- rapidata/api_client/api/job_definition_api.py +319 -0
- rapidata/api_client/api/job_revision_api.py +335 -0
- rapidata/api_client/api/leaderboard_api.py +140 -2067
- rapidata/api_client/api/newsletter_api.py +20 -19
- rapidata/api_client/api/order_api.py +375 -91
- rapidata/api_client/api/participant_api.py +80 -118
- rapidata/api_client/api/pipeline_api.py +24 -1480
- rapidata/api_client/api/prompt_api.py +11 -11
- 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 +377 -1835
- rapidata/api_client/api/workflow_api.py +32 -26
- 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 -382
- rapidata/api_client/models/ab_test_selection_a_inner.py +1 -1
- rapidata/api_client/models/add_rapid_to_audience_model.py +144 -0
- rapidata/api_client/models/add_user_response_result.py +10 -5
- rapidata/api_client/models/add_validation_rapid_model.py +49 -26
- 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/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/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_job_state.py +38 -0
- rapidata/api_client/models/audience_status.py +39 -0
- rapidata/api_client/models/benchmark_query_result.py +5 -3
- rapidata/api_client/models/boost_leaderboard_model.py +5 -5
- 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 +91 -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 +4 -4
- 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_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 +6 -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 +122 -0
- rapidata/api_client/models/create_audience_result.py +87 -0
- rapidata/api_client/models/create_benchmark_model.py +5 -5
- rapidata/api_client/models/create_benchmark_participant_model.py +5 -5
- rapidata/api_client/models/create_benchmark_participant_result.py +4 -4
- rapidata/api_client/models/create_benchmark_prompt_result.py +87 -0
- rapidata/api_client/models/create_benchmark_result.py +2 -2
- 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 +2 -2
- 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 +124 -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 +2 -2
- rapidata/api_client/models/create_dataset_endpoint_input.py +87 -0
- rapidata/api_client/models/create_dataset_endpoint_output.py +87 -0
- rapidata/api_client/models/create_demographic_rapid_model.py +45 -7
- rapidata/api_client/models/create_demographic_rapid_model_asset.py +160 -0
- rapidata/api_client/models/create_demographic_rapid_model_context_asset.py +160 -0
- rapidata/api_client/models/create_demographic_rapid_model_new.py +119 -0
- rapidata/api_client/models/create_empty_validation_set_result.py +2 -2
- rapidata/api_client/models/create_job_definition_endpoint_input.py +119 -0
- rapidata/api_client/models/create_job_definition_endpoint_output.py +89 -0
- rapidata/api_client/models/create_job_endpoint_input.py +100 -0
- rapidata/api_client/models/create_job_endpoint_output.py +89 -0
- rapidata/api_client/models/create_job_revision_endpoint_input.py +127 -0
- rapidata/api_client/models/create_job_revision_endpoint_output.py +89 -0
- rapidata/api_client/models/create_leaderboard_model.py +42 -15
- rapidata/api_client/models/create_leaderboard_result.py +2 -2
- rapidata/api_client/models/create_order_definition_model.py +119 -0
- rapidata/api_client/models/create_order_definition_result.py +87 -0
- rapidata/api_client/models/create_order_definition_revision_model.py +117 -0
- rapidata/api_client/models/create_order_definition_revision_result.py +87 -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 +2 -2
- rapidata/api_client/models/create_rapid_result.py +2 -2
- rapidata/api_client/models/create_sample_model.py +13 -7
- 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/definition_type.py +49 -0
- 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 +109 -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_file.py +8 -22
- rapidata/api_client/models/file_asset_metadata_value.py +252 -0
- rapidata/api_client/models/file_asset_model_metadata_value.py +18 -88
- rapidata/api_client/models/file_stream_result.py +122 -0
- rapidata/api_client/models/file_type.py +2 -2
- rapidata/api_client/models/file_type_metadata.py +11 -6
- rapidata/api_client/models/file_type_metadata_model.py +2 -8
- rapidata/api_client/models/filter.py +7 -25
- rapidata/api_client/models/filter_operator.py +2 -2
- rapidata/api_client/models/fork_benchmark_result.py +87 -0
- rapidata/api_client/models/form_file_wrapper.py +17 -2
- 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 +118 -0
- rapidata/api_client/models/get_available_validation_sets_result.py +2 -2
- rapidata/api_client/models/get_benchmark_by_id_result.py +8 -4
- 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_job_by_id_endpoint_output.py +130 -0
- rapidata/api_client/models/get_job_definition_by_id_endpoint_output.py +95 -0
- rapidata/api_client/models/get_job_revision_endpoint_output.py +133 -0
- rapidata/api_client/models/get_leaderboard_by_id_result.py +31 -4
- rapidata/api_client/models/get_order_by_id_result.py +12 -5
- rapidata/api_client/models/get_participant_by_id_result.py +4 -6
- 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 +6 -14
- 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_audience_filter.py +184 -0
- rapidata/api_client/models/i_audience_filter_and_audience_filter.py +106 -0
- rapidata/api_client/models/i_audience_filter_country_audience_filter.py +96 -0
- rapidata/api_client/models/i_audience_filter_country_filter.py +96 -0
- rapidata/api_client/models/i_audience_filter_language_audience_filter.py +96 -0
- rapidata/api_client/models/i_audience_filter_language_filter.py +96 -0
- rapidata/api_client/models/i_audience_filter_not_audience_filter.py +102 -0
- rapidata/api_client/models/i_audience_filter_or_audience_filter.py +106 -0
- rapidata/api_client/models/i_campaign_filter.py +296 -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_campaign_session_count_filter.py +101 -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_device_filter.py +106 -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_duration_metadata.py +110 -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 +105 -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 +105 -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 +296 -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_device_user_filter_model.py +104 -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 +108 -0
- rapidata/api_client/models/i_validation_truth_model.py +294 -0
- rapidata/api_client/models/i_validation_truth_model_attach_category_truth_model.py +96 -0
- rapidata/api_client/models/i_validation_truth_model_bounding_box_truth_model.py +102 -0
- rapidata/api_client/models/i_validation_truth_model_classify_truth_model.py +96 -0
- rapidata/api_client/models/i_validation_truth_model_compare_truth_model.py +96 -0
- rapidata/api_client/models/i_validation_truth_model_empty_validation_truth_model.py +94 -0
- rapidata/api_client/models/i_validation_truth_model_line_truth_model.py +94 -0
- rapidata/api_client/models/i_validation_truth_model_locate_box_truth_model.py +108 -0
- rapidata/api_client/models/i_validation_truth_model_multi_compare_truth_model.py +96 -0
- rapidata/api_client/models/i_validation_truth_model_named_entity_truth_model.py +104 -0
- rapidata/api_client/models/i_validation_truth_model_polygon_truth_model.py +94 -0
- rapidata/api_client/models/i_validation_truth_model_scrub_truth_model.py +104 -0
- rapidata/api_client/models/i_validation_truth_model_skip_truth_model.py +94 -0
- rapidata/api_client/models/i_validation_truth_model_transcription_truth_model.py +115 -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/job_definition_revision_state.py +38 -0
- 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 +29 -2
- 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/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 +21 -1
- rapidata/api_client/models/multi_asset_input1_assets_inner.py +40 -12
- rapidata/api_client/models/multi_asset_input3_assets_inner.py +40 -12
- rapidata/api_client/models/multi_asset_input_assets_inner.py +16 -30
- 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/null_asset.py +3 -5
- rapidata/api_client/models/online_pair_maker_config_model.py +3 -3
- rapidata/api_client/models/option_of_aggregator_type.py +49 -0
- rapidata/api_client/models/or_filter.py +121 -0
- 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_job_definitions_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_job_revisions_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_jobs_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_rapids_for_audience_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 +6 -14
- rapidata/api_client/models/participant_status.py +2 -2
- 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/preliminary_download_model.py +5 -5
- rapidata/api_client/models/preview_order_model.py +5 -5
- rapidata/api_client/models/problem_details.py +2 -20
- rapidata/api_client/models/prompt_asset_metadata_input.py +4 -6
- rapidata/api_client/models/prompt_asset_metadata_input_asset.py +25 -41
- rapidata/api_client/models/prompt_by_benchmark_result.py +5 -5
- rapidata/api_client/models/prompt_metadata.py +12 -1
- rapidata/api_client/models/prompt_metadata_input.py +5 -7
- rapidata/api_client/models/prompt_type.py +38 -0
- rapidata/api_client/models/proxy_file_wrapper.py +17 -2
- 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 +118 -0
- rapidata/api_client/models/query_datapoints_by_dataset_id_result.py +95 -0
- rapidata/api_client/models/query_job_definitions_result.py +97 -0
- rapidata/api_client/models/query_job_revisions_result.py +95 -0
- rapidata/api_client/models/query_jobs_result.py +103 -0
- rapidata/api_client/models/query_model.py +10 -5
- rapidata/api_client/models/query_rapids_for_audience_result.py +150 -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 +2 -2
- rapidata/api_client/models/runs_by_leaderboard_result.py +6 -12
- 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 +7 -8
- 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 -5
- 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 +19 -21
- rapidata/api_client/models/standing_status.py +2 -2
- rapidata/api_client/models/standings_by_benchmark_result.py +95 -0
- rapidata/api_client/models/standings_by_leaderboard_result.py +2 -2
- 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 +25 -3
- rapidata/api_client/models/streams_metadata.py +12 -1
- rapidata/api_client/models/string_segment.py +105 -0
- rapidata/api_client/models/submit_order_model.py +5 -5
- rapidata/api_client/models/submit_participant_result.py +2 -2
- rapidata/api_client/models/submit_prompt_model.py +9 -14
- rapidata/api_client/models/submit_prompt_model_prompt_asset.py +40 -12
- rapidata/api_client/models/tags_by_benchmark_result.py +2 -2
- rapidata/api_client/models/text_asset.py +3 -5
- rapidata/api_client/models/text_asset_input.py +21 -1
- 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 +5 -7
- 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 +113 -0
- rapidata/api_client/models/update_benchmark_model.py +99 -0
- rapidata/api_client/models/update_benchmark_name_model.py +5 -5
- 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_job_definition_endpoint_input.py +92 -0
- rapidata/api_client/models/update_leaderboard_model.py +106 -0
- rapidata/api_client/models/update_leaderboard_name_model.py +5 -5
- rapidata/api_client/models/update_leaderboard_response_config_model.py +5 -5
- 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 +5 -5
- rapidata/api_client/models/update_priority_model.py +87 -0
- rapidata/api_client/models/update_prompt_tags_model.py +5 -5
- rapidata/api_client/models/update_should_alert_model.py +4 -4
- rapidata/api_client/models/update_validation_rapid_model.py +35 -14
- 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_problem_details.py +117 -0
- 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/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 +33 -2
- rapidata/api_client/rest.py +2 -2
- rapidata/api_client_README.md +384 -318
- rapidata/rapidata_client/__init__.py +17 -22
- rapidata/rapidata_client/api/rapidata_api_client.py +253 -0
- rapidata/rapidata_client/audience/__init__.py +2 -0
- rapidata/rapidata_client/audience/audience_example_handler.py +168 -0
- rapidata/rapidata_client/audience/rapidata_audience.py +287 -0
- rapidata/rapidata_client/audience/rapidata_audience_manager.py +162 -0
- rapidata/rapidata_client/benchmark/_detail_mapper.py +11 -9
- rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py +98 -54
- rapidata/rapidata_client/benchmark/participant/_participant.py +90 -46
- rapidata/rapidata_client/benchmark/rapidata_benchmark.py +388 -225
- rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py +172 -65
- 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 +8 -3
- rapidata/rapidata_client/datapoints/_asset_uploader.py +184 -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 -10
- rapidata/rapidata_client/datapoints/assets/constants.py +7 -0
- rapidata/rapidata_client/datapoints/metadata/__init__.py +0 -2
- rapidata/rapidata_client/datapoints/metadata/_private_text_metadata.py +5 -6
- rapidata/rapidata_client/datapoints/metadata/_prompt_identifier_metadata.py +4 -5
- rapidata/rapidata_client/datapoints/metadata/_public_text_metadata.py +5 -6
- rapidata/rapidata_client/datapoints/metadata/_select_words_metadata.py +3 -4
- rapidata/rapidata_client/dataset/__init__.py +1 -0
- rapidata/rapidata_client/dataset/_rapidata_dataset.py +55 -0
- rapidata/rapidata_client/demographic/demographic_manager.py +44 -19
- rapidata/rapidata_client/exceptions/failed_upload_exception.py +15 -41
- rapidata/rapidata_client/filter/_backend_filter_mapper.py +134 -0
- rapidata/rapidata_client/filter/_base_filter.py +13 -8
- rapidata/rapidata_client/filter/age_filter.py +26 -10
- rapidata/rapidata_client/filter/and_filter.py +36 -11
- rapidata/rapidata_client/filter/campaign_filter.py +21 -10
- rapidata/rapidata_client/filter/country_filter.py +46 -12
- rapidata/rapidata_client/filter/custom_filter.py +25 -12
- rapidata/rapidata_client/filter/gender_filter.py +25 -10
- rapidata/rapidata_client/filter/language_filter.py +51 -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 +14 -4
- rapidata/rapidata_client/filter/not_filter.py +35 -11
- rapidata/rapidata_client/filter/or_filter.py +36 -11
- rapidata/rapidata_client/filter/rapidata_filters.py +17 -23
- rapidata/rapidata_client/filter/response_count_filter.py +51 -20
- rapidata/rapidata_client/filter/user_score_filter.py +62 -24
- rapidata/rapidata_client/job/__init__.py +3 -0
- rapidata/rapidata_client/job/job_definition.py +110 -0
- rapidata/rapidata_client/job/job_manager.py +758 -0
- rapidata/rapidata_client/job/rapidata_job.py +326 -0
- rapidata/rapidata_client/order/__init__.py +2 -0
- rapidata/rapidata_client/order/_rapidata_order_builder.py +273 -122
- rapidata/rapidata_client/order/rapidata_order.py +316 -160
- rapidata/rapidata_client/order/rapidata_order_manager.py +680 -421
- rapidata/rapidata_client/rapidata_client.py +115 -37
- rapidata/rapidata_client/referee/__init__.py +1 -1
- rapidata/rapidata_client/referee/_base_referee.py +14 -3
- rapidata/rapidata_client/referee/_early_stopping_referee.py +32 -17
- rapidata/rapidata_client/referee/_naive_referee.py +24 -3
- rapidata/rapidata_client/results/__init__.py +3 -0
- rapidata/rapidata_client/{order → results}/rapidata_results.py +86 -63
- rapidata/rapidata_client/selection/__init__.py +1 -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 +31 -8
- 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 +23 -14
- 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 +22 -3
- 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 +22 -9
- rapidata/rapidata_client/settings/swap_context_instruction.py +20 -0
- rapidata/rapidata_client/settings/translation_behaviour.py +7 -5
- rapidata/rapidata_client/utils/__init__.py +3 -0
- rapidata/rapidata_client/utils/threaded_uploader.py +153 -0
- rapidata/rapidata_client/validation/__init__.py +2 -0
- rapidata/rapidata_client/validation/rapidata_validation_set.py +96 -18
- rapidata/rapidata_client/validation/rapids/__init__.py +2 -0
- rapidata/rapidata_client/validation/rapids/_validation_rapid_uploader.py +48 -0
- rapidata/rapidata_client/validation/rapids/box.py +37 -12
- rapidata/rapidata_client/validation/rapids/rapids.py +29 -83
- rapidata/rapidata_client/validation/rapids/rapids_manager.py +369 -211
- rapidata/rapidata_client/validation/validation_set_manager.py +505 -276
- rapidata/rapidata_client/workflow/__init__.py +2 -2
- 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 +90 -0
- 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 +119 -34
- rapidata/types/__init__.py +149 -0
- rapidata-3.0.0a8.dist-info/METADATA +32 -0
- rapidata-3.0.0a8.dist-info/RECORD +1083 -0
- {rapidata-2.35.1.dist-info → rapidata-3.0.0a8.dist-info}/WHEEL +1 -1
- rapidata/rapidata_client/api/rapidata_exception.py +0 -107
- rapidata/rapidata_client/country_codes/__init__.py +0 -1
- rapidata/rapidata_client/country_codes/country_codes.py +0 -19
- rapidata/rapidata_client/datapoints/assets/_base_asset.py +0 -11
- rapidata/rapidata_client/datapoints/assets/_media_asset.py +0 -306
- rapidata/rapidata_client/datapoints/assets/_multi_asset.py +0 -61
- rapidata/rapidata_client/datapoints/assets/_sessions.py +0 -35
- rapidata/rapidata_client/datapoints/assets/_text_asset.py +0 -34
- rapidata/rapidata_client/datapoints/assets/data_type_enum.py +0 -8
- rapidata/rapidata_client/datapoints/datapoint.py +0 -108
- rapidata/rapidata_client/datapoints/metadata/_media_asset_metadata.py +0 -22
- rapidata/rapidata_client/datapoints/metadata/_prompt_metadata.py +0 -18
- 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/order/_rapidata_dataset.py +0 -396
- rapidata/rapidata_client/workflow/_ranking_workflow.py +0 -47
- rapidata/service/local_file_service.py +0 -25
- rapidata-2.35.1.dist-info/METADATA +0 -35
- rapidata-2.35.1.dist-info/RECORD +0 -657
- {rapidata-2.35.1.dist-info → rapidata-3.0.0a8.dist-info/licenses}/LICENSE +0 -0
|
@@ -1,11 +1,30 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
1
2
|
from pydantic import BaseModel
|
|
2
|
-
from typing import Any
|
|
3
|
-
|
|
3
|
+
from typing import Any, TYPE_CHECKING
|
|
4
|
+
|
|
5
|
+
if TYPE_CHECKING:
|
|
6
|
+
from rapidata.api_client.models.feature_flag import FeatureFlag
|
|
7
|
+
from rapidata.api_client.models.feature_flag_model import FeatureFlagModel
|
|
8
|
+
|
|
4
9
|
|
|
5
10
|
class RapidataSetting(BaseModel):
|
|
6
11
|
"""Base class for all settings"""
|
|
12
|
+
|
|
7
13
|
key: str
|
|
8
14
|
value: Any
|
|
9
15
|
|
|
10
|
-
def _to_feature_flag(self) ->
|
|
16
|
+
def _to_feature_flag(self) -> FeatureFlag:
|
|
17
|
+
from rapidata.api_client.models.feature_flag import FeatureFlag
|
|
18
|
+
|
|
19
|
+
return FeatureFlag(key=self.key, value=str(self.value))
|
|
20
|
+
|
|
21
|
+
def _to_feature_flag_model(self) -> FeatureFlagModel:
|
|
22
|
+
from rapidata.api_client.models.feature_flag_model import FeatureFlagModel
|
|
23
|
+
|
|
11
24
|
return FeatureFlagModel(key=self.key, value=str(self.value))
|
|
25
|
+
|
|
26
|
+
def __str__(self) -> str:
|
|
27
|
+
return f"{self.__class__.__name__}(key='{self.key}', value={self.value})"
|
|
28
|
+
|
|
29
|
+
def __repr__(self) -> str:
|
|
30
|
+
return f"{self.__class__.__name__}(key={self.key!r}, value={self.value!r})"
|
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
from rapidata.rapidata_client.settings._rapidata_setting import RapidataSetting
|
|
2
|
-
from rapidata.rapidata_client.
|
|
2
|
+
from rapidata.rapidata_client.config import managed_print
|
|
3
|
+
|
|
3
4
|
|
|
4
5
|
class AlertOnFastResponse(RapidataSetting):
|
|
5
6
|
"""
|
|
6
7
|
Gives an alert as a pop up on the UI when the response time is less than the milliseconds.
|
|
7
|
-
|
|
8
|
+
|
|
8
9
|
Args:
|
|
9
10
|
threshold (int): if the user responds in less than this time, an alert will be shown.
|
|
10
11
|
"""
|
|
11
|
-
|
|
12
|
+
|
|
12
13
|
def __init__(self, threshold: int):
|
|
13
14
|
if not isinstance(threshold, int):
|
|
14
15
|
raise ValueError("The alert must be an integer.")
|
|
15
16
|
if threshold < 10:
|
|
16
|
-
managed_print(
|
|
17
|
+
managed_print(
|
|
18
|
+
f"Warning: Are you sure you want to set the threshold so low ({threshold} milliseconds)?"
|
|
19
|
+
)
|
|
17
20
|
if threshold > 25000:
|
|
18
21
|
raise ValueError("The alert must be less than 25000 milliseconds.")
|
|
19
22
|
if threshold < 0:
|
|
20
23
|
raise ValueError("The alert must be greater than or equal to 0.")
|
|
21
|
-
|
|
24
|
+
|
|
22
25
|
super().__init__(key="alert_on_fast_response", value=threshold)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from rapidata.rapidata_client.settings._rapidata_setting import RapidataSetting
|
|
2
2
|
|
|
3
|
+
|
|
3
4
|
class AllowNeitherBoth(RapidataSetting):
|
|
4
5
|
"""
|
|
5
6
|
Set whether to allow neither or both options.
|
|
@@ -11,4 +12,6 @@ class AllowNeitherBoth(RapidataSetting):
|
|
|
11
12
|
"""
|
|
12
13
|
|
|
13
14
|
def __init__(self, value: bool = True):
|
|
15
|
+
if not isinstance(value, bool):
|
|
16
|
+
raise ValueError("The value must be a boolean.")
|
|
14
17
|
super().__init__(key="compare_unsure", value=value)
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
from rapidata.rapidata_client.settings._rapidata_setting import RapidataSetting
|
|
2
2
|
|
|
3
|
+
|
|
3
4
|
class CustomSetting(RapidataSetting):
|
|
4
5
|
"""
|
|
5
6
|
Set a custom setting with the given key and value. Use this to enable features that do not have a dedicated method (yet)
|
|
6
|
-
|
|
7
|
+
|
|
7
8
|
Args:
|
|
8
9
|
key (str): The key for the custom setting.
|
|
9
10
|
value (str): The value for the custom setting.
|
|
@@ -12,5 +13,5 @@ class CustomSetting(RapidataSetting):
|
|
|
12
13
|
def __init__(self, key: str, value: str):
|
|
13
14
|
if not isinstance(key, str):
|
|
14
15
|
raise ValueError("The key must be a string.")
|
|
15
|
-
|
|
16
|
+
|
|
16
17
|
super().__init__(key=key, value=value)
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
from rapidata.rapidata_client.settings._rapidata_setting import RapidataSetting
|
|
2
|
-
from rapidata.rapidata_client.
|
|
2
|
+
from rapidata.rapidata_client.config import managed_print
|
|
3
|
+
|
|
3
4
|
|
|
4
5
|
class FreeTextMinimumCharacters(RapidataSetting):
|
|
5
6
|
"""
|
|
6
7
|
Set the minimum number of characters a user has to type.
|
|
7
|
-
|
|
8
|
+
|
|
8
9
|
Args:
|
|
9
10
|
value (int): The minimum number of characters for free text.
|
|
10
11
|
"""
|
|
11
12
|
|
|
12
13
|
def __init__(self, value: int):
|
|
13
14
|
if value < 1:
|
|
14
|
-
raise ValueError(
|
|
15
|
+
raise ValueError(
|
|
16
|
+
"The minimum number of characters must be greater than or equal to 1."
|
|
17
|
+
)
|
|
15
18
|
if value > 40:
|
|
16
|
-
managed_print(
|
|
19
|
+
managed_print(
|
|
20
|
+
f"Warning: Are you sure you want to set the minimum number of characters at {value}?"
|
|
21
|
+
)
|
|
17
22
|
super().__init__(key="free_text_minimum_characters", value=value)
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
from enum import Enum
|
|
2
2
|
|
|
3
|
+
|
|
3
4
|
class TranslationBehaviourOptions(Enum):
|
|
4
5
|
"""The options for the translation behaviour setting.
|
|
5
|
-
|
|
6
|
+
|
|
6
7
|
Attributes:
|
|
7
8
|
BOTH: Show both the original and the translated text.
|
|
8
9
|
May clutter the screen if the options are too long.
|
|
9
10
|
ONLY_ORIGINAL: Show only the original text.
|
|
10
11
|
ONLY_TRANSLATED: Show only the translated text."""
|
|
11
|
-
|
|
12
|
+
|
|
12
13
|
BOTH = "both"
|
|
13
14
|
ONLY_ORIGINAL = "only original"
|
|
14
15
|
ONLY_TRANSLATED = "only translated"
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from rapidata.rapidata_client.settings._rapidata_setting import RapidataSetting
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class MuteVideo(RapidataSetting):
|
|
5
|
+
"""
|
|
6
|
+
Mute the video. If this setting is not supplied, the video will not be muted.
|
|
7
|
+
|
|
8
|
+
Args:
|
|
9
|
+
value (bool): Whether to mute the video. Defaults to True.
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
def __init__(self, value: bool = True):
|
|
13
|
+
if not isinstance(value, bool):
|
|
14
|
+
raise ValueError("The value must be a boolean.")
|
|
15
|
+
super().__init__(key="mute_video_asset", value=value)
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
from rapidata.rapidata_client.settings._rapidata_setting import RapidataSetting
|
|
2
2
|
|
|
3
|
+
|
|
3
4
|
class NoShuffle(RapidataSetting):
|
|
4
5
|
"""
|
|
5
6
|
Only for classification and compare tasks. If true, the order of the categories / images will not be shuffled and presented in the same order as specified.
|
|
6
7
|
|
|
7
8
|
If this is not added to the order, the shuffling will be active.
|
|
8
|
-
|
|
9
|
+
|
|
9
10
|
Args:
|
|
10
11
|
value (bool, optional): Whether to disable shuffling. Defaults to True for function call.
|
|
11
12
|
"""
|
|
13
|
+
|
|
12
14
|
def __init__(self, value: bool = True):
|
|
13
15
|
if not isinstance(value, bool):
|
|
14
16
|
raise ValueError("The value must be a boolean.")
|
|
15
|
-
|
|
17
|
+
|
|
16
18
|
super().__init__(key="no_shuffle", value=value)
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
from rapidata.rapidata_client.settings._rapidata_setting import RapidataSetting
|
|
2
2
|
|
|
3
|
+
|
|
3
4
|
class PlayVideoUntilTheEnd(RapidataSetting):
|
|
4
5
|
"""
|
|
5
6
|
Allows users to only answer once the video has finished playing.
|
|
6
7
|
The additional time gets added on top of the video duration. Can be negative to allow answers before the video ends.
|
|
7
|
-
|
|
8
|
+
|
|
8
9
|
Args:
|
|
9
10
|
additional_time (int, optional): Additional time in milliseconds. Defaults to 0.
|
|
10
11
|
"""
|
|
11
|
-
|
|
12
|
+
|
|
12
13
|
def __init__(self, additional_time: int = 0):
|
|
13
14
|
if additional_time < -25000 or additional_time > 25000:
|
|
14
15
|
raise ValueError("The additional time must be between -25000 and 25000.")
|
|
15
|
-
|
|
16
|
-
super().__init__(
|
|
16
|
+
|
|
17
|
+
super().__init__(
|
|
18
|
+
key="alert_on_fast_response_add_media_duration", value=additional_time
|
|
19
|
+
)
|
|
@@ -5,14 +5,17 @@ from rapidata.rapidata_client.settings import (
|
|
|
5
5
|
NoShuffle,
|
|
6
6
|
PlayVideoUntilTheEnd,
|
|
7
7
|
AllowNeitherBoth,
|
|
8
|
-
|
|
8
|
+
SwapContextInstruction,
|
|
9
|
+
MuteVideo,
|
|
10
|
+
)
|
|
11
|
+
|
|
9
12
|
|
|
10
13
|
class RapidataSettings:
|
|
11
14
|
"""
|
|
12
15
|
Container class for all setting factory functions
|
|
13
16
|
|
|
14
17
|
Settings can be added to an order to determine the behaviour of the task.
|
|
15
|
-
|
|
18
|
+
|
|
16
19
|
Attributes:
|
|
17
20
|
alert_on_fast_response (AlertOnFastResponse): Gives an alert as a pop up on the UI when the response time is less than the milliseconds.
|
|
18
21
|
translation_behaviour (TranslationBehaviour): Defines what's the behaviour of the translation in the UI.
|
|
@@ -20,6 +23,8 @@ class RapidataSettings:
|
|
|
20
23
|
no_shuffle (NoShuffle): Only for classification and compare tasks. If true, the order of the categories / images will not be shuffled and presented in the same order as specified.
|
|
21
24
|
play_video_until_the_end (PlayVideoUntilTheEnd): Allows users to only answer once the video has finished playing.
|
|
22
25
|
allow_neither_both (AllowNeitherBoth): Only for compare tasks. If true, the users will be able to select neither or both instead of exclusively one of the options.
|
|
26
|
+
swap_context_instruction (SwapContextInstruction): Swap the place of the context and instruction.
|
|
27
|
+
mute_video (MuteVideo): Mute the video.
|
|
23
28
|
|
|
24
29
|
Example:
|
|
25
30
|
```python
|
|
@@ -27,12 +32,20 @@ class RapidataSettings:
|
|
|
27
32
|
settings=[FreeTextMinimumCharacters(10)]
|
|
28
33
|
```
|
|
29
34
|
|
|
30
|
-
This can be used in a free text order to set the minimum number of characters required to submit the task.
|
|
35
|
+
This can be used in a free text order to set the minimum number of characters required to submit the task.
|
|
31
36
|
"""
|
|
32
37
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
Alert_on_fast_response = AlertOnFastResponse
|
|
39
|
+
Translation_behaviour = TranslationBehaviour
|
|
40
|
+
Free_text_minimum_characters = FreeTextMinimumCharacters
|
|
41
|
+
No_shuffle = NoShuffle
|
|
42
|
+
Play_video_until_the_end = PlayVideoUntilTheEnd
|
|
43
|
+
Allow_neither_both = AllowNeitherBoth
|
|
44
|
+
Swap_context_instruction = SwapContextInstruction
|
|
45
|
+
Mute_video = MuteVideo
|
|
46
|
+
|
|
47
|
+
def __str__(self) -> str:
|
|
48
|
+
return f"RapidataSettings(Alert_on_fast_response={self.Alert_on_fast_response}, Translation_behaviour={self.Translation_behaviour}, Free_text_minimum_characters={self.Free_text_minimum_characters}, No_shuffle={self.No_shuffle}, Play_video_until_the_end={self.Play_video_until_the_end}, Allow_neither_both={self.Allow_neither_both}, Swap_context_instruction={self.Swap_context_instruction}, Mute_video={self.Mute_video})"
|
|
49
|
+
|
|
50
|
+
def __repr__(self) -> str:
|
|
51
|
+
return self.__str__()
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from rapidata.rapidata_client.settings._rapidata_setting import RapidataSetting
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class SwapContextInstruction(RapidataSetting):
|
|
5
|
+
"""
|
|
6
|
+
Swap the place of the context and instruction.
|
|
7
|
+
|
|
8
|
+
If set to true, the instruction will be shown on top and the context below. if collapsed, only the instruction will be shown.
|
|
9
|
+
|
|
10
|
+
By default, the context will be shown on top and the instruction below.
|
|
11
|
+
|
|
12
|
+
Args:
|
|
13
|
+
value (bool): Whether to swap the place of the context and instruction.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
def __init__(self, value: bool = True):
|
|
17
|
+
if not isinstance(value, bool):
|
|
18
|
+
raise ValueError("The value must be a boolean.")
|
|
19
|
+
|
|
20
|
+
super().__init__(key="swap_question_and_prompt", value=value)
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
from rapidata.rapidata_client.settings.models.translation_behaviour_options import
|
|
1
|
+
from rapidata.rapidata_client.settings.models.translation_behaviour_options import (
|
|
2
|
+
TranslationBehaviourOptions,
|
|
3
|
+
)
|
|
2
4
|
from rapidata.rapidata_client.settings._rapidata_setting import RapidataSetting
|
|
3
5
|
|
|
6
|
+
|
|
4
7
|
class TranslationBehaviour(RapidataSetting):
|
|
5
8
|
"""
|
|
6
9
|
Defines what's the behaviour of the translation in the UI.
|
|
7
10
|
Will not translate text datapoints or sentences.
|
|
8
|
-
|
|
11
|
+
|
|
9
12
|
Args:
|
|
10
13
|
value (TranslationBehaviourOptions): The translation behaviour.
|
|
11
14
|
"""
|
|
12
|
-
|
|
15
|
+
|
|
13
16
|
def __init__(self, value: TranslationBehaviourOptions):
|
|
14
17
|
if not isinstance(value, TranslationBehaviourOptions):
|
|
15
18
|
raise ValueError("The value must be a TranslationBehaviourOptions.")
|
|
16
|
-
|
|
17
|
-
super().__init__(key="translation_behaviour", value=value)
|
|
18
19
|
|
|
20
|
+
super().__init__(key="translation_behaviour", value=value.value)
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
from typing import TypeVar, Generic, Callable
|
|
2
|
+
from concurrent.futures import ThreadPoolExecutor, as_completed
|
|
3
|
+
from tqdm import tqdm
|
|
4
|
+
import time
|
|
5
|
+
|
|
6
|
+
from rapidata.rapidata_client.config import logger
|
|
7
|
+
from rapidata.rapidata_client.config.rapidata_config import rapidata_config
|
|
8
|
+
|
|
9
|
+
from opentelemetry import context as otel_context
|
|
10
|
+
|
|
11
|
+
T = TypeVar("T")
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class ThreadedUploader(Generic[T]):
|
|
15
|
+
"""
|
|
16
|
+
A generic multi-threaded uploader that handles retries, progress tracking,
|
|
17
|
+
and OpenTelemetry context propagation.
|
|
18
|
+
|
|
19
|
+
Type Parameters:
|
|
20
|
+
T: The type of items being uploaded.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
def __init__(
|
|
24
|
+
self,
|
|
25
|
+
upload_fn: Callable[[T, int], None],
|
|
26
|
+
description: str = "Uploading items",
|
|
27
|
+
):
|
|
28
|
+
"""
|
|
29
|
+
Initialize the threaded uploader.
|
|
30
|
+
|
|
31
|
+
Args:
|
|
32
|
+
upload_fn: A function that uploads a single item. Takes (item, index) as arguments.
|
|
33
|
+
description: Description shown in the progress bar.
|
|
34
|
+
"""
|
|
35
|
+
self.upload_fn = upload_fn
|
|
36
|
+
self.description = description
|
|
37
|
+
|
|
38
|
+
def upload(self, items: list[T]) -> tuple[list[T], list[T]]:
|
|
39
|
+
"""
|
|
40
|
+
Upload items in parallel using multiple threads.
|
|
41
|
+
|
|
42
|
+
Args:
|
|
43
|
+
items: List of items to upload.
|
|
44
|
+
|
|
45
|
+
Returns:
|
|
46
|
+
tuple[list[T], list[T]]: Lists of successful and failed uploads.
|
|
47
|
+
"""
|
|
48
|
+
successful_uploads: list[T] = []
|
|
49
|
+
failed_uploads: list[T] = []
|
|
50
|
+
|
|
51
|
+
with tqdm(
|
|
52
|
+
total=len(items),
|
|
53
|
+
desc=self.description,
|
|
54
|
+
disable=rapidata_config.logging.silent_mode,
|
|
55
|
+
) as progress_bar:
|
|
56
|
+
|
|
57
|
+
def process_upload_with_context(
|
|
58
|
+
context: otel_context.Context, item: T, index: int
|
|
59
|
+
) -> tuple[list[T], list[T]]:
|
|
60
|
+
"""Wrapper function that runs upload with the provided context."""
|
|
61
|
+
token = otel_context.attach(context)
|
|
62
|
+
try:
|
|
63
|
+
return self._process_single_upload(item, index)
|
|
64
|
+
finally:
|
|
65
|
+
otel_context.detach(token)
|
|
66
|
+
|
|
67
|
+
# Capture the current OpenTelemetry context before creating threads
|
|
68
|
+
current_context = otel_context.get_current()
|
|
69
|
+
|
|
70
|
+
with ThreadPoolExecutor(
|
|
71
|
+
max_workers=rapidata_config.upload.maxWorkers
|
|
72
|
+
) as executor:
|
|
73
|
+
futures = [
|
|
74
|
+
executor.submit(
|
|
75
|
+
process_upload_with_context,
|
|
76
|
+
current_context,
|
|
77
|
+
item,
|
|
78
|
+
i,
|
|
79
|
+
)
|
|
80
|
+
for i, item in enumerate(items)
|
|
81
|
+
]
|
|
82
|
+
|
|
83
|
+
for future in as_completed(futures):
|
|
84
|
+
try:
|
|
85
|
+
chunk_successful, chunk_failed = future.result()
|
|
86
|
+
successful_uploads.extend(chunk_successful)
|
|
87
|
+
failed_uploads.extend(chunk_failed)
|
|
88
|
+
progress_bar.update(len(chunk_successful) + len(chunk_failed))
|
|
89
|
+
except Exception as e:
|
|
90
|
+
logger.error("Future execution failed: %s", str(e))
|
|
91
|
+
|
|
92
|
+
if failed_uploads:
|
|
93
|
+
logger.error(
|
|
94
|
+
"Upload failed for %s items: %s",
|
|
95
|
+
len(failed_uploads),
|
|
96
|
+
failed_uploads,
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
return successful_uploads, failed_uploads
|
|
100
|
+
|
|
101
|
+
def _process_single_upload(
|
|
102
|
+
self,
|
|
103
|
+
item: T,
|
|
104
|
+
index: int,
|
|
105
|
+
) -> tuple[list[T], list[T]]:
|
|
106
|
+
"""
|
|
107
|
+
Process single upload with retry logic and error tracking.
|
|
108
|
+
|
|
109
|
+
Args:
|
|
110
|
+
item: Item to upload.
|
|
111
|
+
index: Sort index for the upload.
|
|
112
|
+
|
|
113
|
+
Returns:
|
|
114
|
+
tuple[list[T], list[T]]: Lists of successful and failed items.
|
|
115
|
+
"""
|
|
116
|
+
logger.debug("Processing single upload for %s with index %s", item, index)
|
|
117
|
+
|
|
118
|
+
local_successful: list[T] = []
|
|
119
|
+
local_failed: list[T] = []
|
|
120
|
+
|
|
121
|
+
last_exception = None
|
|
122
|
+
for attempt in range(rapidata_config.upload.maxRetries):
|
|
123
|
+
try:
|
|
124
|
+
from rapidata.rapidata_client.api.rapidata_api_client import (
|
|
125
|
+
suppress_rapidata_error_logging,
|
|
126
|
+
)
|
|
127
|
+
|
|
128
|
+
with suppress_rapidata_error_logging():
|
|
129
|
+
self.upload_fn(item, index)
|
|
130
|
+
|
|
131
|
+
local_successful.append(item)
|
|
132
|
+
return local_successful, local_failed
|
|
133
|
+
|
|
134
|
+
except Exception as e:
|
|
135
|
+
last_exception = e
|
|
136
|
+
if attempt < rapidata_config.upload.maxRetries - 1:
|
|
137
|
+
# Exponential backoff: wait 1s, then 2s, then 4s
|
|
138
|
+
retry_delay = 2**attempt
|
|
139
|
+
time.sleep(retry_delay)
|
|
140
|
+
logger.debug("Error: %s", str(last_exception))
|
|
141
|
+
logger.debug(
|
|
142
|
+
"Retrying %s of %s...",
|
|
143
|
+
attempt + 1,
|
|
144
|
+
rapidata_config.upload.maxRetries,
|
|
145
|
+
)
|
|
146
|
+
|
|
147
|
+
# If we get here, all retries failed
|
|
148
|
+
local_failed.append(item)
|
|
149
|
+
tqdm.write(
|
|
150
|
+
f"Upload failed for {item} after {rapidata_config.upload.maxRetries} attempts. \nFinal error: \n{str(last_exception)}"
|
|
151
|
+
)
|
|
152
|
+
|
|
153
|
+
return local_successful, local_failed
|
|
@@ -1,8 +1,17 @@
|
|
|
1
|
+
import webbrowser
|
|
2
|
+
import urllib.parse
|
|
3
|
+
from colorama import Fore
|
|
1
4
|
from rapidata.rapidata_client.validation.rapids.rapids import Rapid
|
|
2
5
|
from rapidata.service.openapi_service import OpenAPIService
|
|
3
|
-
from rapidata.rapidata_client.
|
|
4
|
-
from rapidata.api_client.models.
|
|
6
|
+
from rapidata.rapidata_client.config import logger, managed_print, tracer
|
|
7
|
+
from rapidata.api_client.models.update_validation_set_model import (
|
|
8
|
+
UpdateValidationSetModel,
|
|
9
|
+
)
|
|
5
10
|
from rapidata.api_client.models.update_should_alert_model import UpdateShouldAlertModel
|
|
11
|
+
from rapidata.rapidata_client.validation.rapids._validation_rapid_uploader import (
|
|
12
|
+
ValidationRapidUploader,
|
|
13
|
+
)
|
|
14
|
+
|
|
6
15
|
|
|
7
16
|
class RapidataValidationSet:
|
|
8
17
|
"""A class for interacting with a Rapidata validation set.
|
|
@@ -16,18 +25,31 @@ class RapidataValidationSet:
|
|
|
16
25
|
name (str): The name of the validation set.
|
|
17
26
|
"""
|
|
18
27
|
|
|
19
|
-
def __init__(
|
|
28
|
+
def __init__(
|
|
29
|
+
self,
|
|
30
|
+
validation_set_id,
|
|
31
|
+
name: str,
|
|
32
|
+
dimensions: list[str],
|
|
33
|
+
openapi_service: OpenAPIService,
|
|
34
|
+
):
|
|
20
35
|
self.id = validation_set_id
|
|
21
36
|
self.name = name
|
|
22
|
-
self.
|
|
23
|
-
|
|
37
|
+
self.dimensions = dimensions
|
|
38
|
+
self.validation_set_details_page = (
|
|
39
|
+
f"https://app.{openapi_service.environment}/validation-set/detail/{self.id}"
|
|
40
|
+
)
|
|
41
|
+
self._openapi_service = openapi_service
|
|
42
|
+
self.validation_rapid_uploader = ValidationRapidUploader(openapi_service)
|
|
43
|
+
|
|
24
44
|
def add_rapid(self, rapid: Rapid):
|
|
25
45
|
"""Add a Rapid to the validation set.
|
|
26
46
|
|
|
27
47
|
Args:
|
|
28
48
|
rapid (Rapid): The Rapid to add to the validation set.
|
|
29
49
|
"""
|
|
30
|
-
|
|
50
|
+
with tracer.start_as_current_span("RapidataValidationSet.add_rapid"):
|
|
51
|
+
logger.debug("Adding rapid %s to validation set %s", rapid, self.id)
|
|
52
|
+
self.validation_rapid_uploader.upload_rapid(rapid, self.id)
|
|
31
53
|
return self
|
|
32
54
|
|
|
33
55
|
def update_dimensions(self, dimensions: list[str]):
|
|
@@ -36,10 +58,16 @@ class RapidataValidationSet:
|
|
|
36
58
|
Args:
|
|
37
59
|
dimensions (list[str]): The new dimensions of the validation set.
|
|
38
60
|
"""
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
61
|
+
with tracer.start_as_current_span("RapidataValidationSet.update_dimensions"):
|
|
62
|
+
logger.debug(
|
|
63
|
+
"Updating dimensions for validation set %s to %s", self.id, dimensions
|
|
64
|
+
)
|
|
65
|
+
self._openapi_service.validation_api.validation_set_validation_set_id_patch(
|
|
66
|
+
self.id, UpdateValidationSetModel(dimensions=dimensions)
|
|
67
|
+
)
|
|
68
|
+
self.dimensions = dimensions
|
|
69
|
+
return self
|
|
70
|
+
|
|
43
71
|
def update_should_alert(self, should_alert: bool):
|
|
44
72
|
"""Determines whether users should be alerted if they answer incorrectly.
|
|
45
73
|
|
|
@@ -49,15 +77,65 @@ class RapidataValidationSet:
|
|
|
49
77
|
Note:
|
|
50
78
|
The userScore dimensions which are updated when a user answers a validation task are updated regardless of the value of `should_alert`.
|
|
51
79
|
"""
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
80
|
+
with tracer.start_as_current_span("RapidataValidationSet.update_should_alert"):
|
|
81
|
+
logger.debug(
|
|
82
|
+
"Setting shouldAlert for validation set %s to %s", self.id, should_alert
|
|
83
|
+
)
|
|
84
|
+
self._openapi_service.validation_api.validation_set_validation_set_id_patch(
|
|
85
|
+
self.id, UpdateValidationSetModel(shouldAlert=should_alert)
|
|
86
|
+
)
|
|
87
|
+
return self
|
|
88
|
+
|
|
89
|
+
def update_can_be_flagged(self, can_be_flagged: bool):
|
|
90
|
+
"""Update if tasks in the validation set can be flagged for bad accuracy.
|
|
91
|
+
|
|
92
|
+
Args:
|
|
93
|
+
can_be_flagged (bool): Specifies whether tasks in the validation set can be flagged for bad accuracy. Defaults to True if not specifically overridden by this method.
|
|
94
|
+
"""
|
|
95
|
+
with tracer.start_as_current_span(
|
|
96
|
+
"RapidataValidationSet.update_can_be_flagged"
|
|
97
|
+
):
|
|
98
|
+
logger.debug(
|
|
99
|
+
"Setting canBeFlagged for validation set %s to %s",
|
|
100
|
+
self.id,
|
|
101
|
+
can_be_flagged,
|
|
102
|
+
)
|
|
103
|
+
self._openapi_service.validation_api.validation_set_validation_set_id_patch(
|
|
104
|
+
self.id, UpdateValidationSetModel(isFlagOverruled=(not can_be_flagged))
|
|
105
|
+
)
|
|
106
|
+
return self
|
|
107
|
+
|
|
108
|
+
def view(self) -> None:
|
|
109
|
+
"""
|
|
110
|
+
Opens the validation set details page in the browser.
|
|
111
|
+
|
|
112
|
+
Raises:
|
|
113
|
+
Exception: If the order is not in processing state.
|
|
114
|
+
"""
|
|
115
|
+
logger.info("Opening validation set details page in browser...")
|
|
116
|
+
could_open_browser = webbrowser.open(self.validation_set_details_page)
|
|
117
|
+
if not could_open_browser:
|
|
118
|
+
encoded_url = urllib.parse.quote(
|
|
119
|
+
self.validation_set_details_page, safe="%/:=&?~#+!$,;'@()*[]"
|
|
120
|
+
)
|
|
121
|
+
managed_print(
|
|
122
|
+
Fore.RED
|
|
123
|
+
+ f"Please open this URL in your browser: '{encoded_url}'"
|
|
124
|
+
+ Fore.RESET
|
|
125
|
+
)
|
|
126
|
+
|
|
127
|
+
def delete(self) -> None:
|
|
128
|
+
"""Deletes the validation set"""
|
|
129
|
+
with tracer.start_as_current_span("RapidataValidationSet.delete"):
|
|
130
|
+
logger.info("Deleting ValidationSet '%s'", self)
|
|
131
|
+
self._openapi_service.validation_api.validation_set_validation_set_id_delete(
|
|
132
|
+
self.id
|
|
133
|
+
)
|
|
134
|
+
logger.debug("ValidationSet '%s' has been deleted.", self)
|
|
135
|
+
managed_print(f"ValidationSet '{self}' has been deleted.")
|
|
58
136
|
|
|
59
137
|
def __str__(self):
|
|
60
|
-
return f"name: '{self.name}' id: {self.id}"
|
|
138
|
+
return f"name: '{self.name}' id: {self.id} dimensions: {self.dimensions}"
|
|
61
139
|
|
|
62
140
|
def __repr__(self):
|
|
63
|
-
return f"name: '{self.name}' id: {self.id}"
|
|
141
|
+
return f"name: '{self.name}' id: {self.id} dimensions: {self.dimensions}"
|