aws-lambda-powertools 3.3.1a4__tar.gz → 3.3.1a6__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.3.1a4 → aws_lambda_powertools-3.3.1a6}/PKG-INFO +1 -1
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/api_gateway.py +14 -13
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/shared/version.py +1 -1
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/envelopes/__init__.py +2 -0
- aws_lambda_powertools-3.3.1a6/aws_lambda_powertools/utilities/parser/envelopes/apigw_websocket.py +41 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/__init__.py +18 -0
- aws_lambda_powertools-3.3.1a6/aws_lambda_powertools/utilities/parser/models/apigw_websocket.py +63 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/cloudwatch.py +1 -1
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/event_bridge.py +4 -2
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/s3.py +5 -5
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/ses.py +1 -1
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/vpc_latticev2.py +1 -1
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/pyproject.toml +5 -5
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/setup.py +1 -1
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/LICENSE +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/README.md +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/THIRD-PARTY-LICENSES +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/appsync.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/bedrock_agent.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/content_types.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/exceptions.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/graphql_appsync/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/graphql_appsync/_registry.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/graphql_appsync/base.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/graphql_appsync/exceptions.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/graphql_appsync/router.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/lambda_function_url.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/middlewares/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/middlewares/base.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/middlewares/openapi_validation.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/middlewares/schema_validation.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/openapi/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/openapi/compat.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/openapi/constants.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/openapi/dependant.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/openapi/encoders.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/openapi/exceptions.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/openapi/models.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/openapi/params.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/openapi/pydantic_loader.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/openapi/swagger_ui/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/openapi/swagger_ui/html.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/openapi/swagger_ui/oauth2.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui-bundle.min.js +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui.min.css +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/openapi/types.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/router.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/types.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/util.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/event_handler/vpc_lattice.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/exceptions/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/logging/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/logging/constants.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/logging/correlation_paths.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/logging/exceptions.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/logging/filters.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/logging/formatter.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/logging/formatters/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/logging/formatters/datadog.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/logging/lambda_context.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/logging/logger.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/logging/types.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/logging/utils.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/metrics/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/metrics/base.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/metrics/exceptions.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/metrics/functions.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/metrics/metric.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/metrics/metrics.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/metrics/provider/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/metrics/provider/base.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/cloudwatch.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/constants.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/exceptions.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/metric_properties.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/types.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/metrics/provider/cold_start.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/metrics/provider/datadog/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/metrics/provider/datadog/datadog.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/metrics/provider/datadog/metrics.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/metrics/provider/datadog/warnings.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/metrics/types.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/middleware_factory/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/middleware_factory/exceptions.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/middleware_factory/factory.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/package_logger.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/py.typed +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/shared/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/shared/cache_dict.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/shared/constants.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/shared/cookies.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/shared/dynamodb_deserializer.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/shared/functions.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/shared/headers_serializer.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/shared/json_encoder.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/shared/lazy_import.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/shared/types.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/shared/user_agent.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/tracing/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/tracing/base.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/tracing/extensions.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/tracing/tracer.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/batch/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/batch/base.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/batch/decorators.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/batch/exceptions.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/batch/sqs_fifo_partial_processor.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/batch/types.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/active_mq_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/alb_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/api_gateway_authorizer_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/api_gateway_proxy_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/appsync/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/appsync/scalar_types_utils.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/appsync_authorizer_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/appsync_resolver_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/aws_config_rule_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/bedrock_agent_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/cloud_watch_alarm_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/cloud_watch_custom_widget_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/cloud_watch_logs_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/cloudformation_custom_resource_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/code_deploy_lifecycle_hook_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/code_pipeline_job_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/cognito_user_pool_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/common.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/connect_contact_flow_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/event_bridge_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/event_source.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/kafka_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/kinesis_stream_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/lambda_function_url_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/rabbit_mq_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/s3_batch_operation_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/s3_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/s3_object_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/secrets_manager_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/ses_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/shared_functions.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/sns_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/sqs_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_classes/vpc_lattice.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_masking/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_masking/base.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_masking/constants.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_masking/exceptions.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_masking/provider/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_masking/provider/base.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_masking/provider/kms/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/data_masking/provider/kms/aws_encryption_sdk.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/feature_flags/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/feature_flags/appconfig.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/feature_flags/base.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/feature_flags/comparators.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/feature_flags/constants.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/feature_flags/exceptions.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/feature_flags/feature_flags.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/feature_flags/schema.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/feature_flags/types.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/idempotency/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/idempotency/base.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/idempotency/config.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/idempotency/exceptions.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/idempotency/hook.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/idempotency/idempotency.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/idempotency/persistence/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/idempotency/persistence/base.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/idempotency/persistence/datarecord.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/idempotency/persistence/dynamodb.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/idempotency/persistence/redis.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/idempotency/serialization/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/idempotency/serialization/base.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/idempotency/serialization/dataclass.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/idempotency/serialization/no_op.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/idempotency/serialization/pydantic.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/jmespath_utils/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/jmespath_utils/envelopes.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parameters/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parameters/appconfig.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parameters/base.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parameters/constants.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parameters/dynamodb.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parameters/exceptions.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parameters/secrets.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parameters/ssm.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parameters/types.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/envelopes/apigw.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/envelopes/apigwv2.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/envelopes/base.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/envelopes/bedrock_agent.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/envelopes/event_bridge.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/envelopes/kafka.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/envelopes/kinesis.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/envelopes/kinesis_firehose.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/envelopes/lambda_function_url.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/envelopes/sns.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/envelopes/sqs.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/envelopes/vpc_lattice.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/envelopes/vpc_latticev2.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/exceptions.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/functions.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/alb.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/apigw.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/apigwv2.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/bedrock_agent.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/cloudformation_custom_resource.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/dynamodb.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/kafka.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/kinesis.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose_sqs.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/lambda_function_url.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/s3_batch_operation.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/s3_event_notification.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/s3_object_event.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/sns.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/sqs.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/models/vpc_lattice.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/parser.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/parser/types.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/serialization.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/streaming/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/streaming/_s3_seekable_io.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/streaming/compat.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/streaming/constants.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/streaming/s3_object.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/streaming/transformations/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/streaming/transformations/base.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/streaming/transformations/csv.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/streaming/transformations/gzip.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/streaming/transformations/zip.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/streaming/types.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/typing/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/typing/lambda_client_context.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/typing/lambda_client_context_mobile_client.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/typing/lambda_cognito_identity.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/typing/lambda_context.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/validation/__init__.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/validation/base.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/validation/envelopes.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/validation/exceptions.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/utilities/validation/validator.py +0 -0
- {aws_lambda_powertools-3.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/warnings/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: aws-lambda-powertools
|
|
3
|
-
Version: 3.3.
|
|
3
|
+
Version: 3.3.1a6
|
|
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
|
|
@@ -83,6 +83,7 @@ if TYPE_CHECKING:
|
|
|
83
83
|
TypeModelOrEnum,
|
|
84
84
|
)
|
|
85
85
|
from aws_lambda_powertools.shared.cookies import Cookie
|
|
86
|
+
from aws_lambda_powertools.shared.types import AnyCallableT
|
|
86
87
|
from aws_lambda_powertools.utilities.typing import LambdaContext
|
|
87
88
|
|
|
88
89
|
|
|
@@ -924,7 +925,7 @@ class BaseRouter(ABC):
|
|
|
924
925
|
security: list[dict[str, list[str]]] | None = None,
|
|
925
926
|
openapi_extensions: dict[str, Any] | None = None,
|
|
926
927
|
middlewares: list[Callable[..., Any]] | None = None,
|
|
927
|
-
):
|
|
928
|
+
) -> Callable[[AnyCallableT], AnyCallableT]:
|
|
928
929
|
raise NotImplementedError()
|
|
929
930
|
|
|
930
931
|
def use(self, middlewares: list[Callable[..., Response]]) -> None:
|
|
@@ -984,7 +985,7 @@ class BaseRouter(ABC):
|
|
|
984
985
|
security: list[dict[str, list[str]]] | None = None,
|
|
985
986
|
openapi_extensions: dict[str, Any] | None = None,
|
|
986
987
|
middlewares: list[Callable[..., Any]] | None = None,
|
|
987
|
-
):
|
|
988
|
+
) -> Callable[[AnyCallableT], AnyCallableT]:
|
|
988
989
|
"""Get route decorator with GET `method`
|
|
989
990
|
|
|
990
991
|
Examples
|
|
@@ -1041,7 +1042,7 @@ class BaseRouter(ABC):
|
|
|
1041
1042
|
security: list[dict[str, list[str]]] | None = None,
|
|
1042
1043
|
openapi_extensions: dict[str, Any] | None = None,
|
|
1043
1044
|
middlewares: list[Callable[..., Any]] | None = None,
|
|
1044
|
-
):
|
|
1045
|
+
) -> Callable[[AnyCallableT], AnyCallableT]:
|
|
1045
1046
|
"""Post route decorator with POST `method`
|
|
1046
1047
|
|
|
1047
1048
|
Examples
|
|
@@ -1099,7 +1100,7 @@ class BaseRouter(ABC):
|
|
|
1099
1100
|
security: list[dict[str, list[str]]] | None = None,
|
|
1100
1101
|
openapi_extensions: dict[str, Any] | None = None,
|
|
1101
1102
|
middlewares: list[Callable[..., Any]] | None = None,
|
|
1102
|
-
):
|
|
1103
|
+
) -> Callable[[AnyCallableT], AnyCallableT]:
|
|
1103
1104
|
"""Put route decorator with PUT `method`
|
|
1104
1105
|
|
|
1105
1106
|
Examples
|
|
@@ -1157,7 +1158,7 @@ class BaseRouter(ABC):
|
|
|
1157
1158
|
security: list[dict[str, list[str]]] | None = None,
|
|
1158
1159
|
openapi_extensions: dict[str, Any] | None = None,
|
|
1159
1160
|
middlewares: list[Callable[..., Any]] | None = None,
|
|
1160
|
-
):
|
|
1161
|
+
) -> Callable[[AnyCallableT], AnyCallableT]:
|
|
1161
1162
|
"""Delete route decorator with DELETE `method`
|
|
1162
1163
|
|
|
1163
1164
|
Examples
|
|
@@ -1214,7 +1215,7 @@ class BaseRouter(ABC):
|
|
|
1214
1215
|
security: list[dict[str, list[str]]] | None = None,
|
|
1215
1216
|
openapi_extensions: dict[str, Any] | None = None,
|
|
1216
1217
|
middlewares: list[Callable] | None = None,
|
|
1217
|
-
):
|
|
1218
|
+
) -> Callable[[AnyCallableT], AnyCallableT]:
|
|
1218
1219
|
"""Patch route decorator with PATCH `method`
|
|
1219
1220
|
|
|
1220
1221
|
Examples
|
|
@@ -1274,7 +1275,7 @@ class BaseRouter(ABC):
|
|
|
1274
1275
|
security: list[dict[str, list[str]]] | None = None,
|
|
1275
1276
|
openapi_extensions: dict[str, Any] | None = None,
|
|
1276
1277
|
middlewares: list[Callable] | None = None,
|
|
1277
|
-
):
|
|
1278
|
+
) -> Callable[[AnyCallableT], AnyCallableT]:
|
|
1278
1279
|
"""Head route decorator with HEAD `method`
|
|
1279
1280
|
|
|
1280
1281
|
Examples
|
|
@@ -1950,10 +1951,10 @@ class ApiGatewayResolver(BaseRouter):
|
|
|
1950
1951
|
security: list[dict[str, list[str]]] | None = None,
|
|
1951
1952
|
openapi_extensions: dict[str, Any] | None = None,
|
|
1952
1953
|
middlewares: list[Callable[..., Any]] | None = None,
|
|
1953
|
-
):
|
|
1954
|
+
) -> Callable[[AnyCallableT], AnyCallableT]:
|
|
1954
1955
|
"""Route decorator includes parameter `method`"""
|
|
1955
1956
|
|
|
1956
|
-
def register_resolver(func:
|
|
1957
|
+
def register_resolver(func: AnyCallableT) -> AnyCallableT:
|
|
1957
1958
|
methods = (method,) if isinstance(method, str) else method
|
|
1958
1959
|
logger.debug(f"Adding route using rule {rule} and methods: {','.join(m.upper() for m in methods)}")
|
|
1959
1960
|
|
|
@@ -1999,7 +2000,7 @@ class ApiGatewayResolver(BaseRouter):
|
|
|
1999
2000
|
|
|
2000
2001
|
return register_resolver
|
|
2001
2002
|
|
|
2002
|
-
def resolve(self, event, context) -> dict[str, Any]:
|
|
2003
|
+
def resolve(self, event: dict[str, Any], context: LambdaContext) -> dict[str, Any]:
|
|
2003
2004
|
"""Resolves the response based on the provide event and decorator routes
|
|
2004
2005
|
|
|
2005
2006
|
## Internals
|
|
@@ -2492,8 +2493,8 @@ class Router(BaseRouter):
|
|
|
2492
2493
|
security: list[dict[str, list[str]]] | None = None,
|
|
2493
2494
|
openapi_extensions: dict[str, Any] | None = None,
|
|
2494
2495
|
middlewares: list[Callable[..., Any]] | None = None,
|
|
2495
|
-
):
|
|
2496
|
-
def register_route(func:
|
|
2496
|
+
) -> Callable[[AnyCallableT], AnyCallableT]:
|
|
2497
|
+
def register_route(func: AnyCallableT) -> AnyCallableT:
|
|
2497
2498
|
# All dict keys needs to be hashable. So we'll need to do some conversions:
|
|
2498
2499
|
methods = (method,) if isinstance(method, str) else tuple(method)
|
|
2499
2500
|
frozen_responses = _FrozenDict(responses) if responses else None
|
|
@@ -2598,7 +2599,7 @@ class APIGatewayRestResolver(ApiGatewayResolver):
|
|
|
2598
2599
|
security: list[dict[str, list[str]]] | None = None,
|
|
2599
2600
|
openapi_extensions: dict[str, Any] | None = None,
|
|
2600
2601
|
middlewares: list[Callable[..., Any]] | None = None,
|
|
2601
|
-
):
|
|
2602
|
+
) -> Callable[[AnyCallableT], AnyCallableT]:
|
|
2602
2603
|
# NOTE: see #1552 for more context.
|
|
2603
2604
|
return super().route(
|
|
2604
2605
|
rule.rstrip("/"),
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from .apigw import ApiGatewayEnvelope
|
|
2
|
+
from .apigw_websocket import ApiGatewayWebSocketEnvelope
|
|
2
3
|
from .apigwv2 import ApiGatewayV2Envelope
|
|
3
4
|
from .base import BaseEnvelope
|
|
4
5
|
from .bedrock_agent import BedrockAgentEnvelope
|
|
@@ -17,6 +18,7 @@ from .vpc_latticev2 import VpcLatticeV2Envelope
|
|
|
17
18
|
__all__ = [
|
|
18
19
|
"ApiGatewayEnvelope",
|
|
19
20
|
"ApiGatewayV2Envelope",
|
|
21
|
+
"ApiGatewayWebSocketEnvelope",
|
|
20
22
|
"BedrockAgentEnvelope",
|
|
21
23
|
"CloudWatchLogsEnvelope",
|
|
22
24
|
"DynamoDBStreamEnvelope",
|
aws_lambda_powertools-3.3.1a6/aws_lambda_powertools/utilities/parser/envelopes/apigw_websocket.py
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import logging
|
|
4
|
+
from typing import TYPE_CHECKING, Any
|
|
5
|
+
|
|
6
|
+
from aws_lambda_powertools.utilities.parser.envelopes.base import BaseEnvelope
|
|
7
|
+
from aws_lambda_powertools.utilities.parser.models import APIGatewayWebSocketMessageEventModel
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from aws_lambda_powertools.utilities.parser.types import Model
|
|
11
|
+
|
|
12
|
+
logger = logging.getLogger(__name__)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ApiGatewayWebSocketEnvelope(BaseEnvelope):
|
|
16
|
+
"""API Gateway WebSockets envelope to extract data within body key of messages routes
|
|
17
|
+
(not disconnect or connect)"""
|
|
18
|
+
|
|
19
|
+
def parse(self, data: dict[str, Any] | Any | None, model: type[Model]) -> Model | None:
|
|
20
|
+
"""Parses data found with model provided
|
|
21
|
+
|
|
22
|
+
Parameters
|
|
23
|
+
----------
|
|
24
|
+
data : dict
|
|
25
|
+
Lambda event to be parsed
|
|
26
|
+
model : type[Model]
|
|
27
|
+
Data model provided to parse after extracting data using envelope
|
|
28
|
+
|
|
29
|
+
Returns
|
|
30
|
+
-------
|
|
31
|
+
Any
|
|
32
|
+
Parsed detail payload with model provided
|
|
33
|
+
"""
|
|
34
|
+
logger.debug(
|
|
35
|
+
f"Parsing incoming data with Api Gateway WebSockets model {APIGatewayWebSocketMessageEventModel}",
|
|
36
|
+
)
|
|
37
|
+
parsed_envelope: APIGatewayWebSocketMessageEventModel = APIGatewayWebSocketMessageEventModel.model_validate(
|
|
38
|
+
data,
|
|
39
|
+
)
|
|
40
|
+
logger.debug(f"Parsing event payload in `detail` with {model}")
|
|
41
|
+
return self._parse(data=parsed_envelope.body, model=model)
|
|
@@ -7,6 +7,16 @@ from .apigw import (
|
|
|
7
7
|
APIGatewayEventRequestContext,
|
|
8
8
|
APIGatewayProxyEventModel,
|
|
9
9
|
)
|
|
10
|
+
from .apigw_websocket import (
|
|
11
|
+
APIGatewayWebSocketConnectEventModel,
|
|
12
|
+
APIGatewayWebSocketConnectEventRequestContext,
|
|
13
|
+
APIGatewayWebSocketDisconnectEventModel,
|
|
14
|
+
APIGatewayWebSocketDisconnectEventRequestContext,
|
|
15
|
+
APIGatewayWebSocketEventIdentity,
|
|
16
|
+
APIGatewayWebSocketEventRequestContextBase,
|
|
17
|
+
APIGatewayWebSocketMessageEventModel,
|
|
18
|
+
APIGatewayWebSocketMessageEventRequestContext,
|
|
19
|
+
)
|
|
10
20
|
from .apigwv2 import (
|
|
11
21
|
ApiGatewayAuthorizerRequestV2,
|
|
12
22
|
APIGatewayProxyEventV2Model,
|
|
@@ -105,6 +115,14 @@ from .vpc_latticev2 import VpcLatticeV2Model
|
|
|
105
115
|
__all__ = [
|
|
106
116
|
"APIGatewayProxyEventV2Model",
|
|
107
117
|
"ApiGatewayAuthorizerRequestV2",
|
|
118
|
+
"APIGatewayWebSocketEventIdentity",
|
|
119
|
+
"APIGatewayWebSocketMessageEventModel",
|
|
120
|
+
"APIGatewayWebSocketMessageEventRequestContext",
|
|
121
|
+
"APIGatewayWebSocketConnectEventModel",
|
|
122
|
+
"APIGatewayWebSocketConnectEventRequestContext",
|
|
123
|
+
"APIGatewayWebSocketDisconnectEventRequestContext",
|
|
124
|
+
"APIGatewayWebSocketDisconnectEventModel",
|
|
125
|
+
"APIGatewayWebSocketEventRequestContextBase",
|
|
108
126
|
"RequestContextV2",
|
|
109
127
|
"RequestContextV2Http",
|
|
110
128
|
"RequestContextV2Authorizer",
|
aws_lambda_powertools-3.3.1a6/aws_lambda_powertools/utilities/parser/models/apigw_websocket.py
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
from typing import Dict, List, Literal, Optional, Type, Union
|
|
3
|
+
|
|
4
|
+
from pydantic import BaseModel, Field
|
|
5
|
+
from pydantic.networks import IPvAnyNetwork
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class APIGatewayWebSocketEventIdentity(BaseModel):
|
|
9
|
+
source_ip: IPvAnyNetwork = Field(alias="sourceIp")
|
|
10
|
+
user_agent: Optional[str] = Field(None, alias="userAgent")
|
|
11
|
+
|
|
12
|
+
class APIGatewayWebSocketEventRequestContextBase(BaseModel):
|
|
13
|
+
extended_request_id: str = Field(alias="extendedRequestId")
|
|
14
|
+
request_time: str = Field(alias="requestTime")
|
|
15
|
+
stage: str = Field(alias="stage")
|
|
16
|
+
connected_at: datetime = Field(alias="connectedAt")
|
|
17
|
+
request_time_epoch: datetime = Field(alias="requestTimeEpoch")
|
|
18
|
+
identity: APIGatewayWebSocketEventIdentity = Field(alias="identity")
|
|
19
|
+
request_id: str = Field(alias="requestId")
|
|
20
|
+
domain_name: str = Field(alias="domainName")
|
|
21
|
+
connection_id: str = Field(alias="connectionId")
|
|
22
|
+
api_id: str = Field(alias="apiId")
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class APIGatewayWebSocketMessageEventRequestContext(APIGatewayWebSocketEventRequestContextBase):
|
|
26
|
+
route_key: str = Field(alias="routeKey")
|
|
27
|
+
message_id: str = Field(alias="messageId")
|
|
28
|
+
event_type: Literal["MESSAGE"] = Field(alias="eventType")
|
|
29
|
+
message_direction: Literal["IN", "OUT"] = Field(alias="messageDirection")
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class APIGatewayWebSocketConnectEventRequestContext(APIGatewayWebSocketEventRequestContextBase):
|
|
33
|
+
route_key: Literal["$connect"] = Field(alias="routeKey")
|
|
34
|
+
event_type: Literal["CONNECT"] = Field(alias="eventType")
|
|
35
|
+
message_direction: Literal["IN"] = Field(alias="messageDirection")
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class APIGatewayWebSocketDisconnectEventRequestContext(APIGatewayWebSocketEventRequestContextBase):
|
|
39
|
+
route_key: Literal["$disconnect"] = Field(alias="routeKey")
|
|
40
|
+
disconnect_status_code: int = Field(alias="disconnectStatusCode")
|
|
41
|
+
event_type: Literal["DISCONNECT"] = Field(alias="eventType")
|
|
42
|
+
message_direction: Literal["IN"] = Field(alias="messageDirection")
|
|
43
|
+
disconnect_reason: str = Field(alias="disconnectReason")
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class APIGatewayWebSocketConnectEventModel(BaseModel):
|
|
47
|
+
headers: Dict[str, str] = Field(alias="headers")
|
|
48
|
+
multi_value_headers: Dict[str, List[str]] = Field(alias="multiValueHeaders")
|
|
49
|
+
request_context: APIGatewayWebSocketConnectEventRequestContext = Field(alias="requestContext")
|
|
50
|
+
is_base64_encoded: bool = Field(alias="isBase64Encoded")
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
class APIGatewayWebSocketDisconnectEventModel(BaseModel):
|
|
54
|
+
headers: Dict[str, str] = Field(alias="headers")
|
|
55
|
+
multi_value_headers: Dict[str, List[str]] = Field(alias="multiValueHeaders")
|
|
56
|
+
request_context: APIGatewayWebSocketDisconnectEventRequestContext = Field(alias="requestContext")
|
|
57
|
+
is_base64_encoded: bool = Field(alias="isBase64Encoded")
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
class APIGatewayWebSocketMessageEventModel(BaseModel):
|
|
61
|
+
request_context: APIGatewayWebSocketMessageEventRequestContext = Field(alias="requestContext")
|
|
62
|
+
is_base64_encoded: bool = Field(alias="isBase64Encoded")
|
|
63
|
+
body: Optional[Union[str, Type[BaseModel]]] = Field(None, alias="body")
|
|
@@ -27,7 +27,7 @@ class CloudWatchLogsDecode(BaseModel):
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
class CloudWatchLogsData(BaseModel):
|
|
30
|
-
decoded_data: CloudWatchLogsDecode = Field(
|
|
30
|
+
decoded_data: CloudWatchLogsDecode = Field(..., alias="data")
|
|
31
31
|
|
|
32
32
|
@field_validator("decoded_data", mode="before")
|
|
33
33
|
def prepare_data(cls, value):
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
from datetime import datetime
|
|
2
2
|
from typing import List, Optional
|
|
3
3
|
|
|
4
|
-
from pydantic import BaseModel, Field
|
|
4
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
5
5
|
|
|
6
6
|
from aws_lambda_powertools.utilities.parser.types import RawDictOrModel
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
class EventBridgeModel(BaseModel):
|
|
10
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
11
|
+
|
|
10
12
|
version: str
|
|
11
13
|
id: str # noqa: A003,VNE003
|
|
12
14
|
source: str
|
|
@@ -14,6 +16,6 @@ class EventBridgeModel(BaseModel):
|
|
|
14
16
|
time: datetime
|
|
15
17
|
region: str
|
|
16
18
|
resources: List[str]
|
|
17
|
-
detail_type: str = Field(
|
|
19
|
+
detail_type: str = Field(..., alias="detail-type")
|
|
18
20
|
detail: RawDictOrModel
|
|
19
21
|
replay_name: Optional[str] = Field(None, alias="replay-name")
|
|
@@ -27,8 +27,8 @@ class S3RequestParameters(BaseModel):
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
class S3ResponseElements(BaseModel):
|
|
30
|
-
x_amz_request_id: str = Field(
|
|
31
|
-
x_amz_id_2: str = Field(
|
|
30
|
+
x_amz_request_id: str = Field(..., alias="x-amz-request-id")
|
|
31
|
+
x_amz_id_2: str = Field(..., alias="x-amz-id-2")
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
class S3OwnerIdentify(BaseModel):
|
|
@@ -60,7 +60,7 @@ class S3EventNotificationObjectModel(BaseModel):
|
|
|
60
60
|
key: str
|
|
61
61
|
size: Optional[NonNegativeFloat] = None
|
|
62
62
|
etag: str = Field(default="")
|
|
63
|
-
version_id: str = Field(None, alias="version-id")
|
|
63
|
+
version_id: Optional[str] = Field(None, alias="version-id")
|
|
64
64
|
sequencer: Optional[str] = None
|
|
65
65
|
|
|
66
66
|
|
|
@@ -72,9 +72,9 @@ class S3EventNotificationEventBridgeDetailModel(BaseModel):
|
|
|
72
72
|
version: str
|
|
73
73
|
bucket: S3EventNotificationEventBridgeBucketModel
|
|
74
74
|
object: S3EventNotificationObjectModel # noqa: A003,VNE003
|
|
75
|
-
request_id: str = Field(
|
|
75
|
+
request_id: str = Field(..., alias="request-id")
|
|
76
76
|
requester: str
|
|
77
|
-
source_ip_address: str = Field(None, alias="source-ip-address")
|
|
77
|
+
source_ip_address: Optional[str] = Field(None, alias="source-ip-address")
|
|
78
78
|
reason: Optional[str] = None
|
|
79
79
|
deletion_type: Optional[str] = Field(None, alias="deletion-type")
|
|
80
80
|
restore_expiry_time: Optional[str] = Field(None, alias="restore-expiry-time")
|
|
@@ -32,7 +32,7 @@ class SesMailHeaders(BaseModel):
|
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
class SesMailCommonHeaders(BaseModel):
|
|
35
|
-
header_from: List[str] = Field(
|
|
35
|
+
header_from: List[str] = Field(..., alias="from")
|
|
36
36
|
to: List[str]
|
|
37
37
|
cc: Optional[List[str]] = None
|
|
38
38
|
bcc: Optional[List[str]] = None
|
|
@@ -39,4 +39,4 @@ class VpcLatticeV2Model(BaseModel):
|
|
|
39
39
|
query_string_parameters: Optional[Dict[str, str]] = Field(None, alias="queryStringParameters")
|
|
40
40
|
body: Optional[Union[str, Type[BaseModel]]] = None
|
|
41
41
|
is_base64_encoded: Optional[bool] = Field(None, alias="isBase64Encoded")
|
|
42
|
-
request_context: VpcLatticeV2RequestContext = Field(
|
|
42
|
+
request_context: VpcLatticeV2RequestContext = Field(..., alias="requestContext")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "aws_lambda_powertools"
|
|
3
|
-
version = "3.3.
|
|
3
|
+
version = "3.3.1a6"
|
|
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"]
|
|
@@ -72,16 +72,16 @@ xenon = "^0.9.3"
|
|
|
72
72
|
mkdocs-git-revision-date-plugin = "^0.3.2"
|
|
73
73
|
mike = "^2.1.2"
|
|
74
74
|
pytest-xdist = "^3.6.1"
|
|
75
|
-
aws-cdk-lib = "^2.
|
|
75
|
+
aws-cdk-lib = "^2.170.0"
|
|
76
76
|
"aws-cdk.aws-apigatewayv2-alpha" = "^2.38.1-alpha.0"
|
|
77
77
|
"aws-cdk.aws-apigatewayv2-integrations-alpha" = "^2.38.1-alpha.0"
|
|
78
78
|
"aws-cdk.aws-apigatewayv2-authorizers-alpha" = "^2.38.1-alpha.0"
|
|
79
|
-
"aws-cdk.aws-lambda-python-alpha" = "^2.
|
|
80
|
-
"cdklabs.generative-ai-cdk-constructs" = "^0.1.
|
|
79
|
+
"aws-cdk.aws-lambda-python-alpha" = "^2.170.0a0"
|
|
80
|
+
"cdklabs.generative-ai-cdk-constructs" = "^0.1.284"
|
|
81
81
|
pytest-benchmark = "^4.0.0"
|
|
82
82
|
types-requests = "^2.31.0"
|
|
83
83
|
typing-extensions = "^4.12.2"
|
|
84
|
-
mkdocs-material = "^9.5.
|
|
84
|
+
mkdocs-material = "^9.5.45"
|
|
85
85
|
filelock = "^3.16.0"
|
|
86
86
|
dirhash = "^0.5.0"
|
|
87
87
|
mypy-boto3-appconfigdata = "^1.35.0"
|
|
@@ -64,7 +64,7 @@ extras_require = \
|
|
|
64
64
|
|
|
65
65
|
setup_kwargs = {
|
|
66
66
|
'name': 'aws-lambda-powertools',
|
|
67
|
-
'version': '3.3.
|
|
67
|
+
'version': '3.3.1a6',
|
|
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.3.1a4 → aws_lambda_powertools-3.3.1a6}/aws_lambda_powertools/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|