aws-lambda-powertools 2.24.0__tar.gz → 2.25.1__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-2.24.0 → aws_lambda_powertools-2.25.1}/PKG-INFO +1 -1
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/middlewares/base.py +1 -2
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/filters.py +2 -2
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/formatter.py +9 -9
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/logger.py +35 -24
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/types.py +2 -17
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/base.py +2 -2
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/functions.py +1 -2
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/base.py +2 -2
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/types.py +1 -3
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/types.py +1 -1
- aws_lambda_powertools-2.25.1/aws_lambda_powertools/shared/__init__.py +1 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/cookies.py +3 -1
- aws_lambda_powertools-2.25.1/aws_lambda_powertools/shared/types.py +25 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/version.py +1 -1
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/batch/types.py +2 -5
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/__init__.py +11 -1
- aws_lambda_powertools-2.25.1/aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py +308 -0
- aws_lambda_powertools-2.25.1/aws_lambda_powertools/utilities/data_classes/secrets_manager_event.py +24 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/base.py +1 -1
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/ssm.py +1 -1
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/types.py +1 -1
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/cloudwatch.py +3 -1
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/types.py +1 -6
- aws_lambda_powertools-2.25.1/aws_lambda_powertools/utilities/serialization.py +59 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/s3_object.py +1 -2
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/pyproject.toml +9 -9
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/setup.py +1 -1
- aws_lambda_powertools-2.24.0/aws_lambda_powertools/shared/types.py +0 -14
- aws_lambda_powertools-2.24.0/aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py +0 -112
- aws_lambda_powertools-2.24.0/aws_lambda_powertools/utilities/idempotency/serialization/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/LICENSE +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/README.md +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/THIRD-PARTY-LICENSES +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/api_gateway.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/appsync.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/content_types.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/exceptions.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/lambda_function_url.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/middlewares/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/middlewares/schema_validation.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/router.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/types.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/vpc_lattice.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/exceptions/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/compat.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/correlation_paths.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/exceptions.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/formatters/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/formatters/datadog.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/lambda_context.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/utils.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/exceptions.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/metric.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/metrics.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/cloudwatch.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/constants.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/exceptions.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/metric_properties.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/cold_start.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/datadog/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/datadog/datadog.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/datadog/metrics.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/datadog/warnings.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/middleware_factory/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/middleware_factory/exceptions.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/middleware_factory/factory.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/package_logger.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/py.typed +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/cache_dict.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/constants.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/functions.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/headers_serializer.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/json_encoder.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/lazy_import.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/user_agent.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/tracing/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/tracing/base.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/tracing/extensions.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/tracing/tracer.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/batch/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/batch/base.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/batch/decorators.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/batch/exceptions.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/batch/sqs_fifo_partial_processor.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/active_mq_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/alb_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/api_gateway_authorizer_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/api_gateway_proxy_event.py +0 -0
- {aws_lambda_powertools-2.24.0/aws_lambda_powertools/shared → aws_lambda_powertools-2.25.1/aws_lambda_powertools/utilities/data_classes/appsync}/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/appsync/scalar_types_utils.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/appsync_authorizer_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/appsync_resolver_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/aws_config_rule_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/cloud_watch_custom_widget_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/cloud_watch_logs_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/code_pipeline_job_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/cognito_user_pool_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/common.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/connect_contact_flow_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/event_bridge_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/event_source.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/kafka_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/kinesis_stream_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/lambda_function_url_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/rabbit_mq_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/s3_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/s3_object_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/ses_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/shared_functions.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/sns_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/sqs_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/vpc_lattice.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/feature_flags/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/feature_flags/appconfig.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/feature_flags/base.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/feature_flags/comparators.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/feature_flags/exceptions.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/feature_flags/feature_flags.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/feature_flags/schema.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/base.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/config.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/exceptions.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/idempotency.py +0 -0
- {aws_lambda_powertools-2.24.0/aws_lambda_powertools/utilities/data_classes/appsync → aws_lambda_powertools-2.25.1/aws_lambda_powertools/utilities/idempotency/persistence}/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/persistence/base.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/persistence/dynamodb.py +0 -0
- {aws_lambda_powertools-2.24.0/aws_lambda_powertools/utilities/idempotency/persistence → aws_lambda_powertools-2.25.1/aws_lambda_powertools/utilities/idempotency/serialization}/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/serialization/base.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/serialization/dataclass.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/serialization/no_op.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/serialization/pydantic.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/jmespath_utils/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/jmespath_utils/envelopes.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/appconfig.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/dynamodb.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/exceptions.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/secrets.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/compat.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/apigw.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/apigwv2.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/base.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/event_bridge.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/kafka.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/kinesis.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/kinesis_firehose.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/lambda_function_url.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/sns.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/sqs.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/vpc_lattice.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/exceptions.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/alb.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/apigw.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/apigwv2.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/cloudformation_custom_resource.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/dynamodb.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/event_bridge.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/kafka.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/kinesis.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose_sqs.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/lambda_function_url.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/s3.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/s3_event_notification.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/s3_object_event.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/ses.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/sns.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/sqs.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/vpc_lattice.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/parser.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/pydantic.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/_s3_seekable_io.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/compat.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/transformations/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/transformations/base.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/transformations/csv.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/transformations/gzip.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/transformations/zip.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/typing/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/typing/lambda_client_context.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/typing/lambda_client_context_mobile_client.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/typing/lambda_cognito_identity.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/typing/lambda_context.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/validation/__init__.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/validation/base.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/validation/envelopes.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/validation/exceptions.py +0 -0
- {aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/validation/validator.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: aws-lambda-powertools
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.25.1
|
|
4
4
|
Summary: Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity.
|
|
5
5
|
Home-page: https://github.com/aws-powertools/powertools-lambda-python
|
|
6
6
|
License: MIT
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
from abc import ABC, abstractmethod
|
|
2
2
|
from typing import Generic
|
|
3
3
|
|
|
4
|
-
from typing_extensions import Protocol
|
|
5
|
-
|
|
6
4
|
from aws_lambda_powertools.event_handler.api_gateway import Response
|
|
7
5
|
from aws_lambda_powertools.event_handler.types import EventHandlerInstance
|
|
6
|
+
from aws_lambda_powertools.shared.types import Protocol
|
|
8
7
|
|
|
9
8
|
|
|
10
9
|
class NextMiddleware(Protocol):
|
|
@@ -2,10 +2,10 @@ import logging
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class SuppressFilter(logging.Filter):
|
|
5
|
-
def __init__(self, logger):
|
|
5
|
+
def __init__(self, logger: str):
|
|
6
6
|
self.logger = logger
|
|
7
7
|
|
|
8
|
-
def filter(self, record): # noqa: A003
|
|
8
|
+
def filter(self, record: logging.LogRecord) -> bool: # noqa: A003
|
|
9
9
|
"""Suppress Log Records from registered logger
|
|
10
10
|
|
|
11
11
|
It rejects log records from registered logger e.g. a child logger
|
|
@@ -44,14 +44,14 @@ RESERVED_LOG_ATTRS = (
|
|
|
44
44
|
|
|
45
45
|
class BasePowertoolsFormatter(logging.Formatter, metaclass=ABCMeta):
|
|
46
46
|
@abstractmethod
|
|
47
|
-
def append_keys(self, **additional_keys):
|
|
47
|
+
def append_keys(self, **additional_keys) -> None:
|
|
48
48
|
raise NotImplementedError()
|
|
49
49
|
|
|
50
|
-
def remove_keys(self, keys: Iterable[str]):
|
|
50
|
+
def remove_keys(self, keys: Iterable[str]) -> None:
|
|
51
51
|
raise NotImplementedError()
|
|
52
52
|
|
|
53
53
|
@abstractmethod
|
|
54
|
-
def clear_state(self):
|
|
54
|
+
def clear_state(self) -> None:
|
|
55
55
|
"""Removes any previously added logging keys"""
|
|
56
56
|
raise NotImplementedError()
|
|
57
57
|
|
|
@@ -78,7 +78,7 @@ class LambdaPowertoolsFormatter(BasePowertoolsFormatter):
|
|
|
78
78
|
utc: bool = False,
|
|
79
79
|
use_rfc3339: bool = False,
|
|
80
80
|
**kwargs,
|
|
81
|
-
):
|
|
81
|
+
) -> None:
|
|
82
82
|
"""Return a LambdaPowertoolsFormatter instance.
|
|
83
83
|
|
|
84
84
|
The `log_record_order` kwarg is used to specify the order of the keys used in
|
|
@@ -217,26 +217,26 @@ class LambdaPowertoolsFormatter(BasePowertoolsFormatter):
|
|
|
217
217
|
custom_fmt = self.default_time_format.replace(self.custom_ms_time_directive, msecs)
|
|
218
218
|
return time.strftime(custom_fmt, record_ts)
|
|
219
219
|
|
|
220
|
-
def append_keys(self, **additional_keys):
|
|
220
|
+
def append_keys(self, **additional_keys) -> None:
|
|
221
221
|
self.log_format.update(additional_keys)
|
|
222
222
|
|
|
223
|
-
def remove_keys(self, keys: Iterable[str]):
|
|
223
|
+
def remove_keys(self, keys: Iterable[str]) -> None:
|
|
224
224
|
for key in keys:
|
|
225
225
|
self.log_format.pop(key, None)
|
|
226
226
|
|
|
227
|
-
def clear_state(self):
|
|
227
|
+
def clear_state(self) -> None:
|
|
228
228
|
self.log_format = dict.fromkeys(self.log_record_order)
|
|
229
229
|
self.log_format.update(**self.keys_combined)
|
|
230
230
|
|
|
231
231
|
@staticmethod
|
|
232
|
-
def _build_default_keys():
|
|
232
|
+
def _build_default_keys() -> Dict[str, str]:
|
|
233
233
|
return {
|
|
234
234
|
"level": "%(levelname)s",
|
|
235
235
|
"location": "%(funcName)s:%(lineno)d",
|
|
236
236
|
"timestamp": "%(asctime)s",
|
|
237
237
|
}
|
|
238
238
|
|
|
239
|
-
def _get_latest_trace_id(self):
|
|
239
|
+
def _get_latest_trace_id(self) -> Optional[str]:
|
|
240
240
|
xray_trace_id_key = self.log_format.get("xray_trace_id", "")
|
|
241
241
|
if xray_trace_id_key is None:
|
|
242
242
|
# key is explicitly disabled; ignore it. e.g., Logger(xray_trace_id=None)
|
|
@@ -221,7 +221,7 @@ class Logger:
|
|
|
221
221
|
utc: bool = False,
|
|
222
222
|
use_rfc3339: bool = False,
|
|
223
223
|
**kwargs,
|
|
224
|
-
):
|
|
224
|
+
) -> None:
|
|
225
225
|
self.service = resolve_env_var_choice(
|
|
226
226
|
choice=service,
|
|
227
227
|
env=os.getenv(constants.SERVICE_NAME_ENV, "service_undefined"),
|
|
@@ -270,7 +270,7 @@ class Logger:
|
|
|
270
270
|
# https://github.com/aws-powertools/powertools-lambda-python/issues/97
|
|
271
271
|
return getattr(self._logger, name)
|
|
272
272
|
|
|
273
|
-
def _get_logger(self):
|
|
273
|
+
def _get_logger(self) -> logging.Logger:
|
|
274
274
|
"""Returns a Logger named {self.service}, or {self.service.filename} for child loggers"""
|
|
275
275
|
logger_name = self.service
|
|
276
276
|
if self.child:
|
|
@@ -278,7 +278,12 @@ class Logger:
|
|
|
278
278
|
|
|
279
279
|
return logging.getLogger(logger_name)
|
|
280
280
|
|
|
281
|
-
def _init_logger(
|
|
281
|
+
def _init_logger(
|
|
282
|
+
self,
|
|
283
|
+
formatter_options: Optional[Dict] = None,
|
|
284
|
+
log_level: Union[str, int, None] = None,
|
|
285
|
+
**kwargs,
|
|
286
|
+
) -> None:
|
|
282
287
|
"""Configures new logger"""
|
|
283
288
|
|
|
284
289
|
# Skip configuration if it's a child logger or a pre-configured logger
|
|
@@ -296,7 +301,7 @@ class Logger:
|
|
|
296
301
|
self.structure_logs(formatter_options=formatter_options, **kwargs)
|
|
297
302
|
|
|
298
303
|
# Maintenance: We can drop this upon Py3.7 EOL. It's a backport for "location" key to work
|
|
299
|
-
self._logger.findCaller = compat.findCaller
|
|
304
|
+
self._logger.findCaller = compat.findCaller # type: ignore[method-assign]
|
|
300
305
|
|
|
301
306
|
# Pytest Live Log feature duplicates log records for colored output
|
|
302
307
|
# but we explicitly add a filter for log deduplication.
|
|
@@ -313,9 +318,9 @@ class Logger:
|
|
|
313
318
|
# therefore we set a custom attribute in the Logger that will be returned
|
|
314
319
|
# std logging will return the same Logger with our attribute if name is reused
|
|
315
320
|
logger.debug(f"Marking logger {self.service} as preconfigured")
|
|
316
|
-
self._logger.init = True
|
|
321
|
+
self._logger.init = True # type: ignore[attr-defined]
|
|
317
322
|
|
|
318
|
-
def _configure_sampling(self):
|
|
323
|
+
def _configure_sampling(self) -> None:
|
|
319
324
|
"""Dynamically set log level based on sampling rate
|
|
320
325
|
|
|
321
326
|
Raises
|
|
@@ -329,8 +334,10 @@ class Logger:
|
|
|
329
334
|
self._logger.setLevel(logging.DEBUG)
|
|
330
335
|
except ValueError:
|
|
331
336
|
raise InvalidLoggerSamplingRateError(
|
|
332
|
-
|
|
333
|
-
|
|
337
|
+
(
|
|
338
|
+
f"Expected a float value ranging 0 to 1, but received {self.sampling_rate} instead."
|
|
339
|
+
"Please review POWERTOOLS_LOGGER_SAMPLE_RATE environment variable."
|
|
340
|
+
),
|
|
334
341
|
)
|
|
335
342
|
|
|
336
343
|
@overload
|
|
@@ -452,7 +459,7 @@ class Logger:
|
|
|
452
459
|
stacklevel: int = 2,
|
|
453
460
|
extra: Optional[Mapping[str, object]] = None,
|
|
454
461
|
**kwargs,
|
|
455
|
-
):
|
|
462
|
+
) -> None:
|
|
456
463
|
extra = extra or {}
|
|
457
464
|
extra = {**extra, **kwargs}
|
|
458
465
|
|
|
@@ -477,7 +484,7 @@ class Logger:
|
|
|
477
484
|
stacklevel: int = 2,
|
|
478
485
|
extra: Optional[Mapping[str, object]] = None,
|
|
479
486
|
**kwargs,
|
|
480
|
-
):
|
|
487
|
+
) -> None:
|
|
481
488
|
extra = extra or {}
|
|
482
489
|
extra = {**extra, **kwargs}
|
|
483
490
|
|
|
@@ -502,7 +509,7 @@ class Logger:
|
|
|
502
509
|
stacklevel: int = 2,
|
|
503
510
|
extra: Optional[Mapping[str, object]] = None,
|
|
504
511
|
**kwargs,
|
|
505
|
-
):
|
|
512
|
+
) -> None:
|
|
506
513
|
extra = extra or {}
|
|
507
514
|
extra = {**extra, **kwargs}
|
|
508
515
|
|
|
@@ -527,7 +534,7 @@ class Logger:
|
|
|
527
534
|
stacklevel: int = 2,
|
|
528
535
|
extra: Optional[Mapping[str, object]] = None,
|
|
529
536
|
**kwargs,
|
|
530
|
-
):
|
|
537
|
+
) -> None:
|
|
531
538
|
extra = extra or {}
|
|
532
539
|
extra = {**extra, **kwargs}
|
|
533
540
|
|
|
@@ -552,7 +559,7 @@ class Logger:
|
|
|
552
559
|
stacklevel: int = 2,
|
|
553
560
|
extra: Optional[Mapping[str, object]] = None,
|
|
554
561
|
**kwargs,
|
|
555
|
-
):
|
|
562
|
+
) -> None:
|
|
556
563
|
extra = extra or {}
|
|
557
564
|
extra = {**extra, **kwargs}
|
|
558
565
|
|
|
@@ -577,7 +584,7 @@ class Logger:
|
|
|
577
584
|
stacklevel: int = 2,
|
|
578
585
|
extra: Optional[Mapping[str, object]] = None,
|
|
579
586
|
**kwargs,
|
|
580
|
-
):
|
|
587
|
+
) -> None:
|
|
581
588
|
extra = extra or {}
|
|
582
589
|
extra = {**extra, **kwargs}
|
|
583
590
|
|
|
@@ -593,13 +600,13 @@ class Logger:
|
|
|
593
600
|
extra=extra,
|
|
594
601
|
)
|
|
595
602
|
|
|
596
|
-
def append_keys(self, **additional_keys):
|
|
603
|
+
def append_keys(self, **additional_keys) -> None:
|
|
597
604
|
self.registered_formatter.append_keys(**additional_keys)
|
|
598
605
|
|
|
599
|
-
def remove_keys(self, keys: Iterable[str]):
|
|
606
|
+
def remove_keys(self, keys: Iterable[str]) -> None:
|
|
600
607
|
self.registered_formatter.remove_keys(keys)
|
|
601
608
|
|
|
602
|
-
def structure_logs(self, append: bool = False, formatter_options: Optional[Dict] = None, **keys):
|
|
609
|
+
def structure_logs(self, append: bool = False, formatter_options: Optional[Dict] = None, **keys) -> None:
|
|
603
610
|
"""Sets logging formatting to JSON.
|
|
604
611
|
|
|
605
612
|
Optionally, it can append keyword arguments
|
|
@@ -645,7 +652,7 @@ class Logger:
|
|
|
645
652
|
self.registered_formatter.clear_state()
|
|
646
653
|
self.registered_formatter.append_keys(**log_keys)
|
|
647
654
|
|
|
648
|
-
def set_correlation_id(self, value: Optional[str]):
|
|
655
|
+
def set_correlation_id(self, value: Optional[str]) -> None:
|
|
649
656
|
"""Sets the correlation_id in the logging json
|
|
650
657
|
|
|
651
658
|
Parameters
|
|
@@ -676,7 +683,9 @@ class Logger:
|
|
|
676
683
|
@property
|
|
677
684
|
def registered_handler(self) -> logging.Handler:
|
|
678
685
|
"""Convenience property to access the first logger handler"""
|
|
679
|
-
|
|
686
|
+
# We ignore mypy here because self.child encodes whether or not self._logger.parent is
|
|
687
|
+
# None, mypy can't see this from context but we can
|
|
688
|
+
handlers = self._logger.parent.handlers if self.child else self._logger.handlers # type: ignore[union-attr]
|
|
680
689
|
return handlers[0]
|
|
681
690
|
|
|
682
691
|
@property
|
|
@@ -720,7 +729,7 @@ def set_package_logger(
|
|
|
720
729
|
level: Union[str, int] = logging.DEBUG,
|
|
721
730
|
stream: Optional[IO[str]] = None,
|
|
722
731
|
formatter: Optional[logging.Formatter] = None,
|
|
723
|
-
):
|
|
732
|
+
) -> None:
|
|
724
733
|
"""Set an additional stream handler, formatter, and log level for aws_lambda_powertools package logger.
|
|
725
734
|
|
|
726
735
|
**Package log by default is suppressed (NullHandler), this should only used for debugging.
|
|
@@ -755,16 +764,18 @@ def set_package_logger(
|
|
|
755
764
|
logger.addHandler(handler)
|
|
756
765
|
|
|
757
766
|
|
|
758
|
-
def log_uncaught_exception_hook(exc_type, exc_value, exc_traceback, logger: Logger):
|
|
767
|
+
def log_uncaught_exception_hook(exc_type, exc_value, exc_traceback, logger: Logger) -> None:
|
|
759
768
|
"""Callback function for sys.excepthook to use Logger to log uncaught exceptions"""
|
|
760
769
|
logger.exception(exc_value, exc_info=(exc_type, exc_value, exc_traceback)) # pragma: no cover
|
|
761
770
|
|
|
762
771
|
|
|
763
|
-
def _get_caller_filename():
|
|
772
|
+
def _get_caller_filename() -> str:
|
|
764
773
|
"""Return caller filename by finding the caller frame"""
|
|
765
774
|
# Current frame => _get_logger()
|
|
766
775
|
# Previous frame => logger.py
|
|
767
776
|
# Before previous frame => Caller
|
|
777
|
+
# We ignore mypy here because *we* know that there will always be at least
|
|
778
|
+
# 3 frames (above) so repeatedly calling f_back is safe here
|
|
768
779
|
frame = inspect.currentframe()
|
|
769
|
-
caller_frame = frame.f_back.f_back.f_back
|
|
770
|
-
return caller_frame.f_globals["__name__"]
|
|
780
|
+
caller_frame = frame.f_back.f_back.f_back # type: ignore[union-attr]
|
|
781
|
+
return caller_frame.f_globals["__name__"] # type: ignore[union-attr]
|
{aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/types.py
RENAMED
|
@@ -1,24 +1,9 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
import sys
|
|
4
|
-
|
|
5
|
-
if sys.version_info >= (3, 11):
|
|
6
|
-
from typing import NotRequired
|
|
7
|
-
else:
|
|
8
|
-
from typing_extensions import NotRequired
|
|
9
|
-
|
|
10
|
-
if sys.version_info >= (3, 8):
|
|
11
|
-
from typing import TypedDict
|
|
12
|
-
else:
|
|
13
|
-
from typing_extensions import TypedDict
|
|
14
|
-
|
|
15
|
-
if sys.version_info >= (3, 10):
|
|
16
|
-
from typing import TypeAlias
|
|
17
|
-
else:
|
|
18
|
-
from typing_extensions import TypeAlias
|
|
19
|
-
|
|
20
3
|
from typing import Any, Dict, List, Union
|
|
21
4
|
|
|
5
|
+
from aws_lambda_powertools.shared.types import NotRequired, TypeAlias, TypedDict
|
|
6
|
+
|
|
22
7
|
LogRecord: TypeAlias = Union[Dict[str, Any], "PowertoolsLogRecord"]
|
|
23
8
|
|
|
24
9
|
|
{aws_lambda_powertools-2.24.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/base.py
RENAMED
|
@@ -378,11 +378,11 @@ class MetricManager:
|
|
|
378
378
|
)
|
|
379
379
|
|
|
380
380
|
@functools.wraps(lambda_handler)
|
|
381
|
-
def decorate(event, context):
|
|
381
|
+
def decorate(event, context, *args, **kwargs):
|
|
382
382
|
try:
|
|
383
383
|
if default_dimensions:
|
|
384
384
|
self.set_default_dimensions(**default_dimensions)
|
|
385
|
-
response = lambda_handler(event, context)
|
|
385
|
+
response = lambda_handler(event, context, *args, **kwargs)
|
|
386
386
|
if capture_cold_start_metric:
|
|
387
387
|
self._add_cold_start_metric(context=context)
|
|
388
388
|
finally:
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from typing import List
|
|
4
|
-
|
|
5
3
|
from aws_lambda_powertools.metrics.provider.cloudwatch_emf.exceptions import (
|
|
6
4
|
MetricResolutionError,
|
|
7
5
|
MetricUnitError,
|
|
8
6
|
)
|
|
9
7
|
from aws_lambda_powertools.metrics.provider.cloudwatch_emf.metric_properties import MetricResolution, MetricUnit
|
|
8
|
+
from aws_lambda_powertools.shared.types import List
|
|
10
9
|
|
|
11
10
|
|
|
12
11
|
def extract_cloudwatch_metric_resolution_value(metric_resolutions: List, resolution: int | MetricResolution) -> int:
|
|
@@ -199,9 +199,9 @@ class BaseProvider(ABC):
|
|
|
199
199
|
)
|
|
200
200
|
|
|
201
201
|
@functools.wraps(lambda_handler)
|
|
202
|
-
def decorate(event, context):
|
|
202
|
+
def decorate(event, context, *args, **kwargs):
|
|
203
203
|
try:
|
|
204
|
-
response = lambda_handler(event, context)
|
|
204
|
+
response = lambda_handler(event, context, *args, **kwargs)
|
|
205
205
|
if capture_cold_start_metric:
|
|
206
206
|
self._add_cold_start_metric(context=context)
|
|
207
207
|
finally:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Internal shared functions. Do not rely on it besides internal usage."""
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
from typing import Any, Callable, Dict, List, TypeVar, Union
|
|
3
|
+
|
|
4
|
+
if sys.version_info >= (3, 8):
|
|
5
|
+
from typing import Literal, Protocol, TypedDict
|
|
6
|
+
else:
|
|
7
|
+
from typing_extensions import Literal, Protocol, TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
if sys.version_info >= (3, 11):
|
|
11
|
+
from typing import NotRequired
|
|
12
|
+
else:
|
|
13
|
+
from typing_extensions import NotRequired
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
if sys.version_info >= (3, 10):
|
|
17
|
+
from typing import TypeAlias
|
|
18
|
+
else:
|
|
19
|
+
from typing_extensions import TypeAlias
|
|
20
|
+
|
|
21
|
+
AnyCallableT = TypeVar("AnyCallableT", bound=Callable[..., Any]) # noqa: VNE001
|
|
22
|
+
# JSON primitives only, mypy doesn't support recursive tho
|
|
23
|
+
JSONType = Union[str, int, float, bool, None, Dict[str, Any], List[Any]]
|
|
24
|
+
|
|
25
|
+
__all__ = ["Protocol", "TypedDict", "Literal", "NotRequired", "TypeAlias"]
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
#
|
|
2
|
-
# type specifics
|
|
3
|
-
#
|
|
4
1
|
import sys
|
|
5
|
-
from typing import
|
|
2
|
+
from typing import Optional, Type, Union
|
|
6
3
|
|
|
7
|
-
from
|
|
4
|
+
from aws_lambda_powertools.shared.types import List, TypedDict
|
|
8
5
|
|
|
9
6
|
has_pydantic = "pydantic" in sys.modules
|
|
10
7
|
|
|
@@ -14,10 +14,16 @@ from .dynamo_db_stream_event import DynamoDBStreamEvent
|
|
|
14
14
|
from .event_bridge_event import EventBridgeEvent
|
|
15
15
|
from .event_source import event_source
|
|
16
16
|
from .kafka_event import KafkaEvent
|
|
17
|
-
from .kinesis_firehose_event import
|
|
17
|
+
from .kinesis_firehose_event import (
|
|
18
|
+
KinesisFirehoseDataTransformationRecord,
|
|
19
|
+
KinesisFirehoseDataTransformationRecordMetadata,
|
|
20
|
+
KinesisFirehoseDataTransformationResponse,
|
|
21
|
+
KinesisFirehoseEvent,
|
|
22
|
+
)
|
|
18
23
|
from .kinesis_stream_event import KinesisStreamEvent
|
|
19
24
|
from .lambda_function_url_event import LambdaFunctionUrlEvent
|
|
20
25
|
from .s3_event import S3Event, S3EventBridgeNotificationEvent
|
|
26
|
+
from .secrets_manager_event import SecretsManagerEvent
|
|
21
27
|
from .ses_event import SESEvent
|
|
22
28
|
from .sns_event import SNSEvent
|
|
23
29
|
from .sqs_event import SQSEvent
|
|
@@ -26,6 +32,7 @@ from .vpc_lattice import VPCLatticeEvent
|
|
|
26
32
|
__all__ = [
|
|
27
33
|
"APIGatewayProxyEvent",
|
|
28
34
|
"APIGatewayProxyEventV2",
|
|
35
|
+
"SecretsManagerEvent",
|
|
29
36
|
"AppSyncResolverEvent",
|
|
30
37
|
"ALBEvent",
|
|
31
38
|
"CloudWatchDashboardCustomWidgetEvent",
|
|
@@ -37,6 +44,9 @@ __all__ = [
|
|
|
37
44
|
"KafkaEvent",
|
|
38
45
|
"KinesisFirehoseEvent",
|
|
39
46
|
"KinesisStreamEvent",
|
|
47
|
+
"KinesisFirehoseDataTransformationResponse",
|
|
48
|
+
"KinesisFirehoseDataTransformationRecord",
|
|
49
|
+
"KinesisFirehoseDataTransformationRecordMetadata",
|
|
40
50
|
"LambdaFunctionUrlEvent",
|
|
41
51
|
"S3Event",
|
|
42
52
|
"S3EventBridgeNotificationEvent",
|