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
|
@@ -0,0 +1,523 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
4
|
+
import typing
|
|
5
|
+
|
|
6
|
+
from ...commons.types.observation_level import ObservationLevel
|
|
7
|
+
from ...commons.types.observations_view import ObservationsView
|
|
8
|
+
from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
9
|
+
from ...core.request_options import RequestOptions
|
|
10
|
+
from .raw_client import AsyncRawObservationsV1Client, RawObservationsV1Client
|
|
11
|
+
from .types.observations_views import ObservationsViews
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class ObservationsV1Client:
|
|
15
|
+
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
|
16
|
+
self._raw_client = RawObservationsV1Client(client_wrapper=client_wrapper)
|
|
17
|
+
|
|
18
|
+
@property
|
|
19
|
+
def with_raw_response(self) -> RawObservationsV1Client:
|
|
20
|
+
"""
|
|
21
|
+
Retrieves a raw implementation of this client that returns raw responses.
|
|
22
|
+
|
|
23
|
+
Returns
|
|
24
|
+
-------
|
|
25
|
+
RawObservationsV1Client
|
|
26
|
+
"""
|
|
27
|
+
return self._raw_client
|
|
28
|
+
|
|
29
|
+
def get(
|
|
30
|
+
self,
|
|
31
|
+
observation_id: str,
|
|
32
|
+
*,
|
|
33
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
34
|
+
) -> ObservationsView:
|
|
35
|
+
"""
|
|
36
|
+
Get a observation
|
|
37
|
+
|
|
38
|
+
Parameters
|
|
39
|
+
----------
|
|
40
|
+
observation_id : str
|
|
41
|
+
The unique aeri identifier of an observation, can be an event, span or generation
|
|
42
|
+
|
|
43
|
+
request_options : typing.Optional[RequestOptions]
|
|
44
|
+
Request-specific configuration.
|
|
45
|
+
|
|
46
|
+
Returns
|
|
47
|
+
-------
|
|
48
|
+
ObservationsView
|
|
49
|
+
|
|
50
|
+
Examples
|
|
51
|
+
--------
|
|
52
|
+
from aeri import AeriAPI
|
|
53
|
+
|
|
54
|
+
client = AeriAPI(
|
|
55
|
+
x_aeri_sdk_name="YOUR_X_AERI_SDK_NAME",
|
|
56
|
+
x_aeri_sdk_version="YOUR_X_AERI_SDK_VERSION",
|
|
57
|
+
x_aeri_public_key="YOUR_X_AERI_PUBLIC_KEY",
|
|
58
|
+
username="YOUR_USERNAME",
|
|
59
|
+
password="YOUR_PASSWORD",
|
|
60
|
+
base_url="https://yourhost.com/path/to/api",
|
|
61
|
+
)
|
|
62
|
+
client.legacy.observations_v1.get(
|
|
63
|
+
observation_id="observationId",
|
|
64
|
+
)
|
|
65
|
+
"""
|
|
66
|
+
_response = self._raw_client.get(
|
|
67
|
+
observation_id, request_options=request_options
|
|
68
|
+
)
|
|
69
|
+
return _response.data
|
|
70
|
+
|
|
71
|
+
def get_many(
|
|
72
|
+
self,
|
|
73
|
+
*,
|
|
74
|
+
page: typing.Optional[int] = None,
|
|
75
|
+
limit: typing.Optional[int] = None,
|
|
76
|
+
name: typing.Optional[str] = None,
|
|
77
|
+
user_id: typing.Optional[str] = None,
|
|
78
|
+
type: typing.Optional[str] = None,
|
|
79
|
+
trace_id: typing.Optional[str] = None,
|
|
80
|
+
level: typing.Optional[ObservationLevel] = None,
|
|
81
|
+
parent_observation_id: typing.Optional[str] = None,
|
|
82
|
+
environment: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
83
|
+
from_start_time: typing.Optional[dt.datetime] = None,
|
|
84
|
+
to_start_time: typing.Optional[dt.datetime] = None,
|
|
85
|
+
version: typing.Optional[str] = None,
|
|
86
|
+
filter: typing.Optional[str] = None,
|
|
87
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
88
|
+
) -> ObservationsViews:
|
|
89
|
+
"""
|
|
90
|
+
Get a list of observations.
|
|
91
|
+
|
|
92
|
+
Consider using the [v2 observations endpoint](/api-reference#tag/observationsv2/GET/api/public/v2/observations) for cursor-based pagination and field selection.
|
|
93
|
+
|
|
94
|
+
Parameters
|
|
95
|
+
----------
|
|
96
|
+
page : typing.Optional[int]
|
|
97
|
+
Page number, starts at 1.
|
|
98
|
+
|
|
99
|
+
limit : typing.Optional[int]
|
|
100
|
+
Limit of items per page. If you encounter api issues due to too large page sizes, try to reduce the limit.
|
|
101
|
+
|
|
102
|
+
name : typing.Optional[str]
|
|
103
|
+
|
|
104
|
+
user_id : typing.Optional[str]
|
|
105
|
+
|
|
106
|
+
type : typing.Optional[str]
|
|
107
|
+
|
|
108
|
+
trace_id : typing.Optional[str]
|
|
109
|
+
|
|
110
|
+
level : typing.Optional[ObservationLevel]
|
|
111
|
+
Optional filter for observations with a specific level (e.g. "DEBUG", "DEFAULT", "WARNING", "ERROR").
|
|
112
|
+
|
|
113
|
+
parent_observation_id : typing.Optional[str]
|
|
114
|
+
|
|
115
|
+
environment : typing.Optional[typing.Union[str, typing.Sequence[str]]]
|
|
116
|
+
Optional filter for observations where the environment is one of the provided values.
|
|
117
|
+
|
|
118
|
+
from_start_time : typing.Optional[dt.datetime]
|
|
119
|
+
Retrieve only observations with a start_time on or after this datetime (ISO 8601).
|
|
120
|
+
|
|
121
|
+
to_start_time : typing.Optional[dt.datetime]
|
|
122
|
+
Retrieve only observations with a start_time before this datetime (ISO 8601).
|
|
123
|
+
|
|
124
|
+
version : typing.Optional[str]
|
|
125
|
+
Optional filter to only include observations with a certain version.
|
|
126
|
+
|
|
127
|
+
filter : typing.Optional[str]
|
|
128
|
+
JSON string containing an array of filter conditions. When provided, this takes precedence over query parameter filters (userId, name, type, level, environment, fromStartTime, ...).
|
|
129
|
+
|
|
130
|
+
## Filter Structure
|
|
131
|
+
Each filter condition has the following structure:
|
|
132
|
+
```json
|
|
133
|
+
[
|
|
134
|
+
{
|
|
135
|
+
"type": string, // Required. One of: "datetime", "string", "number", "stringOptions", "categoryOptions", "arrayOptions", "stringObject", "numberObject", "boolean", "null"
|
|
136
|
+
"column": string, // Required. Column to filter on (see available columns below)
|
|
137
|
+
"operator": string, // Required. Operator based on type:
|
|
138
|
+
// - datetime: ">", "<", ">=", "<="
|
|
139
|
+
// - string: "=", "contains", "does not contain", "starts with", "ends with"
|
|
140
|
+
// - stringOptions: "any of", "none of"
|
|
141
|
+
// - categoryOptions: "any of", "none of"
|
|
142
|
+
// - arrayOptions: "any of", "none of", "all of"
|
|
143
|
+
// - number: "=", ">", "<", ">=", "<="
|
|
144
|
+
// - stringObject: "=", "contains", "does not contain", "starts with", "ends with"
|
|
145
|
+
// - numberObject: "=", ">", "<", ">=", "<="
|
|
146
|
+
// - boolean: "=", "<>"
|
|
147
|
+
// - null: "is null", "is not null"
|
|
148
|
+
"value": any, // Required (except for null type). Value to compare against. Type depends on filter type
|
|
149
|
+
"key": string // Required only for stringObject, numberObject, and categoryOptions types when filtering on nested fields like metadata
|
|
150
|
+
}
|
|
151
|
+
]
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## Available Columns
|
|
155
|
+
|
|
156
|
+
### Core Observation Fields
|
|
157
|
+
- `id` (string) - Observation ID
|
|
158
|
+
- `type` (string) - Observation type (SPAN, GENERATION, EVENT)
|
|
159
|
+
- `name` (string) - Observation name
|
|
160
|
+
- `traceId` (string) - Associated trace ID
|
|
161
|
+
- `startTime` (datetime) - Observation start time
|
|
162
|
+
- `endTime` (datetime) - Observation end time
|
|
163
|
+
- `environment` (string) - Environment tag
|
|
164
|
+
- `level` (string) - Log level (DEBUG, DEFAULT, WARNING, ERROR)
|
|
165
|
+
- `statusMessage` (string) - Status message
|
|
166
|
+
- `version` (string) - Version tag
|
|
167
|
+
|
|
168
|
+
### Performance Metrics
|
|
169
|
+
- `latency` (number) - Latency in seconds (calculated: end_time - start_time)
|
|
170
|
+
- `timeToFirstToken` (number) - Time to first token in seconds
|
|
171
|
+
- `tokensPerSecond` (number) - Output tokens per second
|
|
172
|
+
|
|
173
|
+
### Token Usage
|
|
174
|
+
- `inputTokens` (number) - Number of input tokens
|
|
175
|
+
- `outputTokens` (number) - Number of output tokens
|
|
176
|
+
- `totalTokens` (number) - Total tokens (alias: `tokens`)
|
|
177
|
+
|
|
178
|
+
### Cost Metrics
|
|
179
|
+
- `inputCost` (number) - Input cost in USD
|
|
180
|
+
- `outputCost` (number) - Output cost in USD
|
|
181
|
+
- `totalCost` (number) - Total cost in USD
|
|
182
|
+
|
|
183
|
+
### Model Information
|
|
184
|
+
- `model` (string) - Provided model name
|
|
185
|
+
- `promptName` (string) - Associated prompt name
|
|
186
|
+
- `promptVersion` (number) - Associated prompt version
|
|
187
|
+
|
|
188
|
+
### Structured Data
|
|
189
|
+
- `metadata` (stringObject/numberObject/categoryOptions) - Metadata key-value pairs. Use `key` parameter to filter on specific metadata keys.
|
|
190
|
+
|
|
191
|
+
### Associated Trace Fields (requires join with traces table)
|
|
192
|
+
- `userId` (string) - User ID from associated trace
|
|
193
|
+
- `traceName` (string) - Name from associated trace
|
|
194
|
+
- `traceEnvironment` (string) - Environment from associated trace
|
|
195
|
+
- `traceTags` (arrayOptions) - Tags from associated trace
|
|
196
|
+
|
|
197
|
+
## Filter Examples
|
|
198
|
+
```json
|
|
199
|
+
[
|
|
200
|
+
{
|
|
201
|
+
"type": "string",
|
|
202
|
+
"column": "type",
|
|
203
|
+
"operator": "=",
|
|
204
|
+
"value": "GENERATION"
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"type": "number",
|
|
208
|
+
"column": "latency",
|
|
209
|
+
"operator": ">=",
|
|
210
|
+
"value": 2.5
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"type": "stringObject",
|
|
214
|
+
"column": "metadata",
|
|
215
|
+
"key": "environment",
|
|
216
|
+
"operator": "=",
|
|
217
|
+
"value": "production"
|
|
218
|
+
}
|
|
219
|
+
]
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
request_options : typing.Optional[RequestOptions]
|
|
223
|
+
Request-specific configuration.
|
|
224
|
+
|
|
225
|
+
Returns
|
|
226
|
+
-------
|
|
227
|
+
ObservationsViews
|
|
228
|
+
|
|
229
|
+
Examples
|
|
230
|
+
--------
|
|
231
|
+
from aeri import AeriAPI
|
|
232
|
+
|
|
233
|
+
client = AeriAPI(
|
|
234
|
+
x_aeri_sdk_name="YOUR_X_AERI_SDK_NAME",
|
|
235
|
+
x_aeri_sdk_version="YOUR_X_AERI_SDK_VERSION",
|
|
236
|
+
x_aeri_public_key="YOUR_X_AERI_PUBLIC_KEY",
|
|
237
|
+
username="YOUR_USERNAME",
|
|
238
|
+
password="YOUR_PASSWORD",
|
|
239
|
+
base_url="https://yourhost.com/path/to/api",
|
|
240
|
+
)
|
|
241
|
+
client.legacy.observations_v1.get_many()
|
|
242
|
+
"""
|
|
243
|
+
_response = self._raw_client.get_many(
|
|
244
|
+
page=page,
|
|
245
|
+
limit=limit,
|
|
246
|
+
name=name,
|
|
247
|
+
user_id=user_id,
|
|
248
|
+
type=type,
|
|
249
|
+
trace_id=trace_id,
|
|
250
|
+
level=level,
|
|
251
|
+
parent_observation_id=parent_observation_id,
|
|
252
|
+
environment=environment,
|
|
253
|
+
from_start_time=from_start_time,
|
|
254
|
+
to_start_time=to_start_time,
|
|
255
|
+
version=version,
|
|
256
|
+
filter=filter,
|
|
257
|
+
request_options=request_options,
|
|
258
|
+
)
|
|
259
|
+
return _response.data
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
class AsyncObservationsV1Client:
|
|
263
|
+
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
|
264
|
+
self._raw_client = AsyncRawObservationsV1Client(client_wrapper=client_wrapper)
|
|
265
|
+
|
|
266
|
+
@property
|
|
267
|
+
def with_raw_response(self) -> AsyncRawObservationsV1Client:
|
|
268
|
+
"""
|
|
269
|
+
Retrieves a raw implementation of this client that returns raw responses.
|
|
270
|
+
|
|
271
|
+
Returns
|
|
272
|
+
-------
|
|
273
|
+
AsyncRawObservationsV1Client
|
|
274
|
+
"""
|
|
275
|
+
return self._raw_client
|
|
276
|
+
|
|
277
|
+
async def get(
|
|
278
|
+
self,
|
|
279
|
+
observation_id: str,
|
|
280
|
+
*,
|
|
281
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
282
|
+
) -> ObservationsView:
|
|
283
|
+
"""
|
|
284
|
+
Get a observation
|
|
285
|
+
|
|
286
|
+
Parameters
|
|
287
|
+
----------
|
|
288
|
+
observation_id : str
|
|
289
|
+
The unique aeri identifier of an observation, can be an event, span or generation
|
|
290
|
+
|
|
291
|
+
request_options : typing.Optional[RequestOptions]
|
|
292
|
+
Request-specific configuration.
|
|
293
|
+
|
|
294
|
+
Returns
|
|
295
|
+
-------
|
|
296
|
+
ObservationsView
|
|
297
|
+
|
|
298
|
+
Examples
|
|
299
|
+
--------
|
|
300
|
+
import asyncio
|
|
301
|
+
|
|
302
|
+
from aeri import AsyncAeriAPI
|
|
303
|
+
|
|
304
|
+
client = AsyncAeriAPI(
|
|
305
|
+
x_aeri_sdk_name="YOUR_X_AERI_SDK_NAME",
|
|
306
|
+
x_aeri_sdk_version="YOUR_X_AERI_SDK_VERSION",
|
|
307
|
+
x_aeri_public_key="YOUR_X_AERI_PUBLIC_KEY",
|
|
308
|
+
username="YOUR_USERNAME",
|
|
309
|
+
password="YOUR_PASSWORD",
|
|
310
|
+
base_url="https://yourhost.com/path/to/api",
|
|
311
|
+
)
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
async def main() -> None:
|
|
315
|
+
await client.legacy.observations_v1.get(
|
|
316
|
+
observation_id="observationId",
|
|
317
|
+
)
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
asyncio.run(main())
|
|
321
|
+
"""
|
|
322
|
+
_response = await self._raw_client.get(
|
|
323
|
+
observation_id, request_options=request_options
|
|
324
|
+
)
|
|
325
|
+
return _response.data
|
|
326
|
+
|
|
327
|
+
async def get_many(
|
|
328
|
+
self,
|
|
329
|
+
*,
|
|
330
|
+
page: typing.Optional[int] = None,
|
|
331
|
+
limit: typing.Optional[int] = None,
|
|
332
|
+
name: typing.Optional[str] = None,
|
|
333
|
+
user_id: typing.Optional[str] = None,
|
|
334
|
+
type: typing.Optional[str] = None,
|
|
335
|
+
trace_id: typing.Optional[str] = None,
|
|
336
|
+
level: typing.Optional[ObservationLevel] = None,
|
|
337
|
+
parent_observation_id: typing.Optional[str] = None,
|
|
338
|
+
environment: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
339
|
+
from_start_time: typing.Optional[dt.datetime] = None,
|
|
340
|
+
to_start_time: typing.Optional[dt.datetime] = None,
|
|
341
|
+
version: typing.Optional[str] = None,
|
|
342
|
+
filter: typing.Optional[str] = None,
|
|
343
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
344
|
+
) -> ObservationsViews:
|
|
345
|
+
"""
|
|
346
|
+
Get a list of observations.
|
|
347
|
+
|
|
348
|
+
Consider using the [v2 observations endpoint](/api-reference#tag/observationsv2/GET/api/public/v2/observations) for cursor-based pagination and field selection.
|
|
349
|
+
|
|
350
|
+
Parameters
|
|
351
|
+
----------
|
|
352
|
+
page : typing.Optional[int]
|
|
353
|
+
Page number, starts at 1.
|
|
354
|
+
|
|
355
|
+
limit : typing.Optional[int]
|
|
356
|
+
Limit of items per page. If you encounter api issues due to too large page sizes, try to reduce the limit.
|
|
357
|
+
|
|
358
|
+
name : typing.Optional[str]
|
|
359
|
+
|
|
360
|
+
user_id : typing.Optional[str]
|
|
361
|
+
|
|
362
|
+
type : typing.Optional[str]
|
|
363
|
+
|
|
364
|
+
trace_id : typing.Optional[str]
|
|
365
|
+
|
|
366
|
+
level : typing.Optional[ObservationLevel]
|
|
367
|
+
Optional filter for observations with a specific level (e.g. "DEBUG", "DEFAULT", "WARNING", "ERROR").
|
|
368
|
+
|
|
369
|
+
parent_observation_id : typing.Optional[str]
|
|
370
|
+
|
|
371
|
+
environment : typing.Optional[typing.Union[str, typing.Sequence[str]]]
|
|
372
|
+
Optional filter for observations where the environment is one of the provided values.
|
|
373
|
+
|
|
374
|
+
from_start_time : typing.Optional[dt.datetime]
|
|
375
|
+
Retrieve only observations with a start_time on or after this datetime (ISO 8601).
|
|
376
|
+
|
|
377
|
+
to_start_time : typing.Optional[dt.datetime]
|
|
378
|
+
Retrieve only observations with a start_time before this datetime (ISO 8601).
|
|
379
|
+
|
|
380
|
+
version : typing.Optional[str]
|
|
381
|
+
Optional filter to only include observations with a certain version.
|
|
382
|
+
|
|
383
|
+
filter : typing.Optional[str]
|
|
384
|
+
JSON string containing an array of filter conditions. When provided, this takes precedence over query parameter filters (userId, name, type, level, environment, fromStartTime, ...).
|
|
385
|
+
|
|
386
|
+
## Filter Structure
|
|
387
|
+
Each filter condition has the following structure:
|
|
388
|
+
```json
|
|
389
|
+
[
|
|
390
|
+
{
|
|
391
|
+
"type": string, // Required. One of: "datetime", "string", "number", "stringOptions", "categoryOptions", "arrayOptions", "stringObject", "numberObject", "boolean", "null"
|
|
392
|
+
"column": string, // Required. Column to filter on (see available columns below)
|
|
393
|
+
"operator": string, // Required. Operator based on type:
|
|
394
|
+
// - datetime: ">", "<", ">=", "<="
|
|
395
|
+
// - string: "=", "contains", "does not contain", "starts with", "ends with"
|
|
396
|
+
// - stringOptions: "any of", "none of"
|
|
397
|
+
// - categoryOptions: "any of", "none of"
|
|
398
|
+
// - arrayOptions: "any of", "none of", "all of"
|
|
399
|
+
// - number: "=", ">", "<", ">=", "<="
|
|
400
|
+
// - stringObject: "=", "contains", "does not contain", "starts with", "ends with"
|
|
401
|
+
// - numberObject: "=", ">", "<", ">=", "<="
|
|
402
|
+
// - boolean: "=", "<>"
|
|
403
|
+
// - null: "is null", "is not null"
|
|
404
|
+
"value": any, // Required (except for null type). Value to compare against. Type depends on filter type
|
|
405
|
+
"key": string // Required only for stringObject, numberObject, and categoryOptions types when filtering on nested fields like metadata
|
|
406
|
+
}
|
|
407
|
+
]
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
## Available Columns
|
|
411
|
+
|
|
412
|
+
### Core Observation Fields
|
|
413
|
+
- `id` (string) - Observation ID
|
|
414
|
+
- `type` (string) - Observation type (SPAN, GENERATION, EVENT)
|
|
415
|
+
- `name` (string) - Observation name
|
|
416
|
+
- `traceId` (string) - Associated trace ID
|
|
417
|
+
- `startTime` (datetime) - Observation start time
|
|
418
|
+
- `endTime` (datetime) - Observation end time
|
|
419
|
+
- `environment` (string) - Environment tag
|
|
420
|
+
- `level` (string) - Log level (DEBUG, DEFAULT, WARNING, ERROR)
|
|
421
|
+
- `statusMessage` (string) - Status message
|
|
422
|
+
- `version` (string) - Version tag
|
|
423
|
+
|
|
424
|
+
### Performance Metrics
|
|
425
|
+
- `latency` (number) - Latency in seconds (calculated: end_time - start_time)
|
|
426
|
+
- `timeToFirstToken` (number) - Time to first token in seconds
|
|
427
|
+
- `tokensPerSecond` (number) - Output tokens per second
|
|
428
|
+
|
|
429
|
+
### Token Usage
|
|
430
|
+
- `inputTokens` (number) - Number of input tokens
|
|
431
|
+
- `outputTokens` (number) - Number of output tokens
|
|
432
|
+
- `totalTokens` (number) - Total tokens (alias: `tokens`)
|
|
433
|
+
|
|
434
|
+
### Cost Metrics
|
|
435
|
+
- `inputCost` (number) - Input cost in USD
|
|
436
|
+
- `outputCost` (number) - Output cost in USD
|
|
437
|
+
- `totalCost` (number) - Total cost in USD
|
|
438
|
+
|
|
439
|
+
### Model Information
|
|
440
|
+
- `model` (string) - Provided model name
|
|
441
|
+
- `promptName` (string) - Associated prompt name
|
|
442
|
+
- `promptVersion` (number) - Associated prompt version
|
|
443
|
+
|
|
444
|
+
### Structured Data
|
|
445
|
+
- `metadata` (stringObject/numberObject/categoryOptions) - Metadata key-value pairs. Use `key` parameter to filter on specific metadata keys.
|
|
446
|
+
|
|
447
|
+
### Associated Trace Fields (requires join with traces table)
|
|
448
|
+
- `userId` (string) - User ID from associated trace
|
|
449
|
+
- `traceName` (string) - Name from associated trace
|
|
450
|
+
- `traceEnvironment` (string) - Environment from associated trace
|
|
451
|
+
- `traceTags` (arrayOptions) - Tags from associated trace
|
|
452
|
+
|
|
453
|
+
## Filter Examples
|
|
454
|
+
```json
|
|
455
|
+
[
|
|
456
|
+
{
|
|
457
|
+
"type": "string",
|
|
458
|
+
"column": "type",
|
|
459
|
+
"operator": "=",
|
|
460
|
+
"value": "GENERATION"
|
|
461
|
+
},
|
|
462
|
+
{
|
|
463
|
+
"type": "number",
|
|
464
|
+
"column": "latency",
|
|
465
|
+
"operator": ">=",
|
|
466
|
+
"value": 2.5
|
|
467
|
+
},
|
|
468
|
+
{
|
|
469
|
+
"type": "stringObject",
|
|
470
|
+
"column": "metadata",
|
|
471
|
+
"key": "environment",
|
|
472
|
+
"operator": "=",
|
|
473
|
+
"value": "production"
|
|
474
|
+
}
|
|
475
|
+
]
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
request_options : typing.Optional[RequestOptions]
|
|
479
|
+
Request-specific configuration.
|
|
480
|
+
|
|
481
|
+
Returns
|
|
482
|
+
-------
|
|
483
|
+
ObservationsViews
|
|
484
|
+
|
|
485
|
+
Examples
|
|
486
|
+
--------
|
|
487
|
+
import asyncio
|
|
488
|
+
|
|
489
|
+
from aeri import AsyncAeriAPI
|
|
490
|
+
|
|
491
|
+
client = AsyncAeriAPI(
|
|
492
|
+
x_aeri_sdk_name="YOUR_X_AERI_SDK_NAME",
|
|
493
|
+
x_aeri_sdk_version="YOUR_X_AERI_SDK_VERSION",
|
|
494
|
+
x_aeri_public_key="YOUR_X_AERI_PUBLIC_KEY",
|
|
495
|
+
username="YOUR_USERNAME",
|
|
496
|
+
password="YOUR_PASSWORD",
|
|
497
|
+
base_url="https://yourhost.com/path/to/api",
|
|
498
|
+
)
|
|
499
|
+
|
|
500
|
+
|
|
501
|
+
async def main() -> None:
|
|
502
|
+
await client.legacy.observations_v1.get_many()
|
|
503
|
+
|
|
504
|
+
|
|
505
|
+
asyncio.run(main())
|
|
506
|
+
"""
|
|
507
|
+
_response = await self._raw_client.get_many(
|
|
508
|
+
page=page,
|
|
509
|
+
limit=limit,
|
|
510
|
+
name=name,
|
|
511
|
+
user_id=user_id,
|
|
512
|
+
type=type,
|
|
513
|
+
trace_id=trace_id,
|
|
514
|
+
level=level,
|
|
515
|
+
parent_observation_id=parent_observation_id,
|
|
516
|
+
environment=environment,
|
|
517
|
+
from_start_time=from_start_time,
|
|
518
|
+
to_start_time=to_start_time,
|
|
519
|
+
version=version,
|
|
520
|
+
filter=filter,
|
|
521
|
+
request_options=request_options,
|
|
522
|
+
)
|
|
523
|
+
return _response.data
|