aws-lambda-powertools 3.5.1a3__tar.gz → 3.5.1a4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/PKG-INFO +1 -1
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/openapi/params.py +20 -3
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/logging/__init__.py +1 -2
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/metrics/__init__.py +1 -2
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/metrics/metrics.py +3 -3
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/middleware_factory/__init__.py +1 -1
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/shared/version.py +1 -1
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/tracing/__init__.py +1 -2
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/batch/base.py +2 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/batch/decorators.py +4 -5
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/batch/sqs_fifo_partial_processor.py +1 -1
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/common.py +6 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_masking/base.py +9 -2
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_masking/provider/base.py +2 -2
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_masking/provider/kms/aws_encryption_sdk.py +16 -16
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/feature_flags/appconfig.py +5 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/feature_flags/base.py +2 -1
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/feature_flags/comparators.py +3 -2
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/feature_flags/feature_flags.py +7 -5
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/idempotency/base.py +6 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/idempotency/idempotency.py +12 -12
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/idempotency/persistence/dynamodb.py +1 -1
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/idempotency/persistence/redis.py +1 -1
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/jmespath_utils/__init__.py +7 -1
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parameters/base.py +2 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/__init__.py +1 -2
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/parser.py +7 -0
- aws_lambda_powertools-3.5.1a4/aws_lambda_powertools/utilities/streaming/__init__.py +9 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/typing/__init__.py +2 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/pyproject.toml +1 -1
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/setup.py +1 -1
- aws_lambda_powertools-3.5.1a3/aws_lambda_powertools/utilities/streaming/__init__.py +0 -3
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/LICENSE +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/README.md +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/THIRD-PARTY-LICENSES +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/api_gateway.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/appsync.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/bedrock_agent.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/content_types.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/exceptions.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/graphql_appsync/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/graphql_appsync/_registry.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/graphql_appsync/base.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/graphql_appsync/exceptions.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/graphql_appsync/router.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/lambda_function_url.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/middlewares/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/middlewares/base.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/middlewares/openapi_validation.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/middlewares/schema_validation.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/openapi/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/openapi/compat.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/openapi/constants.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/openapi/dependant.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/openapi/encoders.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/openapi/exceptions.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/openapi/models.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/openapi/pydantic_loader.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/openapi/swagger_ui/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/openapi/swagger_ui/html.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/openapi/swagger_ui/oauth2.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui-bundle.min.js +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui.min.css +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/openapi/types.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/router.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/types.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/util.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/event_handler/vpc_lattice.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/exceptions/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/logging/constants.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/logging/correlation_paths.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/logging/exceptions.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/logging/filters.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/logging/formatter.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/logging/formatters/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/logging/formatters/datadog.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/logging/lambda_context.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/logging/logger.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/logging/types.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/logging/utils.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/metrics/base.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/metrics/exceptions.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/metrics/functions.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/metrics/metric.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/metrics/provider/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/metrics/provider/base.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/cloudwatch.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/constants.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/exceptions.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/metric_properties.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/types.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/metrics/provider/cold_start.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/metrics/provider/datadog/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/metrics/provider/datadog/datadog.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/metrics/provider/datadog/metrics.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/metrics/provider/datadog/warnings.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/metrics/types.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/middleware_factory/exceptions.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/middleware_factory/factory.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/package_logger.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/py.typed +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/shared/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/shared/cache_dict.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/shared/constants.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/shared/cookies.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/shared/dynamodb_deserializer.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/shared/functions.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/shared/headers_serializer.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/shared/json_encoder.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/shared/lazy_import.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/shared/types.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/shared/user_agent.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/tracing/base.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/tracing/extensions.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/tracing/tracer.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/batch/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/batch/exceptions.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/batch/types.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/active_mq_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/alb_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/api_gateway_authorizer_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/api_gateway_proxy_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/appsync/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/appsync/scalar_types_utils.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/appsync_authorizer_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/appsync_resolver_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/aws_config_rule_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/bedrock_agent_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/cloud_watch_alarm_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/cloud_watch_custom_widget_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/cloud_watch_logs_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/cloudformation_custom_resource_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/code_deploy_lifecycle_hook_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/code_pipeline_job_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/cognito_user_pool_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/connect_contact_flow_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/event_bridge_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/event_source.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/kafka_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/kinesis_stream_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/lambda_function_url_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/rabbit_mq_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/s3_batch_operation_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/s3_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/s3_object_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/secrets_manager_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/ses_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/shared_functions.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/sns_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/sqs_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/transfer_family_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_classes/vpc_lattice.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_masking/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_masking/constants.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_masking/exceptions.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_masking/provider/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/data_masking/provider/kms/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/feature_flags/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/feature_flags/constants.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/feature_flags/exceptions.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/feature_flags/schema.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/feature_flags/types.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/idempotency/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/idempotency/config.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/idempotency/exceptions.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/idempotency/hook.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/idempotency/persistence/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/idempotency/persistence/base.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/idempotency/persistence/datarecord.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/idempotency/serialization/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/idempotency/serialization/base.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/idempotency/serialization/dataclass.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/idempotency/serialization/functions.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/idempotency/serialization/no_op.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/idempotency/serialization/pydantic.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/jmespath_utils/envelopes.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parameters/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parameters/appconfig.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parameters/constants.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parameters/dynamodb.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parameters/exceptions.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parameters/secrets.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parameters/ssm.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parameters/types.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/envelopes/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/envelopes/apigw.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/envelopes/apigw_websocket.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/envelopes/apigwv2.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/envelopes/base.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/envelopes/bedrock_agent.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/envelopes/event_bridge.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/envelopes/kafka.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/envelopes/kinesis.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/envelopes/kinesis_firehose.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/envelopes/lambda_function_url.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/envelopes/sns.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/envelopes/sqs.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/envelopes/vpc_lattice.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/envelopes/vpc_latticev2.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/exceptions.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/functions.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/alb.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/apigw.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/apigw_websocket.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/apigwv2.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/bedrock_agent.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/cloudformation_custom_resource.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/cloudwatch.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/dynamodb.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/event_bridge.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/kafka.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/kinesis.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose_sqs.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/lambda_function_url.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/s3.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/s3_batch_operation.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/s3_event_notification.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/s3_object_event.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/ses.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/sns.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/sqs.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/transfer_family.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/vpc_lattice.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/models/vpc_latticev2.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/parser/types.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/serialization.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/streaming/_s3_seekable_io.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/streaming/compat.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/streaming/constants.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/streaming/s3_object.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/streaming/transformations/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/streaming/transformations/base.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/streaming/transformations/csv.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/streaming/transformations/gzip.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/streaming/transformations/zip.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/streaming/types.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/typing/lambda_client_context.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/typing/lambda_client_context_mobile_client.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/typing/lambda_cognito_identity.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/typing/lambda_context.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/validation/__init__.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/validation/base.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/validation/envelopes.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/validation/exceptions.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/utilities/validation/validator.py +0 -0
- {aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/warnings/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: aws_lambda_powertools
|
|
3
|
-
Version: 3.5.
|
|
3
|
+
Version: 3.5.1a4
|
|
4
4
|
Summary: Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity.
|
|
5
5
|
License: MIT
|
|
6
6
|
Keywords: aws_lambda_powertools,aws,tracing,logging,lambda,powertools,feature_flags,idempotency,middleware
|
|
@@ -932,7 +932,8 @@ def analyze_param(
|
|
|
932
932
|
ModelField | None
|
|
933
933
|
The type annotation and the Pydantic field representing the parameter
|
|
934
934
|
"""
|
|
935
|
-
field_info, type_annotation =
|
|
935
|
+
field_info, type_annotation = \
|
|
936
|
+
get_field_info_and_type_annotation(annotation, value, is_path_param, is_response_param)
|
|
936
937
|
|
|
937
938
|
# If the value is a FieldInfo, we use it as the FieldInfo for the parameter
|
|
938
939
|
if isinstance(value, FieldInfo):
|
|
@@ -962,7 +963,9 @@ def analyze_param(
|
|
|
962
963
|
return field
|
|
963
964
|
|
|
964
965
|
|
|
965
|
-
def get_field_info_and_type_annotation(
|
|
966
|
+
def get_field_info_and_type_annotation(
|
|
967
|
+
annotation, value, is_path_param: bool, is_response_param: bool
|
|
968
|
+
) -> tuple[FieldInfo | None, Any]:
|
|
966
969
|
"""
|
|
967
970
|
Get the FieldInfo and type annotation from an annotation and value.
|
|
968
971
|
"""
|
|
@@ -976,6 +979,10 @@ def get_field_info_and_type_annotation(annotation, value, is_path_param: bool) -
|
|
|
976
979
|
# If the annotation is a Response type, we recursively call this function with the inner type
|
|
977
980
|
elif get_origin(annotation) is Response:
|
|
978
981
|
field_info, type_annotation = get_field_info_response_type(annotation, value)
|
|
982
|
+
# If the response param is a tuple with two elements, we use the first element as the type annotation,
|
|
983
|
+
# just like we did in the APIGateway._to_response
|
|
984
|
+
elif is_response_param and get_origin(annotation) is tuple and len(get_args(annotation)) == 2:
|
|
985
|
+
field_info, type_annotation = get_field_info_tuple_type(annotation, value)
|
|
979
986
|
# If the annotation is not an Annotated type, we use it as the type annotation
|
|
980
987
|
else:
|
|
981
988
|
type_annotation = annotation
|
|
@@ -983,12 +990,22 @@ def get_field_info_and_type_annotation(annotation, value, is_path_param: bool) -
|
|
|
983
990
|
return field_info, type_annotation
|
|
984
991
|
|
|
985
992
|
|
|
993
|
+
def get_field_info_tuple_type(annotation, value) -> tuple[FieldInfo | None, Any]:
|
|
994
|
+
(inner_type, _) = get_args(annotation)
|
|
995
|
+
|
|
996
|
+
# If the inner type is an Annotated type, we need to extract the type annotation and the FieldInfo
|
|
997
|
+
if get_origin(inner_type) is Annotated:
|
|
998
|
+
return get_field_info_annotated_type(inner_type, value, False)
|
|
999
|
+
|
|
1000
|
+
return None, inner_type
|
|
1001
|
+
|
|
1002
|
+
|
|
986
1003
|
def get_field_info_response_type(annotation, value) -> tuple[FieldInfo | None, Any]:
|
|
987
1004
|
# Example: get_args(Response[inner_type]) == (inner_type,) # noqa: ERA001
|
|
988
1005
|
(inner_type,) = get_args(annotation)
|
|
989
1006
|
|
|
990
1007
|
# Recursively resolve the inner type
|
|
991
|
-
return get_field_info_and_type_annotation(inner_type, value, False)
|
|
1008
|
+
return get_field_info_and_type_annotation(inner_type, value, False, True)
|
|
992
1009
|
|
|
993
1010
|
|
|
994
1011
|
def get_field_info_annotated_type(annotation, value, is_path_param: bool) -> tuple[FieldInfo | None, Any]:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# NOTE: keeps for compatibility
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
|
|
4
|
-
from typing import TYPE_CHECKING, Any
|
|
4
|
+
from typing import TYPE_CHECKING, Any, Callable
|
|
5
5
|
|
|
6
6
|
from aws_lambda_powertools.metrics.provider.cloudwatch_emf.cloudwatch import AmazonCloudWatchEMFProvider
|
|
7
7
|
|
|
@@ -149,8 +149,8 @@ class Metrics:
|
|
|
149
149
|
capture_cold_start_metric: bool = False,
|
|
150
150
|
raise_on_empty_metrics: bool = False,
|
|
151
151
|
default_dimensions: dict[str, str] | None = None,
|
|
152
|
-
**kwargs,
|
|
153
|
-
):
|
|
152
|
+
**kwargs: dict[str, Any],
|
|
153
|
+
) -> Callable[..., Any]:
|
|
154
154
|
return self.provider.log_metrics(
|
|
155
155
|
lambda_handler=lambda_handler,
|
|
156
156
|
capture_cold_start_metric=capture_cold_start_metric,
|
|
@@ -51,9 +51,8 @@ def async_batch_processor(
|
|
|
51
51
|
processor: AsyncBatchProcessor
|
|
52
52
|
Batch Processor to handle partial failure cases
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
Example
|
|
55
55
|
--------
|
|
56
|
-
**Processes Lambda's event with a BasePartialProcessor**
|
|
57
56
|
>>> from aws_lambda_powertools.utilities.batch import async_batch_processor, AsyncBatchProcessor
|
|
58
57
|
>>> from aws_lambda_powertools.utilities.data_classes.sqs_event import SQSRecord
|
|
59
58
|
>>>
|
|
@@ -119,7 +118,7 @@ def batch_processor(
|
|
|
119
118
|
processor: BatchProcessor
|
|
120
119
|
Batch Processor to handle partial failure cases
|
|
121
120
|
|
|
122
|
-
|
|
121
|
+
Example
|
|
123
122
|
--------
|
|
124
123
|
**Processes Lambda's event with a BatchProcessor**
|
|
125
124
|
|
|
@@ -180,7 +179,7 @@ def process_partial_response(
|
|
|
180
179
|
result: PartialItemFailureResponse
|
|
181
180
|
Lambda Partial Batch Response
|
|
182
181
|
|
|
183
|
-
|
|
182
|
+
Example
|
|
184
183
|
--------
|
|
185
184
|
**Processes Lambda's SQS event**
|
|
186
185
|
|
|
@@ -244,7 +243,7 @@ def async_process_partial_response(
|
|
|
244
243
|
result: PartialItemFailureResponse
|
|
245
244
|
Lambda Partial Batch Response
|
|
246
245
|
|
|
247
|
-
|
|
246
|
+
Example
|
|
248
247
|
--------
|
|
249
248
|
**Processes Lambda's SQS event**
|
|
250
249
|
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Base class for Data Masking
|
|
3
|
+
!!! abstract "Usage Documentation"
|
|
4
|
+
[`Data masking`](../../utilities/data_masking.md)
|
|
5
|
+
"""
|
|
6
|
+
|
|
1
7
|
from __future__ import annotations
|
|
2
8
|
|
|
3
9
|
import functools
|
|
@@ -24,8 +30,9 @@ class DataMasking:
|
|
|
24
30
|
The DataMasking class orchestrates erasing, encrypting, and decrypting
|
|
25
31
|
for the base provider.
|
|
26
32
|
|
|
27
|
-
Example
|
|
28
|
-
|
|
33
|
+
Example
|
|
34
|
+
-------
|
|
35
|
+
```python
|
|
29
36
|
from aws_lambda_powertools.utilities.data_masking.base import DataMasking
|
|
30
37
|
|
|
31
38
|
def lambda_handler(event, context):
|
|
@@ -11,9 +11,9 @@ class BaseProvider:
|
|
|
11
11
|
"""
|
|
12
12
|
The BaseProvider class serves as an abstract base class for data masking providers.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
Example
|
|
15
15
|
--------
|
|
16
|
-
```
|
|
16
|
+
```python
|
|
17
17
|
from aws_lambda_powertools.utilities._data_masking.provider import BaseProvider
|
|
18
18
|
from aws_lambda_powertools.utilities.data_masking import DataMasking
|
|
19
19
|
|
|
@@ -48,9 +48,9 @@ class AWSEncryptionSDKProvider(BaseProvider):
|
|
|
48
48
|
"""
|
|
49
49
|
The AWSEncryptionSDKProvider is used as a provider for the DataMasking class.
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
Example
|
|
52
52
|
-------
|
|
53
|
-
```
|
|
53
|
+
```python
|
|
54
54
|
from aws_lambda_powertools.utilities.data_masking import DataMasking
|
|
55
55
|
from aws_lambda_powertools.utilities.data_masking.providers.kms.aws_encryption_sdk import (
|
|
56
56
|
AWSEncryptionSDKProvider,
|
|
@@ -142,17 +142,17 @@ class KMSKeyProvider:
|
|
|
142
142
|
|
|
143
143
|
Parameters
|
|
144
144
|
-------
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
145
|
+
data: Any
|
|
146
|
+
The data to be encrypted.
|
|
147
|
+
provider_options: dict
|
|
148
|
+
Additional options for the aws_encryption_sdk.EncryptionSDKClient
|
|
149
|
+
**encryption_context: str
|
|
150
|
+
Additional keyword arguments collected into a dictionary.
|
|
151
151
|
|
|
152
152
|
Returns
|
|
153
153
|
-------
|
|
154
|
-
|
|
155
|
-
|
|
154
|
+
ciphertext: str
|
|
155
|
+
The encrypted data, as a base64-encoded string.
|
|
156
156
|
"""
|
|
157
157
|
provider_options = provider_options or {}
|
|
158
158
|
self._validate_encryption_context(encryption_context)
|
|
@@ -179,15 +179,15 @@ class KMSKeyProvider:
|
|
|
179
179
|
|
|
180
180
|
Parameters
|
|
181
181
|
-------
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
182
|
+
data: str
|
|
183
|
+
The encrypted data, as a base64-encoded string
|
|
184
|
+
provider_options
|
|
185
|
+
Additional options for the aws_encryption_sdk.EncryptionSDKClient
|
|
186
186
|
|
|
187
187
|
Returns
|
|
188
188
|
-------
|
|
189
|
-
|
|
190
|
-
|
|
189
|
+
ciphertext: bytes
|
|
190
|
+
The decrypted data in bytes
|
|
191
191
|
"""
|
|
192
192
|
provider_options = provider_options or {}
|
|
193
193
|
self._validate_encryption_context(encryption_context)
|
|
@@ -56,6 +56,8 @@ def compare_time_range(context_value: Any, condition_value: dict) -> bool:
|
|
|
56
56
|
end_time = current_time.replace(hour=int(end_hour), minute=int(end_min))
|
|
57
57
|
|
|
58
58
|
if int(end_hour) < int(start_hour):
|
|
59
|
+
# In normal circumstances, we need to assert **both** conditions
|
|
60
|
+
"""
|
|
59
61
|
# When the end hour is smaller than start hour, it means we are crossing a day's boundary.
|
|
60
62
|
# In this case we need to assert that current_time is **either** on one side or the other side of the boundary
|
|
61
63
|
#
|
|
@@ -69,10 +71,9 @@ def compare_time_range(context_value: Any, condition_value: dict) -> bool:
|
|
|
69
71
|
# │ │ │
|
|
70
72
|
# └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
|
|
71
73
|
# │
|
|
72
|
-
|
|
74
|
+
"""
|
|
73
75
|
return (start_time <= current_time) or (current_time <= end_time)
|
|
74
76
|
else:
|
|
75
|
-
# In normal circumstances, we need to assert **both** conditions
|
|
76
77
|
return start_time <= current_time <= end_time
|
|
77
78
|
|
|
78
79
|
|
|
@@ -179,7 +179,8 @@ class FeatureFlags:
|
|
|
179
179
|
dict[str, dict]
|
|
180
180
|
parsed JSON dictionary
|
|
181
181
|
|
|
182
|
-
|
|
182
|
+
Example
|
|
183
|
+
-------
|
|
183
184
|
|
|
184
185
|
```python
|
|
185
186
|
{
|
|
@@ -251,7 +252,7 @@ class FeatureFlags:
|
|
|
251
252
|
Can be boolean or any JSON values for non-boolean features.
|
|
252
253
|
|
|
253
254
|
|
|
254
|
-
|
|
255
|
+
Example
|
|
255
256
|
--------
|
|
256
257
|
|
|
257
258
|
```python
|
|
@@ -343,7 +344,8 @@ class FeatureFlags:
|
|
|
343
344
|
list[str]
|
|
344
345
|
list of all feature names that either matches context or have True as default
|
|
345
346
|
|
|
346
|
-
|
|
347
|
+
Example
|
|
348
|
+
-------
|
|
347
349
|
|
|
348
350
|
```python
|
|
349
351
|
["premium_features", "my_feature_two", "always_true_feature"]
|
|
@@ -400,8 +402,8 @@ class FeatureFlags:
|
|
|
400
402
|
exc_class : Exception | list[Exception]
|
|
401
403
|
One or more exceptions to catch
|
|
402
404
|
|
|
403
|
-
|
|
404
|
-
|
|
405
|
+
Example
|
|
406
|
+
-------
|
|
405
407
|
|
|
406
408
|
```python
|
|
407
409
|
feature_flags = FeatureFlags(store=app_config)
|
|
@@ -61,20 +61,20 @@ def idempotent(
|
|
|
61
61
|
key_prefix: str | Optional
|
|
62
62
|
Custom prefix for idempotency key: key_prefix#hash
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
Example
|
|
65
65
|
--------
|
|
66
66
|
**Processes Lambda's event in an idempotent manner**
|
|
67
67
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
68
|
+
from aws_lambda_powertools.utilities.idempotency import (
|
|
69
|
+
idempotent, DynamoDBPersistenceLayer, IdempotencyConfig
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
idem_config=IdempotencyConfig(event_key_jmespath="body")
|
|
73
|
+
persistence_layer = DynamoDBPersistenceLayer(table_name="idempotency_store")
|
|
74
|
+
|
|
75
|
+
@idempotent(config=idem_config, persistence_store=persistence_layer)
|
|
76
|
+
def handler(event, context):
|
|
77
|
+
return {"StatusCode": 200}
|
|
78
78
|
"""
|
|
79
79
|
|
|
80
80
|
# Skip idempotency controls when POWERTOOLS_IDEMPOTENCY_DISABLED has a truthy value
|
|
@@ -136,7 +136,7 @@ def idempotent_function(
|
|
|
136
136
|
key_prefix: str | Optional
|
|
137
137
|
Custom prefix for idempotency key: key_prefix#hash
|
|
138
138
|
|
|
139
|
-
|
|
139
|
+
Example
|
|
140
140
|
--------
|
|
141
141
|
**Processes an order in an idempotent manner**
|
|
142
142
|
|
|
@@ -76,7 +76,7 @@ class DynamoDBPersistenceLayer(BasePersistenceLayer):
|
|
|
76
76
|
boto3_client : DynamoDBClient, optional
|
|
77
77
|
Boto3 DynamoDB Client to use, boto3_session and boto_config will be ignored if both are provided
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
Example
|
|
80
80
|
--------
|
|
81
81
|
**Create a DynamoDB persistence layer with custom settings**
|
|
82
82
|
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Built-in JMESPath Functions to easily deserialize common encoded JSON payloads in Lambda functions.
|
|
3
|
+
!!! abstract "Usage Documentation"
|
|
4
|
+
[`JMESPath Functions`](../utilities/jmespath_functions.md)
|
|
5
|
+
"""
|
|
6
|
+
|
|
1
7
|
from __future__ import annotations
|
|
2
8
|
|
|
3
9
|
import base64
|
|
@@ -42,7 +48,7 @@ def query(data: dict | str, envelope: str, jmespath_options: dict | None = None)
|
|
|
42
48
|
|
|
43
49
|
Built-in JMESPath functions include: powertools_json, powertools_base64, powertools_base64_gzip
|
|
44
50
|
|
|
45
|
-
|
|
51
|
+
Example
|
|
46
52
|
--------
|
|
47
53
|
|
|
48
54
|
**Deserialize JSON string and extracts data from body key**
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
"""
|
|
2
|
+
The Parser utility simplifies data parsing and validation using Pydantic. It allows you to define data models
|
|
3
|
+
in pure Python classes, parse and validate incoming events, and extract only the data you need.
|
|
4
|
+
!!! abstract "Usage Documentation"
|
|
5
|
+
[`Parser`](../utilities/parser.md)
|
|
6
|
+
"""
|
|
7
|
+
|
|
1
8
|
from __future__ import annotations
|
|
2
9
|
|
|
3
10
|
import logging
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"""
|
|
2
|
+
The streaming utility handles datasets larger than the available memory as streaming data.
|
|
3
|
+
!!! abstract "Usage Documentation"
|
|
4
|
+
[`Streaming`](../utilities/streaming.md)
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from aws_lambda_powertools.utilities.streaming.s3_object import S3Object
|
|
8
|
+
|
|
9
|
+
__all__ = ["S3Object"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "aws_lambda_powertools"
|
|
3
|
-
version = "3.5.
|
|
3
|
+
version = "3.5.1a4"
|
|
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"]
|
|
@@ -64,7 +64,7 @@ extras_require = \
|
|
|
64
64
|
|
|
65
65
|
setup_kwargs = {
|
|
66
66
|
'name': 'aws_lambda_powertools',
|
|
67
|
-
'version': '3.5.
|
|
67
|
+
'version': '3.5.1a4',
|
|
68
68
|
'description': 'Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity.',
|
|
69
69
|
'long_description': '<!-- markdownlint-disable MD013 MD041 MD043 -->\n# Powertools for AWS Lambda (Python)\n\n[](https://github.com/aws-powertools/powertools-lambda-python/actions/workflows/python_build.yml)\n[](https://app.codecov.io/gh/aws-powertools/powertools-lambda-python)\n   [](https://api.securityscorecards.dev/projects/github.com/aws-powertools/powertools-lambda-python) [](https://discord.gg/B8zZKbbyET)\n\nPowertools for AWS Lambda (Python) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://docs.powertools.aws.dev/lambda/python/latest/#features).\n\n> Also available in [Java](https://github.com/aws-powertools/powertools-lambda-java), [Typescript](https://github.com/aws-powertools/powertools-lambda-typescript), and [.NET](https://github.com/aws-powertools/powertools-lambda-dotnet).\n\n**[📜Documentation](https://docs.powertools.aws.dev/lambda/python/)** | **[🐍PyPi](https://pypi.org/project/aws-lambda-powertools/)** | **[Roadmap](https://docs.powertools.aws.dev/lambda/python/latest/roadmap/)** | **[Detailed blog post](https://aws.amazon.com/blogs/opensource/simplifying-serverless-best-practices-with-lambda-powertools/)**\n\n\n\n## Features\n\n* **[Tracing](https://docs.powertools.aws.dev/lambda/python/latest/core/tracer/)** - Decorators and utilities to trace Lambda function handlers, and both synchronous and asynchronous functions\n* **[Logging](https://docs.powertools.aws.dev/lambda/python/latest/core/logger/)** - Structured logging made easier, and decorator to enrich structured logging with key Lambda context details\n* **[Metrics](https://docs.powertools.aws.dev/lambda/python/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)\n* **[Event handler: AppSync](https://docs.powertools.aws.dev/lambda/python/latest/core/event_handler/appsync/)** - AWS AppSync event handler for Lambda Direct Resolver and Amplify GraphQL Transformer function\n* **[Event handler: API Gateway and ALB](https://docs.powertools.aws.dev/lambda/python/latest/core/event_handler/api_gateway/)** - Amazon API Gateway REST/HTTP API and ALB event handler for Lambda functions invoked using Proxy integration\n* **[Event handler: Agents for Amazon Bedrock](https://docs.powertools.aws.dev/lambda/python/latest/core/event_handler/bedrock_agents/)** - Create Agents for Amazon Bedrock, automatically generating OpenAPI schemas\n* **[Bring your own middleware](https://docs.powertools.aws.dev/lambda/python/latest/utilities/middleware_factory/)** - Decorator factory to create your own middleware to run logic before, and after each Lambda invocation\n* **[Parameters utility](https://docs.powertools.aws.dev/lambda/python/latest/utilities/parameters/)** - Retrieve and cache parameter values from Parameter Store, Secrets Manager, or DynamoDB\n* **[Batch processing](https://docs.powertools.aws.dev/lambda/python/latest/utilities/batch/)** - Handle partial failures for AWS SQS batch processing\n* **[Typing](https://docs.powertools.aws.dev/lambda/python/latest/utilities/typing/)** - Static typing classes to speedup development in your IDE\n* **[Validation](https://docs.powertools.aws.dev/lambda/python/latest/utilities/validation/)** - JSON Schema validator for inbound events and responses\n* **[Event source data classes](https://docs.powertools.aws.dev/lambda/python/latest/utilities/data_classes/)** - Data classes describing the schema of common Lambda event triggers\n* **[Parser](https://docs.powertools.aws.dev/lambda/python/latest/utilities/parser/)** - Data parsing and deep validation using Pydantic\n* **[Idempotency](https://docs.powertools.aws.dev/lambda/python/latest/utilities/idempotency/)** - Convert your Lambda functions into idempotent operations which are safe to retry\n* **[Data Masking](https://docs.powertools.aws.dev/lambda/python/latest/utilities/data_masking/)** - Protect confidential data with easy removal or encryption\n* **[Feature Flags](https://docs.powertools.aws.dev/lambda/python/latest/utilities/feature_flags/)** - A simple rule engine to evaluate when one or multiple features should be enabled depending on the input\n* **[Streaming](https://docs.powertools.aws.dev/lambda/python/latest/utilities/streaming/)** - Streams datasets larger than the available memory as streaming data.\n\n### Installation\n\nWith [pip](https://pip.pypa.io/en/latest/index.html) installed, run: ``pip install aws-lambda-powertools``\n\n## Tutorial and Examples\n\n* [Tutorial](https://docs.powertools.aws.dev/lambda/python/latest/tutorial)\n* [Serverless Shopping cart](https://github.com/aws-samples/aws-serverless-shopping-cart)\n* [Serverless Airline](https://github.com/aws-samples/aws-serverless-airline-booking)\n* [Serverless E-commerce platform](https://github.com/aws-samples/aws-serverless-ecommerce-platform)\n* [Serverless GraphQL Nanny Booking Api](https://github.com/trey-rosius/babysitter_api)\n\n## How to support Powertools for AWS Lambda (Python)?\n\n### Becoming a reference customer\n\nKnowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (Python), you can request to have your name and logo added to the README file by raising a [Support Powertools for AWS Lambda (Python) (become a reference)](https://github.com/aws-powertools/powertools-lambda-python/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E) issue.\n\nThe following companies, among others, use Powertools:\n\n* [Alma Media](https://www.almamedia.fi/en/)\n* [Banxware](https://www.banxware.com/)\n* [Brsk](https://www.brsk.co.uk/)\n* [BusPatrol](https://buspatrol.com/)\n* [Capital One](https://www.capitalone.com/)\n* [Caylent](https://caylent.com/)\n* [CHS Inc.](https://www.chsinc.com/)\n* [CPQi (Exadel Financial Services)](https://cpqi.com/)\n* [CloudZero](https://www.cloudzero.com/)\n* [CyberArk](https://www.cyberark.com/)\n* [Flyweight](https://flyweight.io/)\n* [globaldatanet](https://globaldatanet.com/)\n* [IMS](https://ims.tech/)\n* [Jit Security](https://www.jit.io/)\n* [LocalStack](https://www.localstack.cloud/)\n* [Propellor.ai](https://www.propellor.ai/)\n* [Pushpay](https://pushpay.com/)\n* [Recast](https://getrecast.com/)\n* [TopSport](https://www.topsport.com.au/)\n* [Transformity](https://transformity.tech/)\n* [Trek10](https://www.trek10.com/)\n* [Vertex Pharmaceuticals](https://www.vrtx.com/)\n\n### Sharing your work\n\nShare what you did with Powertools for AWS Lambda (Python) 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (Python) [here](https://docs.powertools.aws.dev/lambda/python/latest/we_made_this/).\n\n### Using Lambda Layer or SAR\n\nThis helps us understand who uses Powertools for AWS Lambda (Python) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/python/latest/#lambda-layer), you can add Powertools for AWS Lambda (Python) as a dev dependency (or as part of your virtual env) to not impact the development process.\n\n## Credits\n\n* Structured logging initial implementation from [aws-lambda-logging](https://gitlab.com/hadrien/aws_lambda_logging)\n* Powertools for AWS Lambda (Python) idea [DAZN Powertools](https://github.com/getndazn/dazn-lambda-powertools/)\n\n## Connect\n\n* **Powertools for AWS Lambda on Discord**: `#python` - **[Invite link](https://discord.gg/B8zZKbbyET)**\n* **Email**: <aws-powertools-maintainers@amazon.com>\n\n## Security disclosures\n\nIf you think you’ve found a potential security issue, please do not post it in the Issues. Instead, please follow the instructions [here](https://aws.amazon.com/security/vulnerability-reporting/) or [email AWS security directly](mailto:aws-security@amazon.com).\n\n## License\n\nThis library is licensed under the MIT-0 License. See the LICENSE file.\n',
|
|
70
70
|
'author': 'Amazon Web Services',
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aws_lambda_powertools-3.5.1a3 → aws_lambda_powertools-3.5.1a4}/aws_lambda_powertools/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|