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,65 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
# isort: skip_file
|
|
4
|
+
|
|
5
|
+
import typing
|
|
6
|
+
from importlib import import_module
|
|
7
|
+
|
|
8
|
+
if typing.TYPE_CHECKING:
|
|
9
|
+
from .otel_attribute import OtelAttribute
|
|
10
|
+
from .otel_attribute_value import OtelAttributeValue
|
|
11
|
+
from .otel_resource import OtelResource
|
|
12
|
+
from .otel_resource_span import OtelResourceSpan
|
|
13
|
+
from .otel_scope import OtelScope
|
|
14
|
+
from .otel_scope_span import OtelScopeSpan
|
|
15
|
+
from .otel_span import OtelSpan
|
|
16
|
+
from .otel_trace_response import OtelTraceResponse
|
|
17
|
+
_dynamic_imports: typing.Dict[str, str] = {
|
|
18
|
+
"OtelAttribute": ".otel_attribute",
|
|
19
|
+
"OtelAttributeValue": ".otel_attribute_value",
|
|
20
|
+
"OtelResource": ".otel_resource",
|
|
21
|
+
"OtelResourceSpan": ".otel_resource_span",
|
|
22
|
+
"OtelScope": ".otel_scope",
|
|
23
|
+
"OtelScopeSpan": ".otel_scope_span",
|
|
24
|
+
"OtelSpan": ".otel_span",
|
|
25
|
+
"OtelTraceResponse": ".otel_trace_response",
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def __getattr__(attr_name: str) -> typing.Any:
|
|
30
|
+
module_name = _dynamic_imports.get(attr_name)
|
|
31
|
+
if module_name is None:
|
|
32
|
+
raise AttributeError(
|
|
33
|
+
f"No {attr_name} found in _dynamic_imports for module name -> {__name__}"
|
|
34
|
+
)
|
|
35
|
+
try:
|
|
36
|
+
module = import_module(module_name, __package__)
|
|
37
|
+
if module_name == f".{attr_name}":
|
|
38
|
+
return module
|
|
39
|
+
else:
|
|
40
|
+
return getattr(module, attr_name)
|
|
41
|
+
except ImportError as e:
|
|
42
|
+
raise ImportError(
|
|
43
|
+
f"Failed to import {attr_name} from {module_name}: {e}"
|
|
44
|
+
) from e
|
|
45
|
+
except AttributeError as e:
|
|
46
|
+
raise AttributeError(
|
|
47
|
+
f"Failed to get {attr_name} from {module_name}: {e}"
|
|
48
|
+
) from e
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def __dir__():
|
|
52
|
+
lazy_attrs = list(_dynamic_imports.keys())
|
|
53
|
+
return sorted(lazy_attrs)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
__all__ = [
|
|
57
|
+
"OtelAttribute",
|
|
58
|
+
"OtelAttributeValue",
|
|
59
|
+
"OtelResource",
|
|
60
|
+
"OtelResourceSpan",
|
|
61
|
+
"OtelScope",
|
|
62
|
+
"OtelScopeSpan",
|
|
63
|
+
"OtelSpan",
|
|
64
|
+
"OtelTraceResponse",
|
|
65
|
+
]
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ...core.pydantic_utilities import UniversalBaseModel
|
|
7
|
+
from .otel_attribute_value import OtelAttributeValue
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class OtelAttribute(UniversalBaseModel):
|
|
11
|
+
"""
|
|
12
|
+
Key-value attribute pair for resources, scopes, or spans
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
key: typing.Optional[str] = pydantic.Field(default=None)
|
|
16
|
+
"""
|
|
17
|
+
Attribute key (e.g., "service.name", "aeri.observation.type")
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
value: typing.Optional[OtelAttributeValue] = pydantic.Field(default=None)
|
|
21
|
+
"""
|
|
22
|
+
Attribute value
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
26
|
+
extra="allow", frozen=True
|
|
27
|
+
)
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
import typing_extensions
|
|
7
|
+
from ...core.pydantic_utilities import UniversalBaseModel
|
|
8
|
+
from ...core.serialization import FieldMetadata
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class OtelAttributeValue(UniversalBaseModel):
|
|
12
|
+
"""
|
|
13
|
+
Attribute value wrapper supporting different value types
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
string_value: typing_extensions.Annotated[
|
|
17
|
+
typing.Optional[str], FieldMetadata(alias="stringValue")
|
|
18
|
+
] = pydantic.Field(default=None)
|
|
19
|
+
"""
|
|
20
|
+
String value
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
int_value: typing_extensions.Annotated[
|
|
24
|
+
typing.Optional[int], FieldMetadata(alias="intValue")
|
|
25
|
+
] = pydantic.Field(default=None)
|
|
26
|
+
"""
|
|
27
|
+
Integer value
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
double_value: typing_extensions.Annotated[
|
|
31
|
+
typing.Optional[float], FieldMetadata(alias="doubleValue")
|
|
32
|
+
] = pydantic.Field(default=None)
|
|
33
|
+
"""
|
|
34
|
+
Double value
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
bool_value: typing_extensions.Annotated[
|
|
38
|
+
typing.Optional[bool], FieldMetadata(alias="boolValue")
|
|
39
|
+
] = pydantic.Field(default=None)
|
|
40
|
+
"""
|
|
41
|
+
Boolean value
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
45
|
+
extra="allow", frozen=True
|
|
46
|
+
)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ...core.pydantic_utilities import UniversalBaseModel
|
|
7
|
+
from .otel_attribute import OtelAttribute
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class OtelResource(UniversalBaseModel):
|
|
11
|
+
"""
|
|
12
|
+
Resource attributes identifying the source of telemetry
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
attributes: typing.Optional[typing.List[OtelAttribute]] = pydantic.Field(
|
|
16
|
+
default=None
|
|
17
|
+
)
|
|
18
|
+
"""
|
|
19
|
+
Resource attributes like service.name, service.version, etc.
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
23
|
+
extra="allow", frozen=True
|
|
24
|
+
)
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
import typing_extensions
|
|
7
|
+
from ...core.pydantic_utilities import UniversalBaseModel
|
|
8
|
+
from ...core.serialization import FieldMetadata
|
|
9
|
+
from .otel_resource import OtelResource
|
|
10
|
+
from .otel_scope_span import OtelScopeSpan
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class OtelResourceSpan(UniversalBaseModel):
|
|
14
|
+
"""
|
|
15
|
+
Represents a collection of spans from a single resource as per OTLP specification
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
resource: typing.Optional[OtelResource] = pydantic.Field(default=None)
|
|
19
|
+
"""
|
|
20
|
+
Resource information
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
scope_spans: typing_extensions.Annotated[
|
|
24
|
+
typing.Optional[typing.List[OtelScopeSpan]], FieldMetadata(alias="scopeSpans")
|
|
25
|
+
] = pydantic.Field(default=None)
|
|
26
|
+
"""
|
|
27
|
+
Array of scope spans
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
31
|
+
extra="allow", frozen=True
|
|
32
|
+
)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ...core.pydantic_utilities import UniversalBaseModel
|
|
7
|
+
from .otel_attribute import OtelAttribute
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class OtelScope(UniversalBaseModel):
|
|
11
|
+
"""
|
|
12
|
+
Instrumentation scope information
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
name: typing.Optional[str] = pydantic.Field(default=None)
|
|
16
|
+
"""
|
|
17
|
+
Instrumentation scope name
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
version: typing.Optional[str] = pydantic.Field(default=None)
|
|
21
|
+
"""
|
|
22
|
+
Instrumentation scope version
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
attributes: typing.Optional[typing.List[OtelAttribute]] = pydantic.Field(
|
|
26
|
+
default=None
|
|
27
|
+
)
|
|
28
|
+
"""
|
|
29
|
+
Additional scope attributes
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
33
|
+
extra="allow", frozen=True
|
|
34
|
+
)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ...core.pydantic_utilities import UniversalBaseModel
|
|
7
|
+
from .otel_scope import OtelScope
|
|
8
|
+
from .otel_span import OtelSpan
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class OtelScopeSpan(UniversalBaseModel):
|
|
12
|
+
"""
|
|
13
|
+
Collection of spans from a single instrumentation scope
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
scope: typing.Optional[OtelScope] = pydantic.Field(default=None)
|
|
17
|
+
"""
|
|
18
|
+
Instrumentation scope information
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
spans: typing.Optional[typing.List[OtelSpan]] = pydantic.Field(default=None)
|
|
22
|
+
"""
|
|
23
|
+
Array of spans
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
27
|
+
extra="allow", frozen=True
|
|
28
|
+
)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
import typing_extensions
|
|
7
|
+
from ...core.pydantic_utilities import UniversalBaseModel
|
|
8
|
+
from ...core.serialization import FieldMetadata
|
|
9
|
+
from .otel_attribute import OtelAttribute
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class OtelSpan(UniversalBaseModel):
|
|
13
|
+
"""
|
|
14
|
+
Individual span representing a unit of work or operation
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
trace_id: typing_extensions.Annotated[
|
|
18
|
+
typing.Optional[typing.Any], FieldMetadata(alias="traceId")
|
|
19
|
+
] = pydantic.Field(default=None)
|
|
20
|
+
"""
|
|
21
|
+
Trace ID (16 bytes, hex-encoded string in JSON or Buffer in binary)
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
span_id: typing_extensions.Annotated[
|
|
25
|
+
typing.Optional[typing.Any], FieldMetadata(alias="spanId")
|
|
26
|
+
] = pydantic.Field(default=None)
|
|
27
|
+
"""
|
|
28
|
+
Span ID (8 bytes, hex-encoded string in JSON or Buffer in binary)
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
parent_span_id: typing_extensions.Annotated[
|
|
32
|
+
typing.Optional[typing.Any], FieldMetadata(alias="parentSpanId")
|
|
33
|
+
] = pydantic.Field(default=None)
|
|
34
|
+
"""
|
|
35
|
+
Parent span ID if this is a child span
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
name: typing.Optional[str] = pydantic.Field(default=None)
|
|
39
|
+
"""
|
|
40
|
+
Span name describing the operation
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
kind: typing.Optional[int] = pydantic.Field(default=None)
|
|
44
|
+
"""
|
|
45
|
+
Span kind (1=INTERNAL, 2=SERVER, 3=CLIENT, 4=PRODUCER, 5=CONSUMER)
|
|
46
|
+
"""
|
|
47
|
+
|
|
48
|
+
start_time_unix_nano: typing_extensions.Annotated[
|
|
49
|
+
typing.Optional[typing.Any], FieldMetadata(alias="startTimeUnixNano")
|
|
50
|
+
] = pydantic.Field(default=None)
|
|
51
|
+
"""
|
|
52
|
+
Start time in nanoseconds since Unix epoch
|
|
53
|
+
"""
|
|
54
|
+
|
|
55
|
+
end_time_unix_nano: typing_extensions.Annotated[
|
|
56
|
+
typing.Optional[typing.Any], FieldMetadata(alias="endTimeUnixNano")
|
|
57
|
+
] = pydantic.Field(default=None)
|
|
58
|
+
"""
|
|
59
|
+
End time in nanoseconds since Unix epoch
|
|
60
|
+
"""
|
|
61
|
+
|
|
62
|
+
attributes: typing.Optional[typing.List[OtelAttribute]] = pydantic.Field(
|
|
63
|
+
default=None
|
|
64
|
+
)
|
|
65
|
+
"""
|
|
66
|
+
Span attributes including Aeri-specific attributes (aeri.observation.*)
|
|
67
|
+
"""
|
|
68
|
+
|
|
69
|
+
status: typing.Optional[typing.Any] = pydantic.Field(default=None)
|
|
70
|
+
"""
|
|
71
|
+
Span status object
|
|
72
|
+
"""
|
|
73
|
+
|
|
74
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
75
|
+
extra="allow", frozen=True
|
|
76
|
+
)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ...core.pydantic_utilities import UniversalBaseModel
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class OtelTraceResponse(UniversalBaseModel):
|
|
10
|
+
"""
|
|
11
|
+
Response from trace export request. Empty object indicates success.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(
|
|
15
|
+
extra="allow", frozen=True
|
|
16
|
+
)
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
# isort: skip_file
|
|
4
|
+
|
|
5
|
+
import typing
|
|
6
|
+
from importlib import import_module
|
|
7
|
+
|
|
8
|
+
if typing.TYPE_CHECKING:
|
|
9
|
+
from .types import (
|
|
10
|
+
DeleteMembershipRequest,
|
|
11
|
+
MembershipDeletionResponse,
|
|
12
|
+
MembershipRequest,
|
|
13
|
+
MembershipResponse,
|
|
14
|
+
MembershipRole,
|
|
15
|
+
MembershipsResponse,
|
|
16
|
+
OrganizationApiKey,
|
|
17
|
+
OrganizationApiKeysResponse,
|
|
18
|
+
OrganizationProject,
|
|
19
|
+
OrganizationProjectsResponse,
|
|
20
|
+
)
|
|
21
|
+
_dynamic_imports: typing.Dict[str, str] = {
|
|
22
|
+
"DeleteMembershipRequest": ".types",
|
|
23
|
+
"MembershipDeletionResponse": ".types",
|
|
24
|
+
"MembershipRequest": ".types",
|
|
25
|
+
"MembershipResponse": ".types",
|
|
26
|
+
"MembershipRole": ".types",
|
|
27
|
+
"MembershipsResponse": ".types",
|
|
28
|
+
"OrganizationApiKey": ".types",
|
|
29
|
+
"OrganizationApiKeysResponse": ".types",
|
|
30
|
+
"OrganizationProject": ".types",
|
|
31
|
+
"OrganizationProjectsResponse": ".types",
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def __getattr__(attr_name: str) -> typing.Any:
|
|
36
|
+
module_name = _dynamic_imports.get(attr_name)
|
|
37
|
+
if module_name is None:
|
|
38
|
+
raise AttributeError(
|
|
39
|
+
f"No {attr_name} found in _dynamic_imports for module name -> {__name__}"
|
|
40
|
+
)
|
|
41
|
+
try:
|
|
42
|
+
module = import_module(module_name, __package__)
|
|
43
|
+
if module_name == f".{attr_name}":
|
|
44
|
+
return module
|
|
45
|
+
else:
|
|
46
|
+
return getattr(module, attr_name)
|
|
47
|
+
except ImportError as e:
|
|
48
|
+
raise ImportError(
|
|
49
|
+
f"Failed to import {attr_name} from {module_name}: {e}"
|
|
50
|
+
) from e
|
|
51
|
+
except AttributeError as e:
|
|
52
|
+
raise AttributeError(
|
|
53
|
+
f"Failed to get {attr_name} from {module_name}: {e}"
|
|
54
|
+
) from e
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
def __dir__():
|
|
58
|
+
lazy_attrs = list(_dynamic_imports.keys())
|
|
59
|
+
return sorted(lazy_attrs)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
__all__ = [
|
|
63
|
+
"DeleteMembershipRequest",
|
|
64
|
+
"MembershipDeletionResponse",
|
|
65
|
+
"MembershipRequest",
|
|
66
|
+
"MembershipResponse",
|
|
67
|
+
"MembershipRole",
|
|
68
|
+
"MembershipsResponse",
|
|
69
|
+
"OrganizationApiKey",
|
|
70
|
+
"OrganizationApiKeysResponse",
|
|
71
|
+
"OrganizationProject",
|
|
72
|
+
"OrganizationProjectsResponse",
|
|
73
|
+
]
|