aws-lambda-powertools 2.25.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.25.0 → aws_lambda_powertools-2.25.1}/PKG-INFO +1 -1
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/filters.py +2 -2
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/formatter.py +9 -9
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/logger.py +35 -24
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/base.py +2 -2
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/base.py +2 -2
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/version.py +1 -1
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/pyproject.toml +7 -7
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/setup.py +1 -1
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/LICENSE +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/README.md +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/THIRD-PARTY-LICENSES +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/api_gateway.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/appsync.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/content_types.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/exceptions.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/lambda_function_url.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/middlewares/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/middlewares/base.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/middlewares/schema_validation.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/router.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/types.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/vpc_lattice.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/exceptions/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/compat.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/correlation_paths.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/exceptions.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/formatters/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/formatters/datadog.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/lambda_context.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/types.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/utils.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/exceptions.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/functions.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/metric.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/metrics.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/cloudwatch.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/constants.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/exceptions.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/metric_properties.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/types.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/cold_start.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/datadog/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/datadog/datadog.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/datadog/metrics.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/datadog/warnings.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/types.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/middleware_factory/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/middleware_factory/exceptions.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/middleware_factory/factory.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/package_logger.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/py.typed +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/cache_dict.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/constants.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/cookies.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/functions.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/headers_serializer.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/json_encoder.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/lazy_import.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/types.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/user_agent.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/tracing/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/tracing/base.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/tracing/extensions.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/tracing/tracer.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/batch/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/batch/base.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/batch/decorators.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/batch/exceptions.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/batch/sqs_fifo_partial_processor.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/batch/types.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/active_mq_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/alb_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/api_gateway_authorizer_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/api_gateway_proxy_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/appsync/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/appsync/scalar_types_utils.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/appsync_authorizer_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/appsync_resolver_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/aws_config_rule_event.py +0 -0
- {aws_lambda_powertools-2.25.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.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/cloud_watch_logs_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/code_pipeline_job_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/cognito_user_pool_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/common.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/connect_contact_flow_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/event_bridge_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/event_source.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/kafka_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/kinesis_stream_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/lambda_function_url_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/rabbit_mq_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/s3_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/s3_object_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/secrets_manager_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/ses_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/shared_functions.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/sns_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/sqs_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/vpc_lattice.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/feature_flags/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/feature_flags/appconfig.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/feature_flags/base.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/feature_flags/comparators.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/feature_flags/exceptions.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/feature_flags/feature_flags.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/feature_flags/schema.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/base.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/config.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/exceptions.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/idempotency.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/persistence/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/persistence/base.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/persistence/dynamodb.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/serialization/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/serialization/base.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/serialization/dataclass.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/serialization/no_op.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/serialization/pydantic.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/jmespath_utils/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/jmespath_utils/envelopes.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/appconfig.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/base.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/dynamodb.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/exceptions.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/secrets.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/ssm.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/types.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/compat.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/apigw.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/apigwv2.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/base.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/event_bridge.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/kafka.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/kinesis.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/kinesis_firehose.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/lambda_function_url.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/sns.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/sqs.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/vpc_lattice.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/exceptions.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/alb.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/apigw.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/apigwv2.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/cloudformation_custom_resource.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/cloudwatch.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/dynamodb.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/event_bridge.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/kafka.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/kinesis.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose_sqs.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/lambda_function_url.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/s3.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/s3_event_notification.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/s3_object_event.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/ses.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/sns.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/sqs.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/vpc_lattice.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/parser.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/pydantic.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/types.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/serialization.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/_s3_seekable_io.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/compat.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/s3_object.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/transformations/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/transformations/base.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/transformations/csv.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/transformations/gzip.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/transformations/zip.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/typing/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/typing/lambda_client_context.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/typing/lambda_client_context_mobile_client.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/typing/lambda_cognito_identity.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/typing/lambda_context.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/validation/__init__.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/validation/base.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/validation/envelopes.py +0 -0
- {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/validation/exceptions.py +0 -0
- {aws_lambda_powertools-2.25.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.25.
|
|
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
|
|
@@ -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.25.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:
|
|
@@ -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:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "aws_lambda_powertools"
|
|
3
|
-
version = "2.25.
|
|
3
|
+
version = "2.25.1"
|
|
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"]
|
|
@@ -57,15 +57,15 @@ aws-cdk-lib = "^2.88.0"
|
|
|
57
57
|
"aws-cdk.aws-apigatewayv2-integrations-alpha" = "^2.38.1-alpha.0"
|
|
58
58
|
"aws-cdk.aws-apigatewayv2-authorizers-alpha" = "^2.38.1-alpha.0"
|
|
59
59
|
pytest-benchmark = "^4.0.0"
|
|
60
|
-
mypy-boto3-appconfig = "^1.28.
|
|
61
|
-
mypy-boto3-cloudformation = "^1.28.
|
|
60
|
+
mypy-boto3-appconfig = "^1.28.52"
|
|
61
|
+
mypy-boto3-cloudformation = "^1.28.48"
|
|
62
62
|
mypy-boto3-cloudwatch = "^1.28.36"
|
|
63
63
|
mypy-boto3-dynamodb = "^1.28.36"
|
|
64
64
|
mypy-boto3-lambda = "^1.28.36"
|
|
65
|
-
mypy-boto3-logs = "^1.28.
|
|
65
|
+
mypy-boto3-logs = "^1.28.52"
|
|
66
66
|
mypy-boto3-secretsmanager = "^1.28.36"
|
|
67
67
|
mypy-boto3-ssm = "^1.28.36"
|
|
68
|
-
mypy-boto3-s3 = "^1.28.
|
|
68
|
+
mypy-boto3-s3 = "^1.28.52"
|
|
69
69
|
mypy-boto3-xray = "^1.28.47"
|
|
70
70
|
types-requests = "^2.31.0"
|
|
71
71
|
typing-extensions = "^4.6.2"
|
|
@@ -89,12 +89,12 @@ aws-sdk = ["boto3"]
|
|
|
89
89
|
datadog=["datadog-lambda"]
|
|
90
90
|
|
|
91
91
|
[tool.poetry.group.dev.dependencies]
|
|
92
|
-
cfn-lint = "0.
|
|
92
|
+
cfn-lint = "0.80.2"
|
|
93
93
|
mypy = "^1.1.1"
|
|
94
94
|
types-python-dateutil = "^2.8.19.6"
|
|
95
95
|
httpx = ">=0.23.3,<0.25.0"
|
|
96
96
|
sentry-sdk = "^1.22.2"
|
|
97
|
-
ruff = ">=0.0.272,<0.0.
|
|
97
|
+
ruff = ">=0.0.272,<0.0.291"
|
|
98
98
|
retry2 = "^0.9.5"
|
|
99
99
|
|
|
100
100
|
[tool.coverage.run]
|
|
@@ -51,7 +51,7 @@ extras_require = \
|
|
|
51
51
|
|
|
52
52
|
setup_kwargs = {
|
|
53
53
|
'name': 'aws-lambda-powertools',
|
|
54
|
-
'version': '2.25.
|
|
54
|
+
'version': '2.25.1',
|
|
55
55
|
'description': 'Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity.',
|
|
56
56
|
'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> **An AWS Developer Acceleration (DevAx) initiative by Specialist Solution Architects | <aws-devax-open-source@amazon.com>**\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* **[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* **[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* [Capital One](https://www.capitalone.com/)\n* [CPQi (Exadel Financial Services)](https://cpqi.com/)\n* [CloudZero](https://www.cloudzero.com/)\n* [CyberArk](https://www.cyberark.com/)\n* [globaldatanet](https://globaldatanet.com/)\n* [IMS](https://ims.tech/)\n* [Jit Security](https://www.jit.io/)\n* [Propellor.ai](https://www.propellor.ai/)\n* [TopSport](https://www.topsport.com.au/)\n* [Trek10](https://www.trek10.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-lambda-powertools-feedback@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',
|
|
57
57
|
'author': 'Amazon Web Services',
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/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
|
{aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/types.py
RENAMED
|
File without changes
|
{aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/utils.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
|
{aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/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
|
{aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/tracing/base.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
|