aeri-python 4.0.0__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.
- aeri/__init__.py +72 -0
- aeri/_client/_validation.py +204 -0
- aeri/_client/attributes.py +188 -0
- aeri/_client/client.py +3761 -0
- aeri/_client/constants.py +65 -0
- aeri/_client/datasets.py +302 -0
- aeri/_client/environment_variables.py +158 -0
- aeri/_client/get_client.py +149 -0
- aeri/_client/observe.py +661 -0
- aeri/_client/propagation.py +475 -0
- aeri/_client/resource_manager.py +510 -0
- aeri/_client/span.py +1519 -0
- aeri/_client/span_filter.py +76 -0
- aeri/_client/span_processor.py +206 -0
- aeri/_client/utils.py +132 -0
- aeri/_task_manager/media_manager.py +331 -0
- aeri/_task_manager/media_upload_consumer.py +44 -0
- aeri/_task_manager/media_upload_queue.py +12 -0
- aeri/_task_manager/score_ingestion_consumer.py +208 -0
- aeri/_task_manager/task_manager.py +475 -0
- aeri/_utils/__init__.py +19 -0
- aeri/_utils/environment.py +34 -0
- aeri/_utils/error_logging.py +47 -0
- aeri/_utils/parse_error.py +99 -0
- aeri/_utils/prompt_cache.py +188 -0
- aeri/_utils/request.py +137 -0
- aeri/_utils/serializer.py +205 -0
- aeri/api/.fern/metadata.json +14 -0
- aeri/api/__init__.py +836 -0
- aeri/api/annotation_queues/__init__.py +82 -0
- aeri/api/annotation_queues/client.py +1111 -0
- aeri/api/annotation_queues/raw_client.py +2288 -0
- aeri/api/annotation_queues/types/__init__.py +84 -0
- aeri/api/annotation_queues/types/annotation_queue.py +28 -0
- aeri/api/annotation_queues/types/annotation_queue_assignment_request.py +16 -0
- aeri/api/annotation_queues/types/annotation_queue_item.py +34 -0
- aeri/api/annotation_queues/types/annotation_queue_object_type.py +26 -0
- aeri/api/annotation_queues/types/annotation_queue_status.py +22 -0
- aeri/api/annotation_queues/types/create_annotation_queue_assignment_response.py +18 -0
- aeri/api/annotation_queues/types/create_annotation_queue_item_request.py +25 -0
- aeri/api/annotation_queues/types/create_annotation_queue_request.py +20 -0
- aeri/api/annotation_queues/types/delete_annotation_queue_assignment_response.py +14 -0
- aeri/api/annotation_queues/types/delete_annotation_queue_item_response.py +15 -0
- aeri/api/annotation_queues/types/paginated_annotation_queue_items.py +17 -0
- aeri/api/annotation_queues/types/paginated_annotation_queues.py +17 -0
- aeri/api/annotation_queues/types/update_annotation_queue_item_request.py +15 -0
- aeri/api/blob_storage_integrations/__init__.py +73 -0
- aeri/api/blob_storage_integrations/client.py +550 -0
- aeri/api/blob_storage_integrations/raw_client.py +976 -0
- aeri/api/blob_storage_integrations/types/__init__.py +77 -0
- aeri/api/blob_storage_integrations/types/blob_storage_export_frequency.py +26 -0
- aeri/api/blob_storage_integrations/types/blob_storage_export_mode.py +26 -0
- aeri/api/blob_storage_integrations/types/blob_storage_integration_deletion_response.py +14 -0
- aeri/api/blob_storage_integrations/types/blob_storage_integration_file_type.py +26 -0
- aeri/api/blob_storage_integrations/types/blob_storage_integration_response.py +64 -0
- aeri/api/blob_storage_integrations/types/blob_storage_integration_status_response.py +50 -0
- aeri/api/blob_storage_integrations/types/blob_storage_integration_type.py +26 -0
- aeri/api/blob_storage_integrations/types/blob_storage_integrations_response.py +15 -0
- aeri/api/blob_storage_integrations/types/blob_storage_sync_status.py +47 -0
- aeri/api/blob_storage_integrations/types/create_blob_storage_integration_request.py +91 -0
- aeri/api/client.py +679 -0
- aeri/api/comments/__init__.py +44 -0
- aeri/api/comments/client.py +407 -0
- aeri/api/comments/raw_client.py +750 -0
- aeri/api/comments/types/__init__.py +46 -0
- aeri/api/comments/types/create_comment_request.py +47 -0
- aeri/api/comments/types/create_comment_response.py +17 -0
- aeri/api/comments/types/get_comments_response.py +17 -0
- aeri/api/commons/__init__.py +210 -0
- aeri/api/commons/errors/__init__.py +56 -0
- aeri/api/commons/errors/access_denied_error.py +12 -0
- aeri/api/commons/errors/error.py +12 -0
- aeri/api/commons/errors/method_not_allowed_error.py +12 -0
- aeri/api/commons/errors/not_found_error.py +12 -0
- aeri/api/commons/errors/unauthorized_error.py +12 -0
- aeri/api/commons/types/__init__.py +190 -0
- aeri/api/commons/types/base_score.py +90 -0
- aeri/api/commons/types/base_score_v1.py +70 -0
- aeri/api/commons/types/boolean_score.py +26 -0
- aeri/api/commons/types/boolean_score_v1.py +26 -0
- aeri/api/commons/types/categorical_score.py +26 -0
- aeri/api/commons/types/categorical_score_v1.py +26 -0
- aeri/api/commons/types/comment.py +36 -0
- aeri/api/commons/types/comment_object_type.py +30 -0
- aeri/api/commons/types/config_category.py +15 -0
- aeri/api/commons/types/correction_score.py +26 -0
- aeri/api/commons/types/create_score_value.py +5 -0
- aeri/api/commons/types/dataset.py +49 -0
- aeri/api/commons/types/dataset_item.py +58 -0
- aeri/api/commons/types/dataset_run.py +63 -0
- aeri/api/commons/types/dataset_run_item.py +40 -0
- aeri/api/commons/types/dataset_run_with_items.py +19 -0
- aeri/api/commons/types/dataset_status.py +22 -0
- aeri/api/commons/types/map_value.py +11 -0
- aeri/api/commons/types/model.py +125 -0
- aeri/api/commons/types/model_price.py +14 -0
- aeri/api/commons/types/model_usage_unit.py +42 -0
- aeri/api/commons/types/numeric_score.py +17 -0
- aeri/api/commons/types/numeric_score_v1.py +17 -0
- aeri/api/commons/types/observation.py +142 -0
- aeri/api/commons/types/observation_level.py +30 -0
- aeri/api/commons/types/observation_v2.py +235 -0
- aeri/api/commons/types/observations_view.py +89 -0
- aeri/api/commons/types/pricing_tier.py +91 -0
- aeri/api/commons/types/pricing_tier_condition.py +68 -0
- aeri/api/commons/types/pricing_tier_input.py +76 -0
- aeri/api/commons/types/pricing_tier_operator.py +42 -0
- aeri/api/commons/types/score.py +201 -0
- aeri/api/commons/types/score_config.py +66 -0
- aeri/api/commons/types/score_config_data_type.py +26 -0
- aeri/api/commons/types/score_data_type.py +30 -0
- aeri/api/commons/types/score_source.py +26 -0
- aeri/api/commons/types/score_v1.py +131 -0
- aeri/api/commons/types/session.py +25 -0
- aeri/api/commons/types/session_with_traces.py +15 -0
- aeri/api/commons/types/trace.py +84 -0
- aeri/api/commons/types/trace_with_details.py +43 -0
- aeri/api/commons/types/trace_with_full_details.py +45 -0
- aeri/api/commons/types/usage.py +59 -0
- aeri/api/core/__init__.py +111 -0
- aeri/api/core/api_error.py +23 -0
- aeri/api/core/client_wrapper.py +141 -0
- aeri/api/core/datetime_utils.py +30 -0
- aeri/api/core/enum.py +20 -0
- aeri/api/core/file.py +70 -0
- aeri/api/core/force_multipart.py +18 -0
- aeri/api/core/http_client.py +711 -0
- aeri/api/core/http_response.py +55 -0
- aeri/api/core/http_sse/__init__.py +48 -0
- aeri/api/core/http_sse/_api.py +114 -0
- aeri/api/core/http_sse/_decoders.py +66 -0
- aeri/api/core/http_sse/_exceptions.py +7 -0
- aeri/api/core/http_sse/_models.py +17 -0
- aeri/api/core/jsonable_encoder.py +102 -0
- aeri/api/core/pydantic_utilities.py +310 -0
- aeri/api/core/query_encoder.py +60 -0
- aeri/api/core/remove_none_from_dict.py +11 -0
- aeri/api/core/request_options.py +35 -0
- aeri/api/core/serialization.py +282 -0
- aeri/api/dataset_items/__init__.py +52 -0
- aeri/api/dataset_items/client.py +499 -0
- aeri/api/dataset_items/raw_client.py +973 -0
- aeri/api/dataset_items/types/__init__.py +50 -0
- aeri/api/dataset_items/types/create_dataset_item_request.py +37 -0
- aeri/api/dataset_items/types/delete_dataset_item_response.py +17 -0
- aeri/api/dataset_items/types/paginated_dataset_items.py +17 -0
- aeri/api/dataset_run_items/__init__.py +43 -0
- aeri/api/dataset_run_items/client.py +323 -0
- aeri/api/dataset_run_items/raw_client.py +547 -0
- aeri/api/dataset_run_items/types/__init__.py +44 -0
- aeri/api/dataset_run_items/types/create_dataset_run_item_request.py +51 -0
- aeri/api/dataset_run_items/types/paginated_dataset_run_items.py +17 -0
- aeri/api/datasets/__init__.py +55 -0
- aeri/api/datasets/client.py +661 -0
- aeri/api/datasets/raw_client.py +1368 -0
- aeri/api/datasets/types/__init__.py +53 -0
- aeri/api/datasets/types/create_dataset_request.py +31 -0
- aeri/api/datasets/types/delete_dataset_run_response.py +14 -0
- aeri/api/datasets/types/paginated_dataset_runs.py +17 -0
- aeri/api/datasets/types/paginated_datasets.py +17 -0
- aeri/api/health/__init__.py +44 -0
- aeri/api/health/client.py +112 -0
- aeri/api/health/errors/__init__.py +42 -0
- aeri/api/health/errors/service_unavailable_error.py +13 -0
- aeri/api/health/raw_client.py +227 -0
- aeri/api/health/types/__init__.py +40 -0
- aeri/api/health/types/health_response.py +30 -0
- aeri/api/ingestion/__init__.py +169 -0
- aeri/api/ingestion/client.py +221 -0
- aeri/api/ingestion/raw_client.py +293 -0
- aeri/api/ingestion/types/__init__.py +169 -0
- aeri/api/ingestion/types/base_event.py +27 -0
- aeri/api/ingestion/types/create_event_body.py +14 -0
- aeri/api/ingestion/types/create_event_event.py +15 -0
- aeri/api/ingestion/types/create_generation_body.py +40 -0
- aeri/api/ingestion/types/create_generation_event.py +15 -0
- aeri/api/ingestion/types/create_observation_event.py +15 -0
- aeri/api/ingestion/types/create_span_body.py +19 -0
- aeri/api/ingestion/types/create_span_event.py +15 -0
- aeri/api/ingestion/types/ingestion_error.py +17 -0
- aeri/api/ingestion/types/ingestion_event.py +155 -0
- aeri/api/ingestion/types/ingestion_response.py +17 -0
- aeri/api/ingestion/types/ingestion_success.py +15 -0
- aeri/api/ingestion/types/ingestion_usage.py +8 -0
- aeri/api/ingestion/types/observation_body.py +53 -0
- aeri/api/ingestion/types/observation_type.py +54 -0
- aeri/api/ingestion/types/open_ai_completion_usage_schema.py +26 -0
- aeri/api/ingestion/types/open_ai_response_usage_schema.py +24 -0
- aeri/api/ingestion/types/open_ai_usage.py +28 -0
- aeri/api/ingestion/types/optional_observation_body.py +36 -0
- aeri/api/ingestion/types/score_body.py +75 -0
- aeri/api/ingestion/types/score_event.py +15 -0
- aeri/api/ingestion/types/sdk_log_body.py +14 -0
- aeri/api/ingestion/types/sdk_log_event.py +15 -0
- aeri/api/ingestion/types/trace_body.py +36 -0
- aeri/api/ingestion/types/trace_event.py +15 -0
- aeri/api/ingestion/types/update_event_body.py +14 -0
- aeri/api/ingestion/types/update_generation_body.py +40 -0
- aeri/api/ingestion/types/update_generation_event.py +15 -0
- aeri/api/ingestion/types/update_observation_event.py +15 -0
- aeri/api/ingestion/types/update_span_body.py +19 -0
- aeri/api/ingestion/types/update_span_event.py +15 -0
- aeri/api/ingestion/types/usage_details.py +10 -0
- aeri/api/legacy/__init__.py +61 -0
- aeri/api/legacy/client.py +105 -0
- aeri/api/legacy/metrics_v1/__init__.py +40 -0
- aeri/api/legacy/metrics_v1/client.py +214 -0
- aeri/api/legacy/metrics_v1/raw_client.py +322 -0
- aeri/api/legacy/metrics_v1/types/__init__.py +40 -0
- aeri/api/legacy/metrics_v1/types/metrics_response.py +19 -0
- aeri/api/legacy/observations_v1/__init__.py +43 -0
- aeri/api/legacy/observations_v1/client.py +523 -0
- aeri/api/legacy/observations_v1/raw_client.py +759 -0
- aeri/api/legacy/observations_v1/types/__init__.py +44 -0
- aeri/api/legacy/observations_v1/types/observations.py +17 -0
- aeri/api/legacy/observations_v1/types/observations_views.py +17 -0
- aeri/api/legacy/raw_client.py +13 -0
- aeri/api/legacy/score_v1/__init__.py +43 -0
- aeri/api/legacy/score_v1/client.py +329 -0
- aeri/api/legacy/score_v1/raw_client.py +545 -0
- aeri/api/legacy/score_v1/types/__init__.py +44 -0
- aeri/api/legacy/score_v1/types/create_score_request.py +75 -0
- aeri/api/legacy/score_v1/types/create_score_response.py +17 -0
- aeri/api/llm_connections/__init__.py +55 -0
- aeri/api/llm_connections/client.py +311 -0
- aeri/api/llm_connections/raw_client.py +541 -0
- aeri/api/llm_connections/types/__init__.py +53 -0
- aeri/api/llm_connections/types/llm_adapter.py +38 -0
- aeri/api/llm_connections/types/llm_connection.py +77 -0
- aeri/api/llm_connections/types/paginated_llm_connections.py +17 -0
- aeri/api/llm_connections/types/upsert_llm_connection_request.py +69 -0
- aeri/api/media/__init__.py +58 -0
- aeri/api/media/client.py +427 -0
- aeri/api/media/raw_client.py +739 -0
- aeri/api/media/types/__init__.py +56 -0
- aeri/api/media/types/get_media_response.py +55 -0
- aeri/api/media/types/get_media_upload_url_request.py +51 -0
- aeri/api/media/types/get_media_upload_url_response.py +28 -0
- aeri/api/media/types/media_content_type.py +232 -0
- aeri/api/media/types/patch_media_body.py +43 -0
- aeri/api/metrics/__init__.py +40 -0
- aeri/api/metrics/client.py +422 -0
- aeri/api/metrics/raw_client.py +530 -0
- aeri/api/metrics/types/__init__.py +40 -0
- aeri/api/metrics/types/metrics_v2response.py +19 -0
- aeri/api/models/__init__.py +43 -0
- aeri/api/models/client.py +523 -0
- aeri/api/models/raw_client.py +993 -0
- aeri/api/models/types/__init__.py +44 -0
- aeri/api/models/types/create_model_request.py +103 -0
- aeri/api/models/types/paginated_models.py +17 -0
- aeri/api/observations/__init__.py +43 -0
- aeri/api/observations/client.py +522 -0
- aeri/api/observations/raw_client.py +641 -0
- aeri/api/observations/types/__init__.py +44 -0
- aeri/api/observations/types/observations_v2meta.py +21 -0
- aeri/api/observations/types/observations_v2response.py +28 -0
- aeri/api/opentelemetry/__init__.py +67 -0
- aeri/api/opentelemetry/client.py +276 -0
- aeri/api/opentelemetry/raw_client.py +291 -0
- aeri/api/opentelemetry/types/__init__.py +65 -0
- aeri/api/opentelemetry/types/otel_attribute.py +27 -0
- aeri/api/opentelemetry/types/otel_attribute_value.py +46 -0
- aeri/api/opentelemetry/types/otel_resource.py +24 -0
- aeri/api/opentelemetry/types/otel_resource_span.py +32 -0
- aeri/api/opentelemetry/types/otel_scope.py +34 -0
- aeri/api/opentelemetry/types/otel_scope_span.py +28 -0
- aeri/api/opentelemetry/types/otel_span.py +76 -0
- aeri/api/opentelemetry/types/otel_trace_response.py +16 -0
- aeri/api/organizations/__init__.py +73 -0
- aeri/api/organizations/client.py +756 -0
- aeri/api/organizations/raw_client.py +1707 -0
- aeri/api/organizations/types/__init__.py +71 -0
- aeri/api/organizations/types/delete_membership_request.py +16 -0
- aeri/api/organizations/types/membership_deletion_response.py +17 -0
- aeri/api/organizations/types/membership_request.py +18 -0
- aeri/api/organizations/types/membership_response.py +20 -0
- aeri/api/organizations/types/membership_role.py +30 -0
- aeri/api/organizations/types/memberships_response.py +15 -0
- aeri/api/organizations/types/organization_api_key.py +31 -0
- aeri/api/organizations/types/organization_api_keys_response.py +19 -0
- aeri/api/organizations/types/organization_project.py +25 -0
- aeri/api/organizations/types/organization_projects_response.py +15 -0
- aeri/api/projects/__init__.py +67 -0
- aeri/api/projects/client.py +760 -0
- aeri/api/projects/raw_client.py +1577 -0
- aeri/api/projects/types/__init__.py +65 -0
- aeri/api/projects/types/api_key_deletion_response.py +18 -0
- aeri/api/projects/types/api_key_list.py +23 -0
- aeri/api/projects/types/api_key_response.py +30 -0
- aeri/api/projects/types/api_key_summary.py +35 -0
- aeri/api/projects/types/organization.py +22 -0
- aeri/api/projects/types/project.py +34 -0
- aeri/api/projects/types/project_deletion_response.py +15 -0
- aeri/api/projects/types/projects.py +15 -0
- aeri/api/prompt_version/__init__.py +4 -0
- aeri/api/prompt_version/client.py +157 -0
- aeri/api/prompt_version/raw_client.py +264 -0
- aeri/api/prompts/__init__.py +100 -0
- aeri/api/prompts/client.py +550 -0
- aeri/api/prompts/raw_client.py +987 -0
- aeri/api/prompts/types/__init__.py +96 -0
- aeri/api/prompts/types/base_prompt.py +42 -0
- aeri/api/prompts/types/chat_message.py +17 -0
- aeri/api/prompts/types/chat_message_type.py +15 -0
- aeri/api/prompts/types/chat_message_with_placeholders.py +8 -0
- aeri/api/prompts/types/chat_prompt.py +15 -0
- aeri/api/prompts/types/create_chat_prompt_request.py +37 -0
- aeri/api/prompts/types/create_chat_prompt_type.py +15 -0
- aeri/api/prompts/types/create_prompt_request.py +8 -0
- aeri/api/prompts/types/create_text_prompt_request.py +36 -0
- aeri/api/prompts/types/create_text_prompt_type.py +15 -0
- aeri/api/prompts/types/placeholder_message.py +16 -0
- aeri/api/prompts/types/placeholder_message_type.py +15 -0
- aeri/api/prompts/types/prompt.py +58 -0
- aeri/api/prompts/types/prompt_meta.py +35 -0
- aeri/api/prompts/types/prompt_meta_list_response.py +17 -0
- aeri/api/prompts/types/prompt_type.py +20 -0
- aeri/api/prompts/types/text_prompt.py +14 -0
- aeri/api/scim/__init__.py +94 -0
- aeri/api/scim/client.py +686 -0
- aeri/api/scim/raw_client.py +1528 -0
- aeri/api/scim/types/__init__.py +92 -0
- aeri/api/scim/types/authentication_scheme.py +20 -0
- aeri/api/scim/types/bulk_config.py +22 -0
- aeri/api/scim/types/empty_response.py +16 -0
- aeri/api/scim/types/filter_config.py +17 -0
- aeri/api/scim/types/resource_meta.py +17 -0
- aeri/api/scim/types/resource_type.py +27 -0
- aeri/api/scim/types/resource_types_response.py +21 -0
- aeri/api/scim/types/schema_extension.py +17 -0
- aeri/api/scim/types/schema_resource.py +19 -0
- aeri/api/scim/types/schemas_response.py +21 -0
- aeri/api/scim/types/scim_email.py +16 -0
- aeri/api/scim/types/scim_feature_support.py +14 -0
- aeri/api/scim/types/scim_name.py +14 -0
- aeri/api/scim/types/scim_user.py +24 -0
- aeri/api/scim/types/scim_users_list_response.py +25 -0
- aeri/api/scim/types/service_provider_config.py +36 -0
- aeri/api/scim/types/user_meta.py +20 -0
- aeri/api/score_configs/__init__.py +44 -0
- aeri/api/score_configs/client.py +526 -0
- aeri/api/score_configs/raw_client.py +1012 -0
- aeri/api/score_configs/types/__init__.py +46 -0
- aeri/api/score_configs/types/create_score_config_request.py +46 -0
- aeri/api/score_configs/types/score_configs.py +17 -0
- aeri/api/score_configs/types/update_score_config_request.py +53 -0
- aeri/api/scores/__init__.py +76 -0
- aeri/api/scores/client.py +420 -0
- aeri/api/scores/raw_client.py +656 -0
- aeri/api/scores/types/__init__.py +76 -0
- aeri/api/scores/types/get_scores_response.py +17 -0
- aeri/api/scores/types/get_scores_response_data.py +211 -0
- aeri/api/scores/types/get_scores_response_data_boolean.py +15 -0
- aeri/api/scores/types/get_scores_response_data_categorical.py +15 -0
- aeri/api/scores/types/get_scores_response_data_correction.py +15 -0
- aeri/api/scores/types/get_scores_response_data_numeric.py +15 -0
- aeri/api/scores/types/get_scores_response_trace_data.py +38 -0
- aeri/api/sessions/__init__.py +40 -0
- aeri/api/sessions/client.py +262 -0
- aeri/api/sessions/raw_client.py +500 -0
- aeri/api/sessions/types/__init__.py +40 -0
- aeri/api/sessions/types/paginated_sessions.py +17 -0
- aeri/api/trace/__init__.py +44 -0
- aeri/api/trace/client.py +728 -0
- aeri/api/trace/raw_client.py +1208 -0
- aeri/api/trace/types/__init__.py +46 -0
- aeri/api/trace/types/delete_trace_response.py +14 -0
- aeri/api/trace/types/sort.py +14 -0
- aeri/api/trace/types/traces.py +17 -0
- aeri/api/utils/__init__.py +44 -0
- aeri/api/utils/pagination/__init__.py +40 -0
- aeri/api/utils/pagination/types/__init__.py +40 -0
- aeri/api/utils/pagination/types/meta_response.py +38 -0
- aeri/batch_evaluation.py +1643 -0
- aeri/experiment.py +1044 -0
- aeri/langchain/CallbackHandler.py +1377 -0
- aeri/langchain/__init__.py +5 -0
- aeri/langchain/utils.py +212 -0
- aeri/logger.py +28 -0
- aeri/media.py +352 -0
- aeri/model.py +477 -0
- aeri/openai.py +1124 -0
- aeri/py.typed +0 -0
- aeri/span_filter.py +17 -0
- aeri/types.py +79 -0
- aeri/version.py +3 -0
- aeri_python-4.0.0.dist-info/METADATA +51 -0
- aeri_python-4.0.0.dist-info/RECORD +391 -0
- aeri_python-4.0.0.dist-info/WHEEL +4 -0
- aeri_python-4.0.0.dist-info/licenses/LICENSE +21 -0
aeri/api/client.py
ADDED
|
@@ -0,0 +1,679 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import typing
|
|
6
|
+
|
|
7
|
+
import httpx
|
|
8
|
+
from .core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
9
|
+
|
|
10
|
+
if typing.TYPE_CHECKING:
|
|
11
|
+
from .annotation_queues.client import (
|
|
12
|
+
AnnotationQueuesClient,
|
|
13
|
+
AsyncAnnotationQueuesClient,
|
|
14
|
+
)
|
|
15
|
+
from .blob_storage_integrations.client import (
|
|
16
|
+
AsyncBlobStorageIntegrationsClient,
|
|
17
|
+
BlobStorageIntegrationsClient,
|
|
18
|
+
)
|
|
19
|
+
from .comments.client import AsyncCommentsClient, CommentsClient
|
|
20
|
+
from .dataset_items.client import AsyncDatasetItemsClient, DatasetItemsClient
|
|
21
|
+
from .dataset_run_items.client import (
|
|
22
|
+
AsyncDatasetRunItemsClient,
|
|
23
|
+
DatasetRunItemsClient,
|
|
24
|
+
)
|
|
25
|
+
from .datasets.client import AsyncDatasetsClient, DatasetsClient
|
|
26
|
+
from .health.client import AsyncHealthClient, HealthClient
|
|
27
|
+
from .ingestion.client import AsyncIngestionClient, IngestionClient
|
|
28
|
+
from .legacy.client import AsyncLegacyClient, LegacyClient
|
|
29
|
+
from .llm_connections.client import AsyncLlmConnectionsClient, LlmConnectionsClient
|
|
30
|
+
from .media.client import AsyncMediaClient, MediaClient
|
|
31
|
+
from .metrics.client import AsyncMetricsClient, MetricsClient
|
|
32
|
+
from .models.client import AsyncModelsClient, ModelsClient
|
|
33
|
+
from .observations.client import AsyncObservationsClient, ObservationsClient
|
|
34
|
+
from .opentelemetry.client import AsyncOpentelemetryClient, OpentelemetryClient
|
|
35
|
+
from .organizations.client import AsyncOrganizationsClient, OrganizationsClient
|
|
36
|
+
from .projects.client import AsyncProjectsClient, ProjectsClient
|
|
37
|
+
from .prompt_version.client import AsyncPromptVersionClient, PromptVersionClient
|
|
38
|
+
from .prompts.client import AsyncPromptsClient, PromptsClient
|
|
39
|
+
from .scim.client import AsyncScimClient, ScimClient
|
|
40
|
+
from .score_configs.client import AsyncScoreConfigsClient, ScoreConfigsClient
|
|
41
|
+
from .scores.client import AsyncScoresClient, ScoresClient
|
|
42
|
+
from .sessions.client import AsyncSessionsClient, SessionsClient
|
|
43
|
+
from .trace.client import AsyncTraceClient, TraceClient
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class AeriAPI:
|
|
47
|
+
"""
|
|
48
|
+
Use this class to access the different functions within the SDK. You can instantiate any number of clients with different configuration that will propagate to these functions.
|
|
49
|
+
|
|
50
|
+
Parameters
|
|
51
|
+
----------
|
|
52
|
+
base_url : str
|
|
53
|
+
The base url to use for requests from the client.
|
|
54
|
+
|
|
55
|
+
x_aeri_sdk_name : typing.Optional[str]
|
|
56
|
+
x_aeri_sdk_version : typing.Optional[str]
|
|
57
|
+
x_aeri_public_key : typing.Optional[str]
|
|
58
|
+
username : typing.Optional[typing.Union[str, typing.Callable[[], str]]]
|
|
59
|
+
password : typing.Optional[typing.Union[str, typing.Callable[[], str]]]
|
|
60
|
+
headers : typing.Optional[typing.Dict[str, str]]
|
|
61
|
+
Additional headers to send with every request.
|
|
62
|
+
|
|
63
|
+
timeout : typing.Optional[float]
|
|
64
|
+
The timeout to be used, in seconds, for requests. By default the timeout is 60 seconds, unless a custom httpx client is used, in which case this default is not enforced.
|
|
65
|
+
|
|
66
|
+
follow_redirects : typing.Optional[bool]
|
|
67
|
+
Whether the default httpx client follows redirects or not, this is irrelevant if a custom httpx client is passed in.
|
|
68
|
+
|
|
69
|
+
httpx_client : typing.Optional[httpx.Client]
|
|
70
|
+
The httpx client to use for making requests, a preconfigured client is used by default, however this is useful should you want to pass in any custom httpx configuration.
|
|
71
|
+
|
|
72
|
+
Examples
|
|
73
|
+
--------
|
|
74
|
+
from aeri import AeriAPI
|
|
75
|
+
|
|
76
|
+
client = AeriAPI(
|
|
77
|
+
x_aeri_sdk_name="YOUR_X_AERI_SDK_NAME",
|
|
78
|
+
x_aeri_sdk_version="YOUR_X_AERI_SDK_VERSION",
|
|
79
|
+
x_aeri_public_key="YOUR_X_AERI_PUBLIC_KEY",
|
|
80
|
+
username="YOUR_USERNAME",
|
|
81
|
+
password="YOUR_PASSWORD",
|
|
82
|
+
base_url="https://yourhost.com/path/to/api",
|
|
83
|
+
)
|
|
84
|
+
"""
|
|
85
|
+
|
|
86
|
+
def __init__(
|
|
87
|
+
self,
|
|
88
|
+
*,
|
|
89
|
+
base_url: str,
|
|
90
|
+
x_aeri_sdk_name: typing.Optional[str] = None,
|
|
91
|
+
x_aeri_sdk_version: typing.Optional[str] = None,
|
|
92
|
+
x_aeri_public_key: typing.Optional[str] = None,
|
|
93
|
+
username: typing.Optional[typing.Union[str, typing.Callable[[], str]]] = None,
|
|
94
|
+
password: typing.Optional[typing.Union[str, typing.Callable[[], str]]] = None,
|
|
95
|
+
headers: typing.Optional[typing.Dict[str, str]] = None,
|
|
96
|
+
timeout: typing.Optional[float] = None,
|
|
97
|
+
follow_redirects: typing.Optional[bool] = True,
|
|
98
|
+
httpx_client: typing.Optional[httpx.Client] = None,
|
|
99
|
+
):
|
|
100
|
+
_defaulted_timeout = (
|
|
101
|
+
timeout
|
|
102
|
+
if timeout is not None
|
|
103
|
+
else 60
|
|
104
|
+
if httpx_client is None
|
|
105
|
+
else httpx_client.timeout.read
|
|
106
|
+
)
|
|
107
|
+
self._client_wrapper = SyncClientWrapper(
|
|
108
|
+
base_url=base_url,
|
|
109
|
+
x_aeri_sdk_name=x_aeri_sdk_name,
|
|
110
|
+
x_aeri_sdk_version=x_aeri_sdk_version,
|
|
111
|
+
x_aeri_public_key=x_aeri_public_key,
|
|
112
|
+
username=username,
|
|
113
|
+
password=password,
|
|
114
|
+
headers=headers,
|
|
115
|
+
httpx_client=httpx_client
|
|
116
|
+
if httpx_client is not None
|
|
117
|
+
else httpx.Client(
|
|
118
|
+
timeout=_defaulted_timeout, follow_redirects=follow_redirects
|
|
119
|
+
)
|
|
120
|
+
if follow_redirects is not None
|
|
121
|
+
else httpx.Client(timeout=_defaulted_timeout),
|
|
122
|
+
timeout=_defaulted_timeout,
|
|
123
|
+
)
|
|
124
|
+
self._annotation_queues: typing.Optional[AnnotationQueuesClient] = None
|
|
125
|
+
self._blob_storage_integrations: typing.Optional[
|
|
126
|
+
BlobStorageIntegrationsClient
|
|
127
|
+
] = None
|
|
128
|
+
self._comments: typing.Optional[CommentsClient] = None
|
|
129
|
+
self._dataset_items: typing.Optional[DatasetItemsClient] = None
|
|
130
|
+
self._dataset_run_items: typing.Optional[DatasetRunItemsClient] = None
|
|
131
|
+
self._datasets: typing.Optional[DatasetsClient] = None
|
|
132
|
+
self._health: typing.Optional[HealthClient] = None
|
|
133
|
+
self._ingestion: typing.Optional[IngestionClient] = None
|
|
134
|
+
self._legacy: typing.Optional[LegacyClient] = None
|
|
135
|
+
self._llm_connections: typing.Optional[LlmConnectionsClient] = None
|
|
136
|
+
self._media: typing.Optional[MediaClient] = None
|
|
137
|
+
self._metrics: typing.Optional[MetricsClient] = None
|
|
138
|
+
self._models: typing.Optional[ModelsClient] = None
|
|
139
|
+
self._observations: typing.Optional[ObservationsClient] = None
|
|
140
|
+
self._opentelemetry: typing.Optional[OpentelemetryClient] = None
|
|
141
|
+
self._organizations: typing.Optional[OrganizationsClient] = None
|
|
142
|
+
self._projects: typing.Optional[ProjectsClient] = None
|
|
143
|
+
self._prompt_version: typing.Optional[PromptVersionClient] = None
|
|
144
|
+
self._prompts: typing.Optional[PromptsClient] = None
|
|
145
|
+
self._scim: typing.Optional[ScimClient] = None
|
|
146
|
+
self._score_configs: typing.Optional[ScoreConfigsClient] = None
|
|
147
|
+
self._scores: typing.Optional[ScoresClient] = None
|
|
148
|
+
self._sessions: typing.Optional[SessionsClient] = None
|
|
149
|
+
self._trace: typing.Optional[TraceClient] = None
|
|
150
|
+
|
|
151
|
+
@property
|
|
152
|
+
def annotation_queues(self):
|
|
153
|
+
if self._annotation_queues is None:
|
|
154
|
+
from .annotation_queues.client import AnnotationQueuesClient # noqa: E402
|
|
155
|
+
|
|
156
|
+
self._annotation_queues = AnnotationQueuesClient(
|
|
157
|
+
client_wrapper=self._client_wrapper
|
|
158
|
+
)
|
|
159
|
+
return self._annotation_queues
|
|
160
|
+
|
|
161
|
+
@property
|
|
162
|
+
def blob_storage_integrations(self):
|
|
163
|
+
if self._blob_storage_integrations is None:
|
|
164
|
+
from .blob_storage_integrations.client import BlobStorageIntegrationsClient # noqa: E402
|
|
165
|
+
|
|
166
|
+
self._blob_storage_integrations = BlobStorageIntegrationsClient(
|
|
167
|
+
client_wrapper=self._client_wrapper
|
|
168
|
+
)
|
|
169
|
+
return self._blob_storage_integrations
|
|
170
|
+
|
|
171
|
+
@property
|
|
172
|
+
def comments(self):
|
|
173
|
+
if self._comments is None:
|
|
174
|
+
from .comments.client import CommentsClient # noqa: E402
|
|
175
|
+
|
|
176
|
+
self._comments = CommentsClient(client_wrapper=self._client_wrapper)
|
|
177
|
+
return self._comments
|
|
178
|
+
|
|
179
|
+
@property
|
|
180
|
+
def dataset_items(self):
|
|
181
|
+
if self._dataset_items is None:
|
|
182
|
+
from .dataset_items.client import DatasetItemsClient # noqa: E402
|
|
183
|
+
|
|
184
|
+
self._dataset_items = DatasetItemsClient(
|
|
185
|
+
client_wrapper=self._client_wrapper
|
|
186
|
+
)
|
|
187
|
+
return self._dataset_items
|
|
188
|
+
|
|
189
|
+
@property
|
|
190
|
+
def dataset_run_items(self):
|
|
191
|
+
if self._dataset_run_items is None:
|
|
192
|
+
from .dataset_run_items.client import DatasetRunItemsClient # noqa: E402
|
|
193
|
+
|
|
194
|
+
self._dataset_run_items = DatasetRunItemsClient(
|
|
195
|
+
client_wrapper=self._client_wrapper
|
|
196
|
+
)
|
|
197
|
+
return self._dataset_run_items
|
|
198
|
+
|
|
199
|
+
@property
|
|
200
|
+
def datasets(self):
|
|
201
|
+
if self._datasets is None:
|
|
202
|
+
from .datasets.client import DatasetsClient # noqa: E402
|
|
203
|
+
|
|
204
|
+
self._datasets = DatasetsClient(client_wrapper=self._client_wrapper)
|
|
205
|
+
return self._datasets
|
|
206
|
+
|
|
207
|
+
@property
|
|
208
|
+
def health(self):
|
|
209
|
+
if self._health is None:
|
|
210
|
+
from .health.client import HealthClient # noqa: E402
|
|
211
|
+
|
|
212
|
+
self._health = HealthClient(client_wrapper=self._client_wrapper)
|
|
213
|
+
return self._health
|
|
214
|
+
|
|
215
|
+
@property
|
|
216
|
+
def ingestion(self):
|
|
217
|
+
if self._ingestion is None:
|
|
218
|
+
from .ingestion.client import IngestionClient # noqa: E402
|
|
219
|
+
|
|
220
|
+
self._ingestion = IngestionClient(client_wrapper=self._client_wrapper)
|
|
221
|
+
return self._ingestion
|
|
222
|
+
|
|
223
|
+
@property
|
|
224
|
+
def legacy(self):
|
|
225
|
+
if self._legacy is None:
|
|
226
|
+
from .legacy.client import LegacyClient # noqa: E402
|
|
227
|
+
|
|
228
|
+
self._legacy = LegacyClient(client_wrapper=self._client_wrapper)
|
|
229
|
+
return self._legacy
|
|
230
|
+
|
|
231
|
+
@property
|
|
232
|
+
def llm_connections(self):
|
|
233
|
+
if self._llm_connections is None:
|
|
234
|
+
from .llm_connections.client import LlmConnectionsClient # noqa: E402
|
|
235
|
+
|
|
236
|
+
self._llm_connections = LlmConnectionsClient(
|
|
237
|
+
client_wrapper=self._client_wrapper
|
|
238
|
+
)
|
|
239
|
+
return self._llm_connections
|
|
240
|
+
|
|
241
|
+
@property
|
|
242
|
+
def media(self):
|
|
243
|
+
if self._media is None:
|
|
244
|
+
from .media.client import MediaClient # noqa: E402
|
|
245
|
+
|
|
246
|
+
self._media = MediaClient(client_wrapper=self._client_wrapper)
|
|
247
|
+
return self._media
|
|
248
|
+
|
|
249
|
+
@property
|
|
250
|
+
def metrics(self):
|
|
251
|
+
if self._metrics is None:
|
|
252
|
+
from .metrics.client import MetricsClient # noqa: E402
|
|
253
|
+
|
|
254
|
+
self._metrics = MetricsClient(client_wrapper=self._client_wrapper)
|
|
255
|
+
return self._metrics
|
|
256
|
+
|
|
257
|
+
@property
|
|
258
|
+
def models(self):
|
|
259
|
+
if self._models is None:
|
|
260
|
+
from .models.client import ModelsClient # noqa: E402
|
|
261
|
+
|
|
262
|
+
self._models = ModelsClient(client_wrapper=self._client_wrapper)
|
|
263
|
+
return self._models
|
|
264
|
+
|
|
265
|
+
@property
|
|
266
|
+
def observations(self):
|
|
267
|
+
if self._observations is None:
|
|
268
|
+
from .observations.client import ObservationsClient # noqa: E402
|
|
269
|
+
|
|
270
|
+
self._observations = ObservationsClient(client_wrapper=self._client_wrapper)
|
|
271
|
+
return self._observations
|
|
272
|
+
|
|
273
|
+
@property
|
|
274
|
+
def opentelemetry(self):
|
|
275
|
+
if self._opentelemetry is None:
|
|
276
|
+
from .opentelemetry.client import OpentelemetryClient # noqa: E402
|
|
277
|
+
|
|
278
|
+
self._opentelemetry = OpentelemetryClient(
|
|
279
|
+
client_wrapper=self._client_wrapper
|
|
280
|
+
)
|
|
281
|
+
return self._opentelemetry
|
|
282
|
+
|
|
283
|
+
@property
|
|
284
|
+
def organizations(self):
|
|
285
|
+
if self._organizations is None:
|
|
286
|
+
from .organizations.client import OrganizationsClient # noqa: E402
|
|
287
|
+
|
|
288
|
+
self._organizations = OrganizationsClient(
|
|
289
|
+
client_wrapper=self._client_wrapper
|
|
290
|
+
)
|
|
291
|
+
return self._organizations
|
|
292
|
+
|
|
293
|
+
@property
|
|
294
|
+
def projects(self):
|
|
295
|
+
if self._projects is None:
|
|
296
|
+
from .projects.client import ProjectsClient # noqa: E402
|
|
297
|
+
|
|
298
|
+
self._projects = ProjectsClient(client_wrapper=self._client_wrapper)
|
|
299
|
+
return self._projects
|
|
300
|
+
|
|
301
|
+
@property
|
|
302
|
+
def prompt_version(self):
|
|
303
|
+
if self._prompt_version is None:
|
|
304
|
+
from .prompt_version.client import PromptVersionClient # noqa: E402
|
|
305
|
+
|
|
306
|
+
self._prompt_version = PromptVersionClient(
|
|
307
|
+
client_wrapper=self._client_wrapper
|
|
308
|
+
)
|
|
309
|
+
return self._prompt_version
|
|
310
|
+
|
|
311
|
+
@property
|
|
312
|
+
def prompts(self):
|
|
313
|
+
if self._prompts is None:
|
|
314
|
+
from .prompts.client import PromptsClient # noqa: E402
|
|
315
|
+
|
|
316
|
+
self._prompts = PromptsClient(client_wrapper=self._client_wrapper)
|
|
317
|
+
return self._prompts
|
|
318
|
+
|
|
319
|
+
@property
|
|
320
|
+
def scim(self):
|
|
321
|
+
if self._scim is None:
|
|
322
|
+
from .scim.client import ScimClient # noqa: E402
|
|
323
|
+
|
|
324
|
+
self._scim = ScimClient(client_wrapper=self._client_wrapper)
|
|
325
|
+
return self._scim
|
|
326
|
+
|
|
327
|
+
@property
|
|
328
|
+
def score_configs(self):
|
|
329
|
+
if self._score_configs is None:
|
|
330
|
+
from .score_configs.client import ScoreConfigsClient # noqa: E402
|
|
331
|
+
|
|
332
|
+
self._score_configs = ScoreConfigsClient(
|
|
333
|
+
client_wrapper=self._client_wrapper
|
|
334
|
+
)
|
|
335
|
+
return self._score_configs
|
|
336
|
+
|
|
337
|
+
@property
|
|
338
|
+
def scores(self):
|
|
339
|
+
if self._scores is None:
|
|
340
|
+
from .scores.client import ScoresClient # noqa: E402
|
|
341
|
+
|
|
342
|
+
self._scores = ScoresClient(client_wrapper=self._client_wrapper)
|
|
343
|
+
return self._scores
|
|
344
|
+
|
|
345
|
+
@property
|
|
346
|
+
def sessions(self):
|
|
347
|
+
if self._sessions is None:
|
|
348
|
+
from .sessions.client import SessionsClient # noqa: E402
|
|
349
|
+
|
|
350
|
+
self._sessions = SessionsClient(client_wrapper=self._client_wrapper)
|
|
351
|
+
return self._sessions
|
|
352
|
+
|
|
353
|
+
@property
|
|
354
|
+
def trace(self):
|
|
355
|
+
if self._trace is None:
|
|
356
|
+
from .trace.client import TraceClient # noqa: E402
|
|
357
|
+
|
|
358
|
+
self._trace = TraceClient(client_wrapper=self._client_wrapper)
|
|
359
|
+
return self._trace
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
class AsyncAeriAPI:
|
|
363
|
+
"""
|
|
364
|
+
Use this class to access the different functions within the SDK. You can instantiate any number of clients with different configuration that will propagate to these functions.
|
|
365
|
+
|
|
366
|
+
Parameters
|
|
367
|
+
----------
|
|
368
|
+
base_url : str
|
|
369
|
+
The base url to use for requests from the client.
|
|
370
|
+
|
|
371
|
+
x_aeri_sdk_name : typing.Optional[str]
|
|
372
|
+
x_aeri_sdk_version : typing.Optional[str]
|
|
373
|
+
x_aeri_public_key : typing.Optional[str]
|
|
374
|
+
username : typing.Optional[typing.Union[str, typing.Callable[[], str]]]
|
|
375
|
+
password : typing.Optional[typing.Union[str, typing.Callable[[], str]]]
|
|
376
|
+
headers : typing.Optional[typing.Dict[str, str]]
|
|
377
|
+
Additional headers to send with every request.
|
|
378
|
+
|
|
379
|
+
timeout : typing.Optional[float]
|
|
380
|
+
The timeout to be used, in seconds, for requests. By default the timeout is 60 seconds, unless a custom httpx client is used, in which case this default is not enforced.
|
|
381
|
+
|
|
382
|
+
follow_redirects : typing.Optional[bool]
|
|
383
|
+
Whether the default httpx client follows redirects or not, this is irrelevant if a custom httpx client is passed in.
|
|
384
|
+
|
|
385
|
+
httpx_client : typing.Optional[httpx.AsyncClient]
|
|
386
|
+
The httpx client to use for making requests, a preconfigured client is used by default, however this is useful should you want to pass in any custom httpx configuration.
|
|
387
|
+
|
|
388
|
+
Examples
|
|
389
|
+
--------
|
|
390
|
+
from aeri import AsyncAeriAPI
|
|
391
|
+
|
|
392
|
+
client = AsyncAeriAPI(
|
|
393
|
+
x_aeri_sdk_name="YOUR_X_AERI_SDK_NAME",
|
|
394
|
+
x_aeri_sdk_version="YOUR_X_AERI_SDK_VERSION",
|
|
395
|
+
x_aeri_public_key="YOUR_X_AERI_PUBLIC_KEY",
|
|
396
|
+
username="YOUR_USERNAME",
|
|
397
|
+
password="YOUR_PASSWORD",
|
|
398
|
+
base_url="https://yourhost.com/path/to/api",
|
|
399
|
+
)
|
|
400
|
+
"""
|
|
401
|
+
|
|
402
|
+
def __init__(
|
|
403
|
+
self,
|
|
404
|
+
*,
|
|
405
|
+
base_url: str,
|
|
406
|
+
x_aeri_sdk_name: typing.Optional[str] = None,
|
|
407
|
+
x_aeri_sdk_version: typing.Optional[str] = None,
|
|
408
|
+
x_aeri_public_key: typing.Optional[str] = None,
|
|
409
|
+
username: typing.Optional[typing.Union[str, typing.Callable[[], str]]] = None,
|
|
410
|
+
password: typing.Optional[typing.Union[str, typing.Callable[[], str]]] = None,
|
|
411
|
+
headers: typing.Optional[typing.Dict[str, str]] = None,
|
|
412
|
+
timeout: typing.Optional[float] = None,
|
|
413
|
+
follow_redirects: typing.Optional[bool] = True,
|
|
414
|
+
httpx_client: typing.Optional[httpx.AsyncClient] = None,
|
|
415
|
+
):
|
|
416
|
+
_defaulted_timeout = (
|
|
417
|
+
timeout
|
|
418
|
+
if timeout is not None
|
|
419
|
+
else 60
|
|
420
|
+
if httpx_client is None
|
|
421
|
+
else httpx_client.timeout.read
|
|
422
|
+
)
|
|
423
|
+
self._client_wrapper = AsyncClientWrapper(
|
|
424
|
+
base_url=base_url,
|
|
425
|
+
x_aeri_sdk_name=x_aeri_sdk_name,
|
|
426
|
+
x_aeri_sdk_version=x_aeri_sdk_version,
|
|
427
|
+
x_aeri_public_key=x_aeri_public_key,
|
|
428
|
+
username=username,
|
|
429
|
+
password=password,
|
|
430
|
+
headers=headers,
|
|
431
|
+
httpx_client=httpx_client
|
|
432
|
+
if httpx_client is not None
|
|
433
|
+
else httpx.AsyncClient(
|
|
434
|
+
timeout=_defaulted_timeout, follow_redirects=follow_redirects
|
|
435
|
+
)
|
|
436
|
+
if follow_redirects is not None
|
|
437
|
+
else httpx.AsyncClient(timeout=_defaulted_timeout),
|
|
438
|
+
timeout=_defaulted_timeout,
|
|
439
|
+
)
|
|
440
|
+
self._annotation_queues: typing.Optional[AsyncAnnotationQueuesClient] = None
|
|
441
|
+
self._blob_storage_integrations: typing.Optional[
|
|
442
|
+
AsyncBlobStorageIntegrationsClient
|
|
443
|
+
] = None
|
|
444
|
+
self._comments: typing.Optional[AsyncCommentsClient] = None
|
|
445
|
+
self._dataset_items: typing.Optional[AsyncDatasetItemsClient] = None
|
|
446
|
+
self._dataset_run_items: typing.Optional[AsyncDatasetRunItemsClient] = None
|
|
447
|
+
self._datasets: typing.Optional[AsyncDatasetsClient] = None
|
|
448
|
+
self._health: typing.Optional[AsyncHealthClient] = None
|
|
449
|
+
self._ingestion: typing.Optional[AsyncIngestionClient] = None
|
|
450
|
+
self._legacy: typing.Optional[AsyncLegacyClient] = None
|
|
451
|
+
self._llm_connections: typing.Optional[AsyncLlmConnectionsClient] = None
|
|
452
|
+
self._media: typing.Optional[AsyncMediaClient] = None
|
|
453
|
+
self._metrics: typing.Optional[AsyncMetricsClient] = None
|
|
454
|
+
self._models: typing.Optional[AsyncModelsClient] = None
|
|
455
|
+
self._observations: typing.Optional[AsyncObservationsClient] = None
|
|
456
|
+
self._opentelemetry: typing.Optional[AsyncOpentelemetryClient] = None
|
|
457
|
+
self._organizations: typing.Optional[AsyncOrganizationsClient] = None
|
|
458
|
+
self._projects: typing.Optional[AsyncProjectsClient] = None
|
|
459
|
+
self._prompt_version: typing.Optional[AsyncPromptVersionClient] = None
|
|
460
|
+
self._prompts: typing.Optional[AsyncPromptsClient] = None
|
|
461
|
+
self._scim: typing.Optional[AsyncScimClient] = None
|
|
462
|
+
self._score_configs: typing.Optional[AsyncScoreConfigsClient] = None
|
|
463
|
+
self._scores: typing.Optional[AsyncScoresClient] = None
|
|
464
|
+
self._sessions: typing.Optional[AsyncSessionsClient] = None
|
|
465
|
+
self._trace: typing.Optional[AsyncTraceClient] = None
|
|
466
|
+
|
|
467
|
+
@property
|
|
468
|
+
def annotation_queues(self):
|
|
469
|
+
if self._annotation_queues is None:
|
|
470
|
+
from .annotation_queues.client import AsyncAnnotationQueuesClient # noqa: E402
|
|
471
|
+
|
|
472
|
+
self._annotation_queues = AsyncAnnotationQueuesClient(
|
|
473
|
+
client_wrapper=self._client_wrapper
|
|
474
|
+
)
|
|
475
|
+
return self._annotation_queues
|
|
476
|
+
|
|
477
|
+
@property
|
|
478
|
+
def blob_storage_integrations(self):
|
|
479
|
+
if self._blob_storage_integrations is None:
|
|
480
|
+
from .blob_storage_integrations.client import (
|
|
481
|
+
AsyncBlobStorageIntegrationsClient,
|
|
482
|
+
) # noqa: E402
|
|
483
|
+
|
|
484
|
+
self._blob_storage_integrations = AsyncBlobStorageIntegrationsClient(
|
|
485
|
+
client_wrapper=self._client_wrapper
|
|
486
|
+
)
|
|
487
|
+
return self._blob_storage_integrations
|
|
488
|
+
|
|
489
|
+
@property
|
|
490
|
+
def comments(self):
|
|
491
|
+
if self._comments is None:
|
|
492
|
+
from .comments.client import AsyncCommentsClient # noqa: E402
|
|
493
|
+
|
|
494
|
+
self._comments = AsyncCommentsClient(client_wrapper=self._client_wrapper)
|
|
495
|
+
return self._comments
|
|
496
|
+
|
|
497
|
+
@property
|
|
498
|
+
def dataset_items(self):
|
|
499
|
+
if self._dataset_items is None:
|
|
500
|
+
from .dataset_items.client import AsyncDatasetItemsClient # noqa: E402
|
|
501
|
+
|
|
502
|
+
self._dataset_items = AsyncDatasetItemsClient(
|
|
503
|
+
client_wrapper=self._client_wrapper
|
|
504
|
+
)
|
|
505
|
+
return self._dataset_items
|
|
506
|
+
|
|
507
|
+
@property
|
|
508
|
+
def dataset_run_items(self):
|
|
509
|
+
if self._dataset_run_items is None:
|
|
510
|
+
from .dataset_run_items.client import AsyncDatasetRunItemsClient # noqa: E402
|
|
511
|
+
|
|
512
|
+
self._dataset_run_items = AsyncDatasetRunItemsClient(
|
|
513
|
+
client_wrapper=self._client_wrapper
|
|
514
|
+
)
|
|
515
|
+
return self._dataset_run_items
|
|
516
|
+
|
|
517
|
+
@property
|
|
518
|
+
def datasets(self):
|
|
519
|
+
if self._datasets is None:
|
|
520
|
+
from .datasets.client import AsyncDatasetsClient # noqa: E402
|
|
521
|
+
|
|
522
|
+
self._datasets = AsyncDatasetsClient(client_wrapper=self._client_wrapper)
|
|
523
|
+
return self._datasets
|
|
524
|
+
|
|
525
|
+
@property
|
|
526
|
+
def health(self):
|
|
527
|
+
if self._health is None:
|
|
528
|
+
from .health.client import AsyncHealthClient # noqa: E402
|
|
529
|
+
|
|
530
|
+
self._health = AsyncHealthClient(client_wrapper=self._client_wrapper)
|
|
531
|
+
return self._health
|
|
532
|
+
|
|
533
|
+
@property
|
|
534
|
+
def ingestion(self):
|
|
535
|
+
if self._ingestion is None:
|
|
536
|
+
from .ingestion.client import AsyncIngestionClient # noqa: E402
|
|
537
|
+
|
|
538
|
+
self._ingestion = AsyncIngestionClient(client_wrapper=self._client_wrapper)
|
|
539
|
+
return self._ingestion
|
|
540
|
+
|
|
541
|
+
@property
|
|
542
|
+
def legacy(self):
|
|
543
|
+
if self._legacy is None:
|
|
544
|
+
from .legacy.client import AsyncLegacyClient # noqa: E402
|
|
545
|
+
|
|
546
|
+
self._legacy = AsyncLegacyClient(client_wrapper=self._client_wrapper)
|
|
547
|
+
return self._legacy
|
|
548
|
+
|
|
549
|
+
@property
|
|
550
|
+
def llm_connections(self):
|
|
551
|
+
if self._llm_connections is None:
|
|
552
|
+
from .llm_connections.client import AsyncLlmConnectionsClient # noqa: E402
|
|
553
|
+
|
|
554
|
+
self._llm_connections = AsyncLlmConnectionsClient(
|
|
555
|
+
client_wrapper=self._client_wrapper
|
|
556
|
+
)
|
|
557
|
+
return self._llm_connections
|
|
558
|
+
|
|
559
|
+
@property
|
|
560
|
+
def media(self):
|
|
561
|
+
if self._media is None:
|
|
562
|
+
from .media.client import AsyncMediaClient # noqa: E402
|
|
563
|
+
|
|
564
|
+
self._media = AsyncMediaClient(client_wrapper=self._client_wrapper)
|
|
565
|
+
return self._media
|
|
566
|
+
|
|
567
|
+
@property
|
|
568
|
+
def metrics(self):
|
|
569
|
+
if self._metrics is None:
|
|
570
|
+
from .metrics.client import AsyncMetricsClient # noqa: E402
|
|
571
|
+
|
|
572
|
+
self._metrics = AsyncMetricsClient(client_wrapper=self._client_wrapper)
|
|
573
|
+
return self._metrics
|
|
574
|
+
|
|
575
|
+
@property
|
|
576
|
+
def models(self):
|
|
577
|
+
if self._models is None:
|
|
578
|
+
from .models.client import AsyncModelsClient # noqa: E402
|
|
579
|
+
|
|
580
|
+
self._models = AsyncModelsClient(client_wrapper=self._client_wrapper)
|
|
581
|
+
return self._models
|
|
582
|
+
|
|
583
|
+
@property
|
|
584
|
+
def observations(self):
|
|
585
|
+
if self._observations is None:
|
|
586
|
+
from .observations.client import AsyncObservationsClient # noqa: E402
|
|
587
|
+
|
|
588
|
+
self._observations = AsyncObservationsClient(
|
|
589
|
+
client_wrapper=self._client_wrapper
|
|
590
|
+
)
|
|
591
|
+
return self._observations
|
|
592
|
+
|
|
593
|
+
@property
|
|
594
|
+
def opentelemetry(self):
|
|
595
|
+
if self._opentelemetry is None:
|
|
596
|
+
from .opentelemetry.client import AsyncOpentelemetryClient # noqa: E402
|
|
597
|
+
|
|
598
|
+
self._opentelemetry = AsyncOpentelemetryClient(
|
|
599
|
+
client_wrapper=self._client_wrapper
|
|
600
|
+
)
|
|
601
|
+
return self._opentelemetry
|
|
602
|
+
|
|
603
|
+
@property
|
|
604
|
+
def organizations(self):
|
|
605
|
+
if self._organizations is None:
|
|
606
|
+
from .organizations.client import AsyncOrganizationsClient # noqa: E402
|
|
607
|
+
|
|
608
|
+
self._organizations = AsyncOrganizationsClient(
|
|
609
|
+
client_wrapper=self._client_wrapper
|
|
610
|
+
)
|
|
611
|
+
return self._organizations
|
|
612
|
+
|
|
613
|
+
@property
|
|
614
|
+
def projects(self):
|
|
615
|
+
if self._projects is None:
|
|
616
|
+
from .projects.client import AsyncProjectsClient # noqa: E402
|
|
617
|
+
|
|
618
|
+
self._projects = AsyncProjectsClient(client_wrapper=self._client_wrapper)
|
|
619
|
+
return self._projects
|
|
620
|
+
|
|
621
|
+
@property
|
|
622
|
+
def prompt_version(self):
|
|
623
|
+
if self._prompt_version is None:
|
|
624
|
+
from .prompt_version.client import AsyncPromptVersionClient # noqa: E402
|
|
625
|
+
|
|
626
|
+
self._prompt_version = AsyncPromptVersionClient(
|
|
627
|
+
client_wrapper=self._client_wrapper
|
|
628
|
+
)
|
|
629
|
+
return self._prompt_version
|
|
630
|
+
|
|
631
|
+
@property
|
|
632
|
+
def prompts(self):
|
|
633
|
+
if self._prompts is None:
|
|
634
|
+
from .prompts.client import AsyncPromptsClient # noqa: E402
|
|
635
|
+
|
|
636
|
+
self._prompts = AsyncPromptsClient(client_wrapper=self._client_wrapper)
|
|
637
|
+
return self._prompts
|
|
638
|
+
|
|
639
|
+
@property
|
|
640
|
+
def scim(self):
|
|
641
|
+
if self._scim is None:
|
|
642
|
+
from .scim.client import AsyncScimClient # noqa: E402
|
|
643
|
+
|
|
644
|
+
self._scim = AsyncScimClient(client_wrapper=self._client_wrapper)
|
|
645
|
+
return self._scim
|
|
646
|
+
|
|
647
|
+
@property
|
|
648
|
+
def score_configs(self):
|
|
649
|
+
if self._score_configs is None:
|
|
650
|
+
from .score_configs.client import AsyncScoreConfigsClient # noqa: E402
|
|
651
|
+
|
|
652
|
+
self._score_configs = AsyncScoreConfigsClient(
|
|
653
|
+
client_wrapper=self._client_wrapper
|
|
654
|
+
)
|
|
655
|
+
return self._score_configs
|
|
656
|
+
|
|
657
|
+
@property
|
|
658
|
+
def scores(self):
|
|
659
|
+
if self._scores is None:
|
|
660
|
+
from .scores.client import AsyncScoresClient # noqa: E402
|
|
661
|
+
|
|
662
|
+
self._scores = AsyncScoresClient(client_wrapper=self._client_wrapper)
|
|
663
|
+
return self._scores
|
|
664
|
+
|
|
665
|
+
@property
|
|
666
|
+
def sessions(self):
|
|
667
|
+
if self._sessions is None:
|
|
668
|
+
from .sessions.client import AsyncSessionsClient # noqa: E402
|
|
669
|
+
|
|
670
|
+
self._sessions = AsyncSessionsClient(client_wrapper=self._client_wrapper)
|
|
671
|
+
return self._sessions
|
|
672
|
+
|
|
673
|
+
@property
|
|
674
|
+
def trace(self):
|
|
675
|
+
if self._trace is None:
|
|
676
|
+
from .trace.client import AsyncTraceClient # noqa: E402
|
|
677
|
+
|
|
678
|
+
self._trace = AsyncTraceClient(client_wrapper=self._client_wrapper)
|
|
679
|
+
return self._trace
|