aws-lambda-powertools 3.8.1a7__tar.gz → 3.8.1a9__tar.gz
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.
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/PKG-INFO +1 -1
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/logging/logger.py +6 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/metrics/functions.py +38 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/metrics/metrics.py +2 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/cloudwatch.py +10 -1
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/metrics/provider/datadog/datadog.py +7 -2
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/shared/constants.py +1 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/shared/version.py +1 -1
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/cognito_user_pool_event.py +7 -54
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/pyproject.toml +2 -2
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/setup.py +1 -1
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/LICENSE +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/README.md +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/THIRD-PARTY-LICENSES +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/api_gateway.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/appsync.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/bedrock_agent.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/content_types.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/exceptions.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/graphql_appsync/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/graphql_appsync/_registry.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/graphql_appsync/base.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/graphql_appsync/exceptions.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/graphql_appsync/router.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/lambda_function_url.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/middlewares/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/middlewares/base.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/middlewares/openapi_validation.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/middlewares/schema_validation.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/openapi/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/openapi/compat.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/openapi/config.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/openapi/constants.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/openapi/dependant.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/openapi/encoders.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/openapi/exceptions.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/openapi/models.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/openapi/params.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/openapi/pydantic_loader.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/openapi/swagger_ui/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/openapi/swagger_ui/html.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/openapi/swagger_ui/oauth2.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui-bundle.min.js +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui.min.css +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/openapi/types.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/router.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/types.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/util.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/event_handler/vpc_lattice.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/exceptions/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/logging/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/logging/buffer/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/logging/buffer/cache.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/logging/buffer/config.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/logging/buffer/functions.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/logging/constants.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/logging/correlation_paths.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/logging/exceptions.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/logging/filters.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/logging/formatter.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/logging/formatters/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/logging/formatters/datadog.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/logging/lambda_context.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/logging/types.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/logging/utils.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/metrics/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/metrics/base.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/metrics/exceptions.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/metrics/metric.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/metrics/provider/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/metrics/provider/base.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/constants.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/exceptions.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/metric_properties.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/types.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/metrics/provider/cold_start.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/metrics/provider/datadog/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/metrics/provider/datadog/metrics.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/metrics/provider/datadog/warnings.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/metrics/types.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/middleware_factory/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/middleware_factory/exceptions.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/middleware_factory/factory.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/package_logger.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/py.typed +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/shared/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/shared/cache_dict.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/shared/cookies.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/shared/dynamodb_deserializer.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/shared/functions.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/shared/headers_serializer.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/shared/json_encoder.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/shared/lazy_import.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/shared/types.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/shared/user_agent.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/tracing/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/tracing/base.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/tracing/extensions.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/tracing/tracer.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/batch/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/batch/base.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/batch/decorators.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/batch/exceptions.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/batch/sqs_fifo_partial_processor.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/batch/types.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/active_mq_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/alb_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/api_gateway_authorizer_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/api_gateway_proxy_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/api_gateway_websocket_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/appsync/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/appsync/scalar_types_utils.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/appsync_authorizer_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/appsync_resolver_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/aws_config_rule_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/bedrock_agent_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/cloud_watch_alarm_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/cloud_watch_custom_widget_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/cloud_watch_logs_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/cloudformation_custom_resource_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/code_deploy_lifecycle_hook_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/code_pipeline_job_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/common.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/connect_contact_flow_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/event_bridge_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/event_source.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/iot_registry_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/kafka_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/kinesis_stream_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/lambda_function_url_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/rabbit_mq_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/s3_batch_operation_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/s3_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/s3_object_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/secrets_manager_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/ses_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/shared_functions.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/sns_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/sqs_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/transfer_family_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_classes/vpc_lattice.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_masking/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_masking/base.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_masking/constants.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_masking/exceptions.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_masking/provider/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_masking/provider/base.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_masking/provider/kms/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/data_masking/provider/kms/aws_encryption_sdk.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/feature_flags/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/feature_flags/appconfig.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/feature_flags/base.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/feature_flags/comparators.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/feature_flags/constants.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/feature_flags/exceptions.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/feature_flags/feature_flags.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/feature_flags/schema.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/feature_flags/types.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/idempotency/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/idempotency/base.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/idempotency/config.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/idempotency/exceptions.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/idempotency/hook.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/idempotency/idempotency.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/idempotency/persistence/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/idempotency/persistence/base.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/idempotency/persistence/datarecord.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/idempotency/persistence/dynamodb.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/idempotency/persistence/redis.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/idempotency/serialization/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/idempotency/serialization/base.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/idempotency/serialization/dataclass.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/idempotency/serialization/functions.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/idempotency/serialization/no_op.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/idempotency/serialization/pydantic.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/jmespath_utils/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/jmespath_utils/envelopes.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parameters/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parameters/appconfig.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parameters/base.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parameters/constants.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parameters/dynamodb.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parameters/exceptions.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parameters/secrets.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parameters/ssm.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parameters/types.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/envelopes/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/envelopes/apigw.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/envelopes/apigw_websocket.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/envelopes/apigwv2.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/envelopes/base.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/envelopes/bedrock_agent.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/envelopes/event_bridge.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/envelopes/kafka.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/envelopes/kinesis.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/envelopes/kinesis_firehose.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/envelopes/lambda_function_url.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/envelopes/sns.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/envelopes/sqs.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/envelopes/vpc_lattice.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/envelopes/vpc_latticev2.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/exceptions.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/functions.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/alb.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/apigw.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/apigw_websocket.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/apigwv2.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/bedrock_agent.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/cloudformation_custom_resource.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/cloudwatch.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/dynamodb.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/event_bridge.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/iot_registry_events.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/kafka.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/kinesis.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose_sqs.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/lambda_function_url.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/s3.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/s3_batch_operation.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/s3_event_notification.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/s3_object_event.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/ses.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/sns.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/sqs.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/transfer_family.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/vpc_lattice.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/models/vpc_latticev2.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/parser.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/parser/types.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/serialization.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/streaming/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/streaming/_s3_seekable_io.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/streaming/compat.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/streaming/constants.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/streaming/s3_object.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/streaming/transformations/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/streaming/transformations/base.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/streaming/transformations/csv.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/streaming/transformations/gzip.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/streaming/transformations/zip.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/streaming/types.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/typing/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/typing/lambda_client_context.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/typing/lambda_client_context_mobile_client.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/typing/lambda_cognito_identity.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/typing/lambda_context.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/validation/__init__.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/validation/base.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/validation/envelopes.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/validation/exceptions.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/utilities/validation/validator.py +0 -0
- {aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/warnings/__init__.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: aws_lambda_powertools
|
3
|
-
Version: 3.8.
|
3
|
+
Version: 3.8.1a9
|
4
4
|
Summary: Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity.
|
5
5
|
License: MIT
|
6
6
|
Keywords: aws_lambda_powertools,aws,tracing,logging,lambda,powertools,feature_flags,idempotency,middleware
|
@@ -1127,6 +1127,12 @@ class Logger:
|
|
1127
1127
|
tracer_id = get_tracer_id()
|
1128
1128
|
|
1129
1129
|
if tracer_id and self._buffer_config:
|
1130
|
+
if not self._buffer_cache.get(tracer_id):
|
1131
|
+
# Detect new Lambda invocation context and reset buffer to maintain log isolation
|
1132
|
+
# Ensures logs from previous invocations do not leak into current execution
|
1133
|
+
# Prevent memory excessive usage
|
1134
|
+
self._buffer_cache.clear()
|
1135
|
+
|
1130
1136
|
log_record: dict[str, Any] = _create_buffer_record(
|
1131
1137
|
level=level,
|
1132
1138
|
msg=msg,
|
@@ -2,6 +2,7 @@ from __future__ import annotations
|
|
2
2
|
|
3
3
|
import os
|
4
4
|
from datetime import datetime
|
5
|
+
from typing import TYPE_CHECKING
|
5
6
|
|
6
7
|
from aws_lambda_powertools.metrics.provider.cloudwatch_emf.exceptions import (
|
7
8
|
MetricResolutionError,
|
@@ -11,6 +12,9 @@ from aws_lambda_powertools.metrics.provider.cloudwatch_emf.metric_properties imp
|
|
11
12
|
from aws_lambda_powertools.shared import constants
|
12
13
|
from aws_lambda_powertools.shared.functions import strtobool
|
13
14
|
|
15
|
+
if TYPE_CHECKING:
|
16
|
+
from aws_lambda_powertools.utilities.typing.lambda_context import LambdaContext
|
17
|
+
|
14
18
|
|
15
19
|
def extract_cloudwatch_metric_resolution_value(metric_resolutions: list, resolution: int | MetricResolution) -> int:
|
16
20
|
"""Return metric value from CloudWatch metric unit whether that's str or MetricResolution enum
|
@@ -161,3 +165,37 @@ def is_metrics_disabled() -> bool:
|
|
161
165
|
]
|
162
166
|
|
163
167
|
return any(disable_conditions)
|
168
|
+
|
169
|
+
|
170
|
+
def resolve_cold_start_function_name(function_name: str | None, context: LambdaContext) -> str:
|
171
|
+
"""
|
172
|
+
Resolve the function name for ColdStart metrics with a prioritized approach.
|
173
|
+
|
174
|
+
Parameters
|
175
|
+
----------
|
176
|
+
function_name : str, optional
|
177
|
+
Explicitly provided function name (highest priority).
|
178
|
+
context : LambdaContext
|
179
|
+
AWS Lambda context object.
|
180
|
+
|
181
|
+
Returns
|
182
|
+
-------
|
183
|
+
str
|
184
|
+
Resolved function name.
|
185
|
+
|
186
|
+
Notes
|
187
|
+
-----
|
188
|
+
Function name resolution follows this priority:
|
189
|
+
1. Explicitly provided function_name
|
190
|
+
2. Environment variable POWERTOOLS_METRICS_FUNCTION_NAME
|
191
|
+
3. Lambda context function name
|
192
|
+
"""
|
193
|
+
|
194
|
+
if function_name:
|
195
|
+
return function_name
|
196
|
+
|
197
|
+
metrics_function_name_env = os.getenv(constants.METRICS_FUNCTION_NAME_ENV)
|
198
|
+
if metrics_function_name_env:
|
199
|
+
return metrics_function_name_env
|
200
|
+
|
201
|
+
return context.function_name
|
@@ -86,6 +86,7 @@ class Metrics:
|
|
86
86
|
service: str | None = None,
|
87
87
|
namespace: str | None = None,
|
88
88
|
provider: AmazonCloudWatchEMFProvider | None = None,
|
89
|
+
function_name: str | None = None,
|
89
90
|
):
|
90
91
|
self.metric_set = self._metrics
|
91
92
|
self.metadata_set = self._metadata
|
@@ -102,6 +103,7 @@ class Metrics:
|
|
102
103
|
dimension_set=self.dimension_set,
|
103
104
|
metadata_set=self.metadata_set,
|
104
105
|
default_dimensions=self._default_dimensions,
|
106
|
+
function_name=function_name,
|
105
107
|
)
|
106
108
|
else:
|
107
109
|
self.provider = provider
|
@@ -16,6 +16,7 @@ from aws_lambda_powertools.metrics.functions import (
|
|
16
16
|
extract_cloudwatch_metric_resolution_value,
|
17
17
|
extract_cloudwatch_metric_unit_value,
|
18
18
|
is_metrics_disabled,
|
19
|
+
resolve_cold_start_function_name,
|
19
20
|
validate_emf_timestamp,
|
20
21
|
)
|
21
22
|
from aws_lambda_powertools.metrics.provider.base import BaseProvider
|
@@ -51,6 +52,10 @@ class AmazonCloudWatchEMFProvider(BaseProvider):
|
|
51
52
|
metric namespace to be set for all metrics
|
52
53
|
POWERTOOLS_SERVICE_NAME : str
|
53
54
|
service name used for default dimension
|
55
|
+
POWERTOOLS_METRICS_FUNCTION_NAME: str
|
56
|
+
function name used as dimension for the ColdStart metric
|
57
|
+
POWERTOOLS_METRICS_DISABLED: bool
|
58
|
+
disables all metrics emitted by Powertools
|
54
59
|
|
55
60
|
Raises
|
56
61
|
------
|
@@ -72,12 +77,14 @@ class AmazonCloudWatchEMFProvider(BaseProvider):
|
|
72
77
|
metadata_set: dict[str, Any] | None = None,
|
73
78
|
service: str | None = None,
|
74
79
|
default_dimensions: dict[str, Any] | None = None,
|
80
|
+
function_name: str | None = None,
|
75
81
|
):
|
76
82
|
self.metric_set = metric_set if metric_set is not None else {}
|
77
83
|
self.dimension_set = dimension_set if dimension_set is not None else {}
|
78
84
|
self.default_dimensions = default_dimensions or {}
|
79
85
|
self.namespace = resolve_env_var_choice(choice=namespace, env=os.getenv(constants.METRICS_NAMESPACE_ENV))
|
80
86
|
self.service = resolve_env_var_choice(choice=service, env=os.getenv(constants.SERVICE_NAME_ENV))
|
87
|
+
self.function_name = function_name
|
81
88
|
|
82
89
|
self.metadata_set = metadata_set if metadata_set is not None else {}
|
83
90
|
self.timestamp: int | None = None
|
@@ -445,9 +452,11 @@ class AmazonCloudWatchEMFProvider(BaseProvider):
|
|
445
452
|
context : Any
|
446
453
|
Lambda context
|
447
454
|
"""
|
455
|
+
|
456
|
+
cold_start_function_name = resolve_cold_start_function_name(function_name=self.function_name, context=context)
|
448
457
|
logger.debug("Adding cold start metric and function_name dimension")
|
449
458
|
with single_metric(name="ColdStart", unit=MetricUnit.Count, value=1, namespace=self.namespace) as metric:
|
450
|
-
metric.add_dimension(name="function_name", value=
|
459
|
+
metric.add_dimension(name="function_name", value=cold_start_function_name)
|
451
460
|
if self.service:
|
452
461
|
metric.add_dimension(name="service", value=str(self.service))
|
453
462
|
|
@@ -10,7 +10,7 @@ import warnings
|
|
10
10
|
from typing import TYPE_CHECKING, Any
|
11
11
|
|
12
12
|
from aws_lambda_powertools.metrics.exceptions import MetricValueError, SchemaValidationError
|
13
|
-
from aws_lambda_powertools.metrics.functions import is_metrics_disabled
|
13
|
+
from aws_lambda_powertools.metrics.functions import is_metrics_disabled, resolve_cold_start_function_name
|
14
14
|
from aws_lambda_powertools.metrics.provider import BaseProvider
|
15
15
|
from aws_lambda_powertools.metrics.provider.datadog.warnings import DatadogDataValidationWarning
|
16
16
|
from aws_lambda_powertools.shared import constants
|
@@ -58,8 +58,10 @@ class DatadogProvider(BaseProvider):
|
|
58
58
|
namespace: str | None = None,
|
59
59
|
flush_to_log: bool | None = None,
|
60
60
|
default_tags: dict[str, Any] | None = None,
|
61
|
+
function_name: str | None = None,
|
61
62
|
):
|
62
63
|
self.metric_set = metric_set if metric_set is not None else []
|
64
|
+
self.function_name = function_name
|
63
65
|
self.namespace = (
|
64
66
|
resolve_env_var_choice(choice=namespace, env=os.getenv(constants.METRICS_NAMESPACE_ENV))
|
65
67
|
or DEFAULT_NAMESPACE
|
@@ -224,8 +226,11 @@ class DatadogProvider(BaseProvider):
|
|
224
226
|
context : Any
|
225
227
|
Lambda context
|
226
228
|
"""
|
229
|
+
|
230
|
+
cold_start_function_name = resolve_cold_start_function_name(function_name=self.function_name, context=context)
|
231
|
+
|
227
232
|
logger.debug("Adding cold start metric and function_name tagging")
|
228
|
-
self.add_metric(name="ColdStart", value=1, function_name=
|
233
|
+
self.add_metric(name="ColdStart", value=1, function_name=cold_start_function_name)
|
229
234
|
|
230
235
|
def log_metrics(
|
231
236
|
self,
|
@@ -41,6 +41,7 @@ METRICS_NAMESPACE_ENV: str = "POWERTOOLS_METRICS_NAMESPACE"
|
|
41
41
|
DATADOG_FLUSH_TO_LOG: str = "DD_FLUSH_TO_LOG"
|
42
42
|
SERVICE_NAME_ENV: str = "POWERTOOLS_SERVICE_NAME"
|
43
43
|
METRICS_DISABLED_ENV: str = "POWERTOOLS_METRICS_DISABLED"
|
44
|
+
METRICS_FUNCTION_NAME_ENV: str = "POWERTOOLS_METRICS_FUNCTION_NAME"
|
44
45
|
# If the timestamp of log event is more than 2 hours in future, the log event is skipped.
|
45
46
|
# If the timestamp of log event is more than 14 days in past, the log event is skipped.
|
46
47
|
# See https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html
|
@@ -495,7 +495,7 @@ class PreTokenGenerationTriggerV2EventRequest(PreTokenGenerationTriggerEventRequ
|
|
495
495
|
return self.get("scopes") or []
|
496
496
|
|
497
497
|
|
498
|
-
class
|
498
|
+
class ClaimsOverrideBase(DictWrapper):
|
499
499
|
@property
|
500
500
|
def claims_to_add_or_override(self) -> dict[str, str]:
|
501
501
|
return self.get("claimsToAddOrOverride") or {}
|
@@ -515,6 +515,8 @@ class ClaimsOverrideDetails(DictWrapper):
|
|
515
515
|
"""A list that contains claims to be suppressed from the identity token."""
|
516
516
|
self._data["claimsToSuppress"] = value
|
517
517
|
|
518
|
+
|
519
|
+
class GroupConfigurationBase(DictWrapper):
|
518
520
|
@property
|
519
521
|
def group_configuration(self) -> GroupOverrideDetails | None:
|
520
522
|
group_override_details = self.get("groupOverrideDetails")
|
@@ -549,26 +551,11 @@ class ClaimsOverrideDetails(DictWrapper):
|
|
549
551
|
self["groupOverrideDetails"]["preferredRole"] = value
|
550
552
|
|
551
553
|
|
552
|
-
class
|
553
|
-
|
554
|
-
def claims_to_add_or_override(self) -> dict[str, str]:
|
555
|
-
return self.get("claimsToAddOrOverride") or {}
|
556
|
-
|
557
|
-
@claims_to_add_or_override.setter
|
558
|
-
def claims_to_add_or_override(self, value: dict[str, str]):
|
559
|
-
"""A map of one or more key-value pairs of claims to add or override.
|
560
|
-
For group related claims, use groupOverrideDetails instead."""
|
561
|
-
self._data["claimsToAddOrOverride"] = value
|
562
|
-
|
563
|
-
@property
|
564
|
-
def claims_to_suppress(self) -> list[str]:
|
565
|
-
return self.get("claimsToSuppress") or []
|
554
|
+
class ClaimsOverrideDetails(ClaimsOverrideBase, GroupConfigurationBase):
|
555
|
+
pass
|
566
556
|
|
567
|
-
@claims_to_suppress.setter
|
568
|
-
def claims_to_suppress(self, value: list[str]):
|
569
|
-
"""A list that contains claims to be suppressed from the identity token."""
|
570
|
-
self._data["claimsToSuppress"] = value
|
571
557
|
|
558
|
+
class TokenClaimsAndScopeOverrideDetails(ClaimsOverrideBase):
|
572
559
|
@property
|
573
560
|
def scopes_to_add(self) -> list[str]:
|
574
561
|
return self.get("scopesToAdd") or []
|
@@ -586,8 +573,7 @@ class TokenClaimsAndScopeOverrideDetails(DictWrapper):
|
|
586
573
|
self._data["scopesToSuppress"] = value
|
587
574
|
|
588
575
|
|
589
|
-
class ClaimsAndScopeOverrideDetails(
|
590
|
-
|
576
|
+
class ClaimsAndScopeOverrideDetails(GroupConfigurationBase):
|
591
577
|
@property
|
592
578
|
def id_token_generation(self) -> TokenClaimsAndScopeOverrideDetails | None:
|
593
579
|
id_token_generation_details = self._data.get("idTokenGeneration")
|
@@ -632,39 +618,6 @@ class ClaimsAndScopeOverrideDetails(DictWrapper):
|
|
632
618
|
"""
|
633
619
|
self._data["accessTokenGeneration"] = value
|
634
620
|
|
635
|
-
@property
|
636
|
-
def group_configuration(self) -> GroupOverrideDetails | None:
|
637
|
-
group_override_details = self.get("groupOverrideDetails")
|
638
|
-
return None if group_override_details is None else GroupOverrideDetails(group_override_details)
|
639
|
-
|
640
|
-
@group_configuration.setter
|
641
|
-
def group_configuration(self, value: dict[str, Any]):
|
642
|
-
"""The output object containing the current group configuration.
|
643
|
-
|
644
|
-
It includes groupsToOverride, iamRolesToOverride, and preferredRole.
|
645
|
-
|
646
|
-
The groupOverrideDetails object is replaced with the one you provide. If you provide an empty or null
|
647
|
-
object in the response, then the groups are suppressed. To leave the existing group configuration
|
648
|
-
as is, copy the value of the request's groupConfiguration object to the groupOverrideDetails object
|
649
|
-
in the response, and pass it back to the service.
|
650
|
-
"""
|
651
|
-
self._data["groupOverrideDetails"] = value
|
652
|
-
|
653
|
-
def set_group_configuration_groups_to_override(self, value: list[str]):
|
654
|
-
"""A list of the group names that are associated with the user that the identity token is issued for."""
|
655
|
-
self._data.setdefault("groupOverrideDetails", {})
|
656
|
-
self["groupOverrideDetails"]["groupsToOverride"] = value
|
657
|
-
|
658
|
-
def set_group_configuration_iam_roles_to_override(self, value: list[str]):
|
659
|
-
"""A list of the current IAM roles associated with these groups."""
|
660
|
-
self._data.setdefault("groupOverrideDetails", {})
|
661
|
-
self["groupOverrideDetails"]["iamRolesToOverride"] = value
|
662
|
-
|
663
|
-
def set_group_configuration_preferred_role(self, value: str):
|
664
|
-
"""A string indicating the preferred IAM role."""
|
665
|
-
self._data.setdefault("groupOverrideDetails", {})
|
666
|
-
self["groupOverrideDetails"]["preferredRole"] = value
|
667
|
-
|
668
621
|
|
669
622
|
class PreTokenGenerationTriggerEventResponse(DictWrapper):
|
670
623
|
@property
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "aws_lambda_powertools"
|
3
|
-
version = "3.8.
|
3
|
+
version = "3.8.1a9"
|
4
4
|
description = "Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity."
|
5
5
|
authors = ["Amazon Web Services"]
|
6
6
|
include = ["aws_lambda_powertools/py.typed", "THIRD-PARTY-LICENSES"]
|
@@ -107,7 +107,7 @@ hvac = "^2.3.0"
|
|
107
107
|
aws-requests-auth = "^0.4.3"
|
108
108
|
urllib3 = "<2"
|
109
109
|
requests = ">=2.32.0"
|
110
|
-
cfn-lint = "1.31.
|
110
|
+
cfn-lint = "1.31.3"
|
111
111
|
mypy = "^1.1.1"
|
112
112
|
types-python-dateutil = "^2.8.19.6"
|
113
113
|
aws-cdk-aws-appsync-alpha = "^2.59.0a0"
|
@@ -65,7 +65,7 @@ extras_require = \
|
|
65
65
|
|
66
66
|
setup_kwargs = {
|
67
67
|
'name': 'aws_lambda_powertools',
|
68
|
-
'version': '3.8.
|
68
|
+
'version': '3.8.1a9',
|
69
69
|
'description': 'Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity.',
|
70
70
|
'long_description': '<!-- markdownlint-disable MD013 MD041 MD043 -->\n# Powertools for AWS Lambda (Python)\n\n[](https://github.com/aws-powertools/powertools-lambda-python/actions/workflows/python_build.yml)\n[](https://app.codecov.io/gh/aws-powertools/powertools-lambda-python)\n   [](https://api.securityscorecards.dev/projects/github.com/aws-powertools/powertools-lambda-python) [](https://discord.gg/B8zZKbbyET)\n\nPowertools for AWS Lambda (Python) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://docs.powertools.aws.dev/lambda/python/latest/#features).\n\n> Also available in [Java](https://github.com/aws-powertools/powertools-lambda-java), [Typescript](https://github.com/aws-powertools/powertools-lambda-typescript), and [.NET](https://github.com/aws-powertools/powertools-lambda-dotnet).\n\n**[📜Documentation](https://docs.powertools.aws.dev/lambda/python/)** | **[🐍PyPi](https://pypi.org/project/aws-lambda-powertools/)** | **[Roadmap](https://docs.powertools.aws.dev/lambda/python/latest/roadmap/)** | **[Detailed blog post](https://aws.amazon.com/blogs/opensource/simplifying-serverless-best-practices-with-lambda-powertools/)**\n\n\n\n## Features\n\n* **[Tracing](https://docs.powertools.aws.dev/lambda/python/latest/core/tracer/)** - Decorators and utilities to trace Lambda function handlers, and both synchronous and asynchronous functions\n* **[Logging](https://docs.powertools.aws.dev/lambda/python/latest/core/logger/)** - Structured logging made easier, and decorator to enrich structured logging with key Lambda context details\n* **[Metrics](https://docs.powertools.aws.dev/lambda/python/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)\n* **[Event handler: AppSync](https://docs.powertools.aws.dev/lambda/python/latest/core/event_handler/appsync/)** - AWS AppSync event handler for Lambda Direct Resolver and Amplify GraphQL Transformer function\n* **[Event handler: API Gateway and ALB](https://docs.powertools.aws.dev/lambda/python/latest/core/event_handler/api_gateway/)** - Amazon API Gateway REST/HTTP API and ALB event handler for Lambda functions invoked using Proxy integration\n* **[Event handler: Agents for Amazon Bedrock](https://docs.powertools.aws.dev/lambda/python/latest/core/event_handler/bedrock_agents/)** - Create Agents for Amazon Bedrock, automatically generating OpenAPI schemas\n* **[Bring your own middleware](https://docs.powertools.aws.dev/lambda/python/latest/utilities/middleware_factory/)** - Decorator factory to create your own middleware to run logic before, and after each Lambda invocation\n* **[Parameters utility](https://docs.powertools.aws.dev/lambda/python/latest/utilities/parameters/)** - Retrieve and cache parameter values from Parameter Store, Secrets Manager, or DynamoDB\n* **[Batch processing](https://docs.powertools.aws.dev/lambda/python/latest/utilities/batch/)** - Handle partial failures for AWS SQS batch processing\n* **[Typing](https://docs.powertools.aws.dev/lambda/python/latest/utilities/typing/)** - Static typing classes to speedup development in your IDE\n* **[Validation](https://docs.powertools.aws.dev/lambda/python/latest/utilities/validation/)** - JSON Schema validator for inbound events and responses\n* **[Event source data classes](https://docs.powertools.aws.dev/lambda/python/latest/utilities/data_classes/)** - Data classes describing the schema of common Lambda event triggers\n* **[Parser](https://docs.powertools.aws.dev/lambda/python/latest/utilities/parser/)** - Data parsing and deep validation using Pydantic\n* **[Idempotency](https://docs.powertools.aws.dev/lambda/python/latest/utilities/idempotency/)** - Convert your Lambda functions into idempotent operations which are safe to retry\n* **[Data Masking](https://docs.powertools.aws.dev/lambda/python/latest/utilities/data_masking/)** - Protect confidential data with easy removal or encryption\n* **[Feature Flags](https://docs.powertools.aws.dev/lambda/python/latest/utilities/feature_flags/)** - A simple rule engine to evaluate when one or multiple features should be enabled depending on the input\n* **[Streaming](https://docs.powertools.aws.dev/lambda/python/latest/utilities/streaming/)** - Streams datasets larger than the available memory as streaming data.\n\n### Installation\n\nWith [pip](https://pip.pypa.io/en/latest/index.html) installed, run: ``pip install aws-lambda-powertools``\n\n## Tutorial and Examples\n\n* [Tutorial](https://docs.powertools.aws.dev/lambda/python/latest/tutorial)\n* [Serverless Shopping cart](https://github.com/aws-samples/aws-serverless-shopping-cart)\n* [Serverless Airline](https://github.com/aws-samples/aws-serverless-airline-booking)\n* [Serverless E-commerce platform](https://github.com/aws-samples/aws-serverless-ecommerce-platform)\n* [Serverless GraphQL Nanny Booking Api](https://github.com/trey-rosius/babysitter_api)\n\n## How to support Powertools for AWS Lambda (Python)?\n\n### Becoming a reference customer\n\nKnowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (Python), you can request to have your name and logo added to the README file by raising a [Support Powertools for AWS Lambda (Python) (become a reference)](https://github.com/aws-powertools/powertools-lambda-python/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E) issue.\n\nThe following companies, among others, use Powertools:\n\n* [Alma Media](https://www.almamedia.fi/en/)\n* [Banxware](https://www.banxware.com/)\n* [Brsk](https://www.brsk.co.uk/)\n* [BusPatrol](https://buspatrol.com/)\n* [Capital One](https://www.capitalone.com/)\n* [Caylent](https://caylent.com/)\n* [CHS Inc.](https://www.chsinc.com/)\n* [CPQi (Exadel Financial Services)](https://cpqi.com/)\n* [CloudZero](https://www.cloudzero.com/)\n* [CyberArk](https://www.cyberark.com/)\n* [Flyweight](https://flyweight.io/)\n* [globaldatanet](https://globaldatanet.com/)\n* [IMS](https://ims.tech/)\n* [Jit Security](https://www.jit.io/)\n* [LocalStack](https://www.localstack.cloud/)\n* [Propellor.ai](https://www.propellor.ai/)\n* [Pushpay](https://pushpay.com/)\n* [Recast](https://getrecast.com/)\n* [TopSport](https://www.topsport.com.au/)\n* [Transformity](https://transformity.tech/)\n* [Trek10](https://www.trek10.com/)\n* [Vertex Pharmaceuticals](https://www.vrtx.com/)\n\n### Sharing your work\n\nShare what you did with Powertools for AWS Lambda (Python) 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (Python) [here](https://docs.powertools.aws.dev/lambda/python/latest/we_made_this/).\n\n### Using Lambda Layer or SAR\n\nThis helps us understand who uses Powertools for AWS Lambda (Python) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/python/latest/#lambda-layer), you can add Powertools for AWS Lambda (Python) as a dev dependency (or as part of your virtual env) to not impact the development process.\n\n## Credits\n\n* Structured logging initial implementation from [aws-lambda-logging](https://gitlab.com/hadrien/aws_lambda_logging)\n* Powertools for AWS Lambda (Python) idea [DAZN Powertools](https://github.com/getndazn/dazn-lambda-powertools/)\n\n## Connect\n\n* **Powertools for AWS Lambda on Discord**: `#python` - **[Invite link](https://discord.gg/B8zZKbbyET)**\n* **Email**: <aws-powertools-maintainers@amazon.com>\n\n## Security disclosures\n\nIf you think you’ve found a potential security issue, please do not post it in the Issues. Instead, please follow the instructions [here](https://aws.amazon.com/security/vulnerability-reporting/) or [email AWS security directly](mailto:aws-security@amazon.com).\n\n## License\n\nThis library is licensed under the MIT-0 License. See the LICENSE file.\n',
|
71
71
|
'author': 'Amazon Web Services',
|
File without changes
|
File without changes
|
File without changes
|
{aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{aws_lambda_powertools-3.8.1a7 → aws_lambda_powertools-3.8.1a9}/aws_lambda_powertools/py.typed
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|