aws-lambda-powertools 3.10.1a5__tar.gz → 3.10.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.
Files changed (267) hide show
  1. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/PKG-INFO +1 -1
  2. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/middleware_factory/__init__.py +1 -1
  3. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/middleware_factory/factory.py +4 -1
  4. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/dynamodb_deserializer.py +4 -1
  5. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/functions.py +4 -1
  6. aws_lambda_powertools-3.10.1a6/aws_lambda_powertools/shared/types.py +4 -0
  7. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/version.py +1 -1
  8. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/active_mq_event.py +4 -1
  9. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/common.py +4 -1
  10. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py +4 -1
  11. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/event_source.py +3 -1
  12. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/kafka_event.py +4 -1
  13. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py +3 -1
  14. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/kinesis_stream_event.py +4 -1
  15. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/s3_batch_operation_event.py +4 -1
  16. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/s3_event.py +4 -1
  17. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/ses_event.py +4 -1
  18. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/sns_event.py +4 -1
  19. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/sqs_event.py +5 -2
  20. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_masking/base.py +2 -1
  21. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_masking/provider/base.py +7 -2
  22. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_masking/provider/kms/aws_encryption_sdk.py +7 -2
  23. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/feature_flags/feature_flags.py +4 -2
  24. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/base.py +3 -1
  25. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/idempotency.py +3 -1
  26. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py +4 -1
  27. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parameters/base.py +2 -1
  28. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/serialization.py +2 -1
  29. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/_s3_seekable_io.py +2 -1
  30. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/s3_object.py +3 -1
  31. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/validation/base.py +1 -1
  32. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/validation/validator.py +4 -1
  33. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/pyproject.toml +2 -2
  34. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/setup.py +1 -1
  35. aws_lambda_powertools-3.10.1a5/aws_lambda_powertools/shared/types.py +0 -3
  36. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/LICENSE +0 -0
  37. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/README.md +0 -0
  38. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/THIRD-PARTY-LICENSES +0 -0
  39. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/__init__.py +0 -0
  40. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/__init__.py +0 -0
  41. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/api_gateway.py +0 -0
  42. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/appsync.py +0 -0
  43. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/bedrock_agent.py +0 -0
  44. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/content_types.py +0 -0
  45. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/exceptions.py +0 -0
  46. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/graphql_appsync/__init__.py +0 -0
  47. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/graphql_appsync/_registry.py +0 -0
  48. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/graphql_appsync/base.py +0 -0
  49. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/graphql_appsync/exceptions.py +0 -0
  50. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/graphql_appsync/router.py +0 -0
  51. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/lambda_function_url.py +0 -0
  52. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/middlewares/__init__.py +0 -0
  53. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/middlewares/base.py +0 -0
  54. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/middlewares/openapi_validation.py +0 -0
  55. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/middlewares/schema_validation.py +0 -0
  56. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/__init__.py +0 -0
  57. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/compat.py +0 -0
  58. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/config.py +0 -0
  59. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/constants.py +0 -0
  60. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/dependant.py +0 -0
  61. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/encoders.py +0 -0
  62. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/exceptions.py +0 -0
  63. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/models.py +0 -0
  64. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/params.py +0 -0
  65. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/pydantic_loader.py +0 -0
  66. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/swagger_ui/__init__.py +0 -0
  67. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/swagger_ui/html.py +0 -0
  68. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/swagger_ui/oauth2.py +0 -0
  69. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui-bundle.min.js +0 -0
  70. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui.min.css +0 -0
  71. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/types.py +0 -0
  72. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/router.py +0 -0
  73. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/types.py +0 -0
  74. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/util.py +0 -0
  75. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/vpc_lattice.py +0 -0
  76. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/exceptions/__init__.py +0 -0
  77. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/__init__.py +0 -0
  78. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/buffer/__init__.py +0 -0
  79. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/buffer/cache.py +0 -0
  80. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/buffer/config.py +0 -0
  81. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/buffer/functions.py +0 -0
  82. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/constants.py +0 -0
  83. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/correlation_paths.py +0 -0
  84. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/exceptions.py +0 -0
  85. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/filters.py +0 -0
  86. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/formatter.py +0 -0
  87. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/formatters/__init__.py +0 -0
  88. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/formatters/datadog.py +0 -0
  89. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/lambda_context.py +0 -0
  90. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/logger.py +0 -0
  91. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/types.py +0 -0
  92. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/utils.py +0 -0
  93. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/__init__.py +0 -0
  94. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/base.py +0 -0
  95. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/exceptions.py +0 -0
  96. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/functions.py +0 -0
  97. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/metric.py +0 -0
  98. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/metrics.py +0 -0
  99. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/__init__.py +0 -0
  100. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/base.py +0 -0
  101. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/__init__.py +0 -0
  102. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/cloudwatch.py +0 -0
  103. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/constants.py +0 -0
  104. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/exceptions.py +0 -0
  105. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/metric_properties.py +0 -0
  106. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/types.py +0 -0
  107. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/cold_start.py +0 -0
  108. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/datadog/__init__.py +0 -0
  109. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/datadog/datadog.py +0 -0
  110. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/datadog/metrics.py +0 -0
  111. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/datadog/warnings.py +0 -0
  112. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/types.py +0 -0
  113. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/middleware_factory/exceptions.py +0 -0
  114. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/package_logger.py +0 -0
  115. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/py.typed +0 -0
  116. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/__init__.py +0 -0
  117. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/cache_dict.py +0 -0
  118. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/constants.py +0 -0
  119. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/cookies.py +0 -0
  120. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/headers_serializer.py +0 -0
  121. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/json_encoder.py +0 -0
  122. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/lazy_import.py +0 -0
  123. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/user_agent.py +0 -0
  124. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/tracing/__init__.py +0 -0
  125. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/tracing/base.py +0 -0
  126. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/tracing/extensions.py +0 -0
  127. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/tracing/tracer.py +0 -0
  128. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/__init__.py +0 -0
  129. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/batch/__init__.py +0 -0
  130. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/batch/base.py +0 -0
  131. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/batch/decorators.py +0 -0
  132. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/batch/exceptions.py +0 -0
  133. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/batch/sqs_fifo_partial_processor.py +0 -0
  134. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/batch/types.py +0 -0
  135. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/__init__.py +0 -0
  136. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/alb_event.py +0 -0
  137. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/api_gateway_authorizer_event.py +0 -0
  138. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/api_gateway_proxy_event.py +0 -0
  139. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/api_gateway_websocket_event.py +0 -0
  140. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/appsync/__init__.py +0 -0
  141. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/appsync/scalar_types_utils.py +0 -0
  142. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/appsync_authorizer_event.py +0 -0
  143. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/appsync_resolver_event.py +0 -0
  144. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/aws_config_rule_event.py +0 -0
  145. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/bedrock_agent_event.py +0 -0
  146. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/cloud_watch_alarm_event.py +0 -0
  147. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/cloud_watch_custom_widget_event.py +0 -0
  148. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/cloud_watch_logs_event.py +0 -0
  149. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/cloudformation_custom_resource_event.py +0 -0
  150. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/code_deploy_lifecycle_hook_event.py +0 -0
  151. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/code_pipeline_job_event.py +0 -0
  152. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/cognito_user_pool_event.py +0 -0
  153. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/connect_contact_flow_event.py +0 -0
  154. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/event_bridge_event.py +0 -0
  155. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/iot_registry_event.py +0 -0
  156. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/lambda_function_url_event.py +0 -0
  157. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/rabbit_mq_event.py +0 -0
  158. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/s3_object_event.py +0 -0
  159. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/secrets_manager_event.py +0 -0
  160. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/shared_functions.py +0 -0
  161. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/transfer_family_event.py +0 -0
  162. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/vpc_lattice.py +0 -0
  163. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_masking/__init__.py +0 -0
  164. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_masking/constants.py +0 -0
  165. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_masking/exceptions.py +0 -0
  166. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_masking/provider/__init__.py +0 -0
  167. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_masking/provider/kms/__init__.py +0 -0
  168. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/feature_flags/__init__.py +0 -0
  169. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/feature_flags/appconfig.py +0 -0
  170. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/feature_flags/base.py +0 -0
  171. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/feature_flags/comparators.py +0 -0
  172. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/feature_flags/constants.py +0 -0
  173. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/feature_flags/exceptions.py +0 -0
  174. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/feature_flags/schema.py +0 -0
  175. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/feature_flags/types.py +0 -0
  176. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/__init__.py +0 -0
  177. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/config.py +0 -0
  178. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/exceptions.py +0 -0
  179. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/hook.py +0 -0
  180. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/persistence/__init__.py +0 -0
  181. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/persistence/base.py +0 -0
  182. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/persistence/datarecord.py +0 -0
  183. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/persistence/dynamodb.py +0 -0
  184. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/persistence/redis.py +0 -0
  185. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/serialization/__init__.py +0 -0
  186. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/serialization/base.py +0 -0
  187. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/serialization/dataclass.py +0 -0
  188. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/serialization/functions.py +0 -0
  189. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/serialization/no_op.py +0 -0
  190. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/serialization/pydantic.py +0 -0
  191. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/jmespath_utils/__init__.py +0 -0
  192. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/jmespath_utils/envelopes.py +0 -0
  193. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parameters/__init__.py +0 -0
  194. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parameters/appconfig.py +0 -0
  195. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parameters/constants.py +0 -0
  196. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parameters/dynamodb.py +0 -0
  197. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parameters/exceptions.py +0 -0
  198. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parameters/secrets.py +0 -0
  199. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parameters/ssm.py +0 -0
  200. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parameters/types.py +0 -0
  201. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/__init__.py +0 -0
  202. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/__init__.py +0 -0
  203. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/apigw.py +0 -0
  204. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/apigw_websocket.py +0 -0
  205. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/apigwv2.py +0 -0
  206. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/base.py +0 -0
  207. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/bedrock_agent.py +0 -0
  208. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py +0 -0
  209. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py +0 -0
  210. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/event_bridge.py +0 -0
  211. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/kafka.py +0 -0
  212. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/kinesis.py +0 -0
  213. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/kinesis_firehose.py +0 -0
  214. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/lambda_function_url.py +0 -0
  215. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/sns.py +0 -0
  216. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/sqs.py +0 -0
  217. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/vpc_lattice.py +0 -0
  218. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/vpc_latticev2.py +0 -0
  219. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/exceptions.py +0 -0
  220. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/functions.py +0 -0
  221. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/__init__.py +0 -0
  222. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/alb.py +0 -0
  223. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/apigw.py +0 -0
  224. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/apigw_websocket.py +0 -0
  225. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/apigwv2.py +0 -0
  226. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/appsync.py +0 -0
  227. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/bedrock_agent.py +0 -0
  228. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/cloudformation_custom_resource.py +0 -0
  229. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/cloudwatch.py +0 -0
  230. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/dynamodb.py +0 -0
  231. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/event_bridge.py +0 -0
  232. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/iot_registry_events.py +0 -0
  233. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/kafka.py +0 -0
  234. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/kinesis.py +0 -0
  235. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose.py +0 -0
  236. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose_sqs.py +0 -0
  237. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/lambda_function_url.py +0 -0
  238. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/s3.py +0 -0
  239. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/s3_batch_operation.py +0 -0
  240. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/s3_event_notification.py +0 -0
  241. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/s3_object_event.py +0 -0
  242. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/ses.py +0 -0
  243. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/sns.py +0 -0
  244. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/sqs.py +0 -0
  245. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/transfer_family.py +0 -0
  246. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/vpc_lattice.py +0 -0
  247. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/vpc_latticev2.py +0 -0
  248. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/parser.py +0 -0
  249. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/types.py +0 -0
  250. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/__init__.py +0 -0
  251. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/compat.py +0 -0
  252. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/constants.py +0 -0
  253. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/transformations/__init__.py +0 -0
  254. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/transformations/base.py +0 -0
  255. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/transformations/csv.py +0 -0
  256. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/transformations/gzip.py +0 -0
  257. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/transformations/zip.py +0 -0
  258. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/types.py +0 -0
  259. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/typing/__init__.py +0 -0
  260. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/typing/lambda_client_context.py +0 -0
  261. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/typing/lambda_client_context_mobile_client.py +0 -0
  262. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/typing/lambda_cognito_identity.py +0 -0
  263. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/typing/lambda_context.py +0 -0
  264. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/validation/__init__.py +0 -0
  265. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/validation/envelopes.py +0 -0
  266. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/validation/exceptions.py +0 -0
  267. {aws_lambda_powertools-3.10.1a5 → aws_lambda_powertools-3.10.1a6}/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.10.1a5
3
+ Version: 3.10.1a6
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
@@ -3,6 +3,6 @@
3
3
  [`Middleware Factory`](../utilities/middleware_factory.md)
4
4
  """
5
5
 
6
- from .factory import lambda_handler_decorator
6
+ from aws_lambda_powertools.middleware_factory.factory import lambda_handler_decorator
7
7
 
8
8
  __all__ = ["lambda_handler_decorator"]
@@ -4,7 +4,7 @@ import functools
4
4
  import inspect
5
5
  import logging
6
6
  import os
7
- from typing import Any, Callable
7
+ from typing import TYPE_CHECKING, Any
8
8
 
9
9
  from aws_lambda_powertools.middleware_factory.exceptions import MiddlewareInvalidArgumentError
10
10
  from aws_lambda_powertools.shared import constants
@@ -13,6 +13,9 @@ from aws_lambda_powertools.tracing import Tracer
13
13
 
14
14
  logger = logging.getLogger(__name__)
15
15
 
16
+ if TYPE_CHECKING:
17
+ from collections.abc import Callable
18
+
16
19
 
17
20
  # Maintenance: we can't yet provide an accurate return type without ParamSpec etc. see #1066
18
21
  def lambda_handler_decorator(decorator: Callable | None = None, trace_execution: bool | None = None) -> Callable:
@@ -1,7 +1,10 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from decimal import Clamped, Context, Decimal, Inexact, Overflow, Rounded, Underflow
4
- from typing import Any, Callable, Sequence
4
+ from typing import TYPE_CHECKING, Any
5
+
6
+ if TYPE_CHECKING:
7
+ from collections.abc import Callable, Sequence
5
8
 
6
9
  # NOTE: DynamoDB supports up to 38 digits precision
7
10
  # Therefore, this ensures our Decimal follows what's stored in the table
@@ -8,10 +8,13 @@ import re
8
8
  import warnings
9
9
  from binascii import Error as BinAsciiError
10
10
  from pathlib import Path
11
- from typing import Any, Generator, overload
11
+ from typing import TYPE_CHECKING, Any, overload
12
12
 
13
13
  from aws_lambda_powertools.shared import constants
14
14
 
15
+ if TYPE_CHECKING:
16
+ from collections.abc import Generator
17
+
15
18
  logger = logging.getLogger(__name__)
16
19
 
17
20
 
@@ -0,0 +1,4 @@
1
+ from collections.abc import Callable
2
+ from typing import Any, TypeVar
3
+
4
+ AnyCallableT = TypeVar("AnyCallableT", bound=Callable[..., Any])
@@ -1,3 +1,3 @@
1
1
  """Exposes version constant to avoid circular dependencies."""
2
2
 
3
- VERSION = "3.10.1a5"
3
+ VERSION = "3.10.1a6"
@@ -1,11 +1,14 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from functools import cached_property
4
- from typing import Any, Iterator
4
+ from typing import TYPE_CHECKING, Any
5
5
 
6
6
  from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
7
7
  from aws_lambda_powertools.utilities.data_classes.shared_functions import base64_decode
8
8
 
9
+ if TYPE_CHECKING:
10
+ from collections.abc import Iterator
11
+
9
12
 
10
13
  class ActiveMQMessage(DictWrapper):
11
14
  @property
@@ -9,14 +9,17 @@ from __future__ import annotations
9
9
  import base64
10
10
  import json
11
11
  import warnings
12
+ from collections.abc import Mapping
12
13
  from functools import cached_property
13
- from typing import TYPE_CHECKING, Any, Callable, Iterator, Mapping, overload
14
+ from typing import TYPE_CHECKING, Any, overload
14
15
 
15
16
  from typing_extensions import deprecated
16
17
 
17
18
  from aws_lambda_powertools.warnings import PowertoolsDeprecationWarning
18
19
 
19
20
  if TYPE_CHECKING:
21
+ from collections.abc import Callable, Iterator
22
+
20
23
  from aws_lambda_powertools.shared.headers_serializer import BaseHeadersSerializer
21
24
 
22
25
  from aws_lambda_powertools.utilities.data_classes.shared_functions import (
@@ -2,11 +2,14 @@ from __future__ import annotations
2
2
 
3
3
  from enum import Enum
4
4
  from functools import cached_property
5
- from typing import Any, Iterator
5
+ from typing import TYPE_CHECKING, Any
6
6
 
7
7
  from aws_lambda_powertools.shared.dynamodb_deserializer import TypeDeserializer
8
8
  from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
9
9
 
10
+ if TYPE_CHECKING:
11
+ from collections.abc import Iterator
12
+
10
13
 
11
14
  class StreamViewType(Enum):
12
15
  """The type of data from the modified DynamoDB item that was captured in this stream record"""
@@ -1,10 +1,12 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import TYPE_CHECKING, Any, Callable
3
+ from typing import TYPE_CHECKING, Any
4
4
 
5
5
  from aws_lambda_powertools.middleware_factory import lambda_handler_decorator
6
6
 
7
7
  if TYPE_CHECKING:
8
+ from collections.abc import Callable
9
+
8
10
  from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
9
11
  from aws_lambda_powertools.utilities.typing import LambdaContext
10
12
 
@@ -2,10 +2,13 @@ from __future__ import annotations
2
2
 
3
3
  import base64
4
4
  from functools import cached_property
5
- from typing import Any, Iterator
5
+ from typing import TYPE_CHECKING, Any
6
6
 
7
7
  from aws_lambda_powertools.utilities.data_classes.common import CaseInsensitiveDict, DictWrapper
8
8
 
9
+ if TYPE_CHECKING:
10
+ from collections.abc import Iterator
11
+
9
12
 
10
13
  class KafkaEventRecord(DictWrapper):
11
14
  @property
@@ -5,11 +5,13 @@ import json
5
5
  import warnings
6
6
  from dataclasses import dataclass, field
7
7
  from functools import cached_property
8
- from typing import TYPE_CHECKING, Any, Callable, ClassVar, Iterator
8
+ from typing import TYPE_CHECKING, Any, ClassVar
9
9
 
10
10
  from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
11
11
 
12
12
  if TYPE_CHECKING:
13
+ from collections.abc import Callable, Iterator
14
+
13
15
  from typing_extensions import Literal
14
16
 
15
17
 
@@ -3,13 +3,16 @@ from __future__ import annotations
3
3
  import base64
4
4
  import json
5
5
  import zlib
6
- from typing import Iterator
6
+ from typing import TYPE_CHECKING
7
7
 
8
8
  from aws_lambda_powertools.utilities.data_classes.cloud_watch_logs_event import (
9
9
  CloudWatchLogsDecodedData,
10
10
  )
11
11
  from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
12
12
 
13
+ if TYPE_CHECKING:
14
+ from collections.abc import Iterator
15
+
13
16
 
14
17
  class KinesisStreamRecordPayload(DictWrapper):
15
18
  @property
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import warnings
4
4
  from dataclasses import dataclass, field
5
- from typing import Any, Iterator, Literal
5
+ from typing import TYPE_CHECKING, Any, Literal
6
6
  from urllib.parse import unquote_plus
7
7
 
8
8
  from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
@@ -11,6 +11,9 @@ from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
11
11
  VALID_RESULT_CODES: tuple[str, str, str] = ("Succeeded", "TemporaryFailure", "PermanentFailure")
12
12
  RESULT_CODE_TYPE = Literal["Succeeded", "TemporaryFailure", "PermanentFailure"]
13
13
 
14
+ if TYPE_CHECKING:
15
+ from collections.abc import Iterator
16
+
14
17
 
15
18
  @dataclass(repr=False, order=False)
16
19
  class S3BatchOperationResponseRecord:
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import Iterator
3
+ from typing import TYPE_CHECKING
4
4
  from urllib.parse import unquote_plus
5
5
 
6
6
  from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
@@ -8,6 +8,9 @@ from aws_lambda_powertools.utilities.data_classes.event_bridge_event import (
8
8
  EventBridgeEvent,
9
9
  )
10
10
 
11
+ if TYPE_CHECKING:
12
+ from collections.abc import Iterator
13
+
11
14
 
12
15
  class S3Identity(DictWrapper):
13
16
  @property
@@ -1,9 +1,12 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import Iterator
3
+ from typing import TYPE_CHECKING
4
4
 
5
5
  from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
6
6
 
7
+ if TYPE_CHECKING:
8
+ from collections.abc import Iterator
9
+
7
10
 
8
11
  class SESMailHeader(DictWrapper):
9
12
  @property
@@ -1,9 +1,12 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import Iterator
3
+ from typing import TYPE_CHECKING
4
4
 
5
5
  from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
6
6
 
7
+ if TYPE_CHECKING:
8
+ from collections.abc import Iterator
9
+
7
10
 
8
11
  class SNSMessageAttribute(DictWrapper):
9
12
  @property
@@ -1,12 +1,15 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from functools import cached_property
4
- from typing import Any, Dict, ItemsView, Iterator, TypeVar
4
+ from typing import TYPE_CHECKING, Any, ItemsView, Iterator, TypeVar
5
5
 
6
6
  from aws_lambda_powertools.utilities.data_classes import S3Event
7
7
  from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
8
8
  from aws_lambda_powertools.utilities.data_classes.sns_event import SNSMessage
9
9
 
10
+ if TYPE_CHECKING:
11
+ from collections.abc import Iterator
12
+
10
13
 
11
14
  class SQSRecordAttributes(DictWrapper):
12
15
  @property
@@ -86,7 +89,7 @@ class SQSMessageAttribute(DictWrapper):
86
89
  return self["dataType"]
87
90
 
88
91
 
89
- class SQSMessageAttributes(Dict[str, SQSMessageAttribute]):
92
+ class SQSMessageAttributes(dict[str, SQSMessageAttribute]):
90
93
  def __getitem__(self, key: str) -> SQSMessageAttribute | None: # type: ignore
91
94
  item = super().get(key)
92
95
  return None if item is None else SQSMessageAttribute(item) # type: ignore
@@ -11,7 +11,7 @@ import functools
11
11
  import logging
12
12
  import warnings
13
13
  from copy import deepcopy
14
- from typing import TYPE_CHECKING, Any, Callable, Mapping, Sequence
14
+ from typing import TYPE_CHECKING, Any
15
15
 
16
16
  from jsonpath_ng.ext import parse
17
17
 
@@ -23,6 +23,7 @@ from aws_lambda_powertools.utilities.data_masking.provider import BaseProvider
23
23
  from aws_lambda_powertools.warnings import PowertoolsUserWarning
24
24
 
25
25
  if TYPE_CHECKING:
26
+ from collections.abc import Callable, Mapping, Sequence
26
27
  from numbers import Number
27
28
 
28
29
  logger = logging.getLogger(__name__)
@@ -3,13 +3,18 @@ from __future__ import annotations
3
3
  import functools
4
4
  import json
5
5
  import re
6
- from typing import Any, Callable
6
+ from typing import TYPE_CHECKING, Any
7
7
 
8
8
  from aws_lambda_powertools.utilities.data_masking.constants import DATA_MASKING_STRING
9
9
 
10
+ if TYPE_CHECKING:
11
+ from collections.abc import Callable
12
+
10
13
  PRESERVE_CHARS = set("-_. ")
11
14
  _regex_cache = {}
12
15
 
16
+ JSON_DUMPS_CALL = functools.partial(json.dumps, ensure_ascii=False)
17
+
13
18
 
14
19
  class BaseProvider:
15
20
  """
@@ -49,7 +54,7 @@ class BaseProvider:
49
54
 
50
55
  def __init__(
51
56
  self,
52
- json_serializer: Callable[..., str] = functools.partial(json.dumps, ensure_ascii=False),
57
+ json_serializer: Callable[..., str] = JSON_DUMPS_CALL,
53
58
  json_deserializer: Callable[[str], Any] = json.loads,
54
59
  ) -> None:
55
60
  self.json_serializer = json_serializer
@@ -4,7 +4,7 @@ import functools
4
4
  import json
5
5
  import logging
6
6
  from binascii import Error
7
- from typing import Any, Callable
7
+ from typing import TYPE_CHECKING, Any
8
8
 
9
9
  import botocore
10
10
  from aws_encryption_sdk import (
@@ -41,8 +41,13 @@ from aws_lambda_powertools.utilities.data_masking.exceptions import (
41
41
  )
42
42
  from aws_lambda_powertools.utilities.data_masking.provider import BaseProvider
43
43
 
44
+ if TYPE_CHECKING:
45
+ from collections.abc import Callable
46
+
44
47
  logger = logging.getLogger(__name__)
45
48
 
49
+ JSON_DUMPS_CALL = functools.partial(json.dumps, ensure_ascii=False)
50
+
46
51
 
47
52
  class AWSEncryptionSDKProvider(BaseProvider):
48
53
  """
@@ -81,7 +86,7 @@ class AWSEncryptionSDKProvider(BaseProvider):
81
86
  max_cache_age_seconds: float = MAX_CACHE_AGE_SECONDS,
82
87
  max_messages_encrypted: int = MAX_MESSAGES_ENCRYPTED,
83
88
  max_bytes_encrypted: int = MAX_BYTES_ENCRYPTED,
84
- json_serializer: Callable[..., str] = functools.partial(json.dumps, ensure_ascii=False),
89
+ json_serializer: Callable[..., str] = JSON_DUMPS_CALL,
85
90
  json_deserializer: Callable[[str], Any] = json.loads,
86
91
  ):
87
92
  super().__init__(json_serializer=json_serializer, json_deserializer=json_deserializer)
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import logging
4
- from typing import TYPE_CHECKING, Any, Callable, List, cast
4
+ from typing import TYPE_CHECKING, Any, cast
5
5
 
6
6
  from aws_lambda_powertools.utilities.feature_flags import schema
7
7
  from aws_lambda_powertools.utilities.feature_flags.comparators import (
@@ -16,6 +16,8 @@ from aws_lambda_powertools.utilities.feature_flags.comparators import (
16
16
  from aws_lambda_powertools.utilities.feature_flags.exceptions import ConfigurationStoreError
17
17
 
18
18
  if TYPE_CHECKING:
19
+ from collections.abc import Callable
20
+
19
21
  from aws_lambda_powertools.logging import Logger
20
22
  from aws_lambda_powertools.utilities.feature_flags.base import StoreProvider
21
23
  from aws_lambda_powertools.utilities.feature_flags.types import JSONType, P, T
@@ -103,7 +105,7 @@ class FeatureFlags:
103
105
  ) -> bool:
104
106
  """Evaluates whether context matches conditions, return False otherwise"""
105
107
  rule_match_value = rule.get(schema.RULE_MATCH_VALUE)
106
- conditions = cast(List[dict], rule.get(schema.CONDITIONS_KEY))
108
+ conditions = cast(list[dict], rule.get(schema.CONDITIONS_KEY))
107
109
 
108
110
  if not conditions:
109
111
  self.logger.debug(
@@ -9,7 +9,7 @@ from __future__ import annotations
9
9
  import datetime
10
10
  import logging
11
11
  from copy import deepcopy
12
- from typing import TYPE_CHECKING, Any, Callable
12
+ from typing import TYPE_CHECKING, Any
13
13
 
14
14
  from aws_lambda_powertools.utilities.idempotency.exceptions import (
15
15
  IdempotencyAlreadyInProgressError,
@@ -29,6 +29,8 @@ from aws_lambda_powertools.utilities.idempotency.serialization.no_op import (
29
29
  )
30
30
 
31
31
  if TYPE_CHECKING:
32
+ from collections.abc import Callable
33
+
32
34
  from aws_lambda_powertools.utilities.idempotency.config import (
33
35
  IdempotencyConfig,
34
36
  )
@@ -9,7 +9,7 @@ import logging
9
9
  import os
10
10
  import warnings
11
11
  from inspect import isclass
12
- from typing import TYPE_CHECKING, Any, Callable, cast
12
+ from typing import TYPE_CHECKING, Any, cast
13
13
 
14
14
  from aws_lambda_powertools.middleware_factory import lambda_handler_decorator
15
15
  from aws_lambda_powertools.shared import constants
@@ -23,6 +23,8 @@ from aws_lambda_powertools.utilities.idempotency.serialization.base import (
23
23
  )
24
24
 
25
25
  if TYPE_CHECKING:
26
+ from collections.abc import Callable
27
+
26
28
  from aws_lambda_powertools.utilities.idempotency.persistence.base import (
27
29
  BasePersistenceLayer,
28
30
  )
@@ -1,9 +1,12 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import Any, Callable
3
+ from typing import TYPE_CHECKING, Any
4
4
 
5
5
  from aws_lambda_powertools.utilities.idempotency.serialization.base import BaseIdempotencySerializer
6
6
 
7
+ if TYPE_CHECKING:
8
+ from collections.abc import Callable
9
+
7
10
 
8
11
  class CustomDictSerializer(BaseIdempotencySerializer):
9
12
  def __init__(self, to_dict: Callable[[Any], dict], from_dict: Callable[[dict], Any]):
@@ -8,8 +8,9 @@ from __future__ import annotations
8
8
 
9
9
  import os
10
10
  from abc import ABC, abstractmethod
11
+ from collections.abc import Callable
11
12
  from datetime import datetime, timedelta
12
- from typing import TYPE_CHECKING, Any, Callable, NamedTuple, cast, overload
13
+ from typing import TYPE_CHECKING, Any, NamedTuple, cast, overload
13
14
 
14
15
  from aws_lambda_powertools.shared import constants, user_agent
15
16
  from aws_lambda_powertools.shared.functions import resolve_max_age
@@ -2,7 +2,8 @@
2
2
 
3
3
  import base64
4
4
  import json
5
- from typing import Any, Callable
5
+ from collections.abc import Callable
6
+ from typing import Any
6
7
 
7
8
 
8
9
  def base64_encode(data: str) -> str:
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import io
4
4
  import logging
5
- from typing import IO, TYPE_CHECKING, Any, Iterable, Sequence, TypeVar, cast
5
+ from typing import IO, TYPE_CHECKING, Any, TypeVar, cast
6
6
 
7
7
  import boto3
8
8
 
@@ -11,6 +11,7 @@ from aws_lambda_powertools.utilities.streaming.compat import PowertoolsStreaming
11
11
  from aws_lambda_powertools.utilities.streaming.constants import MESSAGE_STREAM_NOT_WRITABLE
12
12
 
13
13
  if TYPE_CHECKING:
14
+ from collections.abc import Iterable, Sequence
14
15
  from mmap import mmap
15
16
 
16
17
  from mypy_boto3_s3.client import S3Client
@@ -1,7 +1,8 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import io
4
- from typing import IO, TYPE_CHECKING, Any, Iterable, Literal, Sequence, TypeVar, cast, overload
4
+ from collections.abc import Sequence
5
+ from typing import IO, TYPE_CHECKING, Any, Literal, TypeVar, cast, overload
5
6
 
6
7
  from aws_lambda_powertools.utilities.streaming._s3_seekable_io import _S3SeekableIO
7
8
  from aws_lambda_powertools.utilities.streaming.constants import MESSAGE_STREAM_NOT_WRITABLE
@@ -12,6 +13,7 @@ from aws_lambda_powertools.utilities.streaming.transformations import (
12
13
  from aws_lambda_powertools.utilities.streaming.types import T
13
14
 
14
15
  if TYPE_CHECKING:
16
+ from collections.abc import Iterable
15
17
  from mmap import mmap
16
18
 
17
19
  from mypy_boto3_s3.client import S3Client
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import logging
4
4
 
5
- import fastjsonschema # type: ignore
5
+ import fastjsonschema
6
6
 
7
7
  from aws_lambda_powertools.utilities.validation.exceptions import InvalidSchemaFormatError, SchemaValidationError
8
8
 
@@ -1,12 +1,15 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import logging
4
- from typing import Any, Callable
4
+ from typing import TYPE_CHECKING, Any
5
5
 
6
6
  from aws_lambda_powertools.middleware_factory import lambda_handler_decorator
7
7
  from aws_lambda_powertools.utilities import jmespath_utils
8
8
  from aws_lambda_powertools.utilities.validation.base import validate_data_against_schema
9
9
 
10
+ if TYPE_CHECKING:
11
+ from collections.abc import Callable
12
+
10
13
  logger = logging.getLogger(__name__)
11
14
 
12
15
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "aws_lambda_powertools"
3
- version = "3.10.1a5"
3
+ version = "3.10.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"]
@@ -107,7 +107,7 @@ hvac = "^2.3.0"
107
107
  aws-requests-auth = "^0.4.3"
108
108
  urllib3 = "<2"
109
109
  requests = ">=2.32.0"
110
- cfn-lint = "1.33.2"
110
+ cfn-lint = "1.34.0"
111
111
  mypy = "^1.1.1"
112
112
  types-python-dateutil = "^2.8.19.6"
113
113
  aws-cdk-aws-appsync-alpha = "^2.59.0a0"
@@ -65,7 +65,7 @@ extras_require = \
65
65
 
66
66
  setup_kwargs = {
67
67
  'name': 'aws_lambda_powertools',
68
- 'version': '3.10.1a5',
68
+ 'version': '3.10.1a6',
69
69
  'description': 'Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity.',
70
70
  'long_description': '<!-- markdownlint-disable MD013 MD041 MD043 -->\n# Powertools for AWS Lambda (Python)\n\n[![Build](https://github.com/aws-powertools/powertools-lambda-python/actions/workflows/quality_check.yml/badge.svg)](https://github.com/aws-powertools/powertools-lambda-python/actions/workflows/python_build.yml)\n[![codecov.io](https://codecov.io/github/aws-powertools/powertools-lambda-python/branch/develop/graphs/badge.svg)](https://app.codecov.io/gh/aws-powertools/powertools-lambda-python)\n![PythonSupport](https://img.shields.io/static/v1?label=python&message=%203.9|%203.10|%203.11|%203.12|%203.13&color=blue?style=flat-square&logo=python) ![PyPI version](https://badge.fury.io/py/aws-lambda-powertools.svg) ![PyPi monthly downloads](https://img.shields.io/pypi/dm/aws-lambda-powertools) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/aws-powertools/powertools-lambda-python/badge)](https://api.securityscorecards.dev/projects/github.com/aws-powertools/powertools-lambda-python) [![Join our Discord](https://dcbadge.vercel.app/api/server/B8zZKbbyET?style=flat-square)](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![hero-image](https://user-images.githubusercontent.com/3340292/198254617-d0fdb672-86a6-4988-8a40-adf437135e0a.png)\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* [Guild](https://guild.com/)\n* [IMS](https://ims.tech/)\n* [Jit Security](https://www.jit.io/)\n* [LocalStack](https://www.localstack.cloud/)\n* [Propellor.ai](https://www.propellor.ai/)\n* [Pushpay](https://pushpay.com/)\n* [Recast](https://getrecast.com/)\n* [TopSport](https://www.topsport.com.au/)\n* [Transformity](https://transformity.tech/)\n* [Trek10](https://www.trek10.com/)\n* [Vertex Pharmaceuticals](https://www.vrtx.com/)\n\n### Sharing your work\n\nShare what you did with Powertools for AWS Lambda (Python) 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (Python) [here](https://docs.powertools.aws.dev/lambda/python/latest/we_made_this/).\n\n### Using Lambda Layer or SAR\n\nThis helps us understand who uses Powertools for AWS Lambda (Python) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/python/latest/#lambda-layer), you can add Powertools for AWS Lambda (Python) as a dev dependency (or as part of your virtual env) to not impact the development process.\n\n## Credits\n\n* Structured logging initial implementation from [aws-lambda-logging](https://gitlab.com/hadrien/aws_lambda_logging)\n* Powertools for AWS Lambda (Python) idea [DAZN Powertools](https://github.com/getndazn/dazn-lambda-powertools/)\n\n## Connect\n\n* **Powertools for AWS Lambda on Discord**: `#python` - **[Invite link](https://discord.gg/B8zZKbbyET)**\n* **Email**: <aws-powertools-maintainers@amazon.com>\n\n## Security disclosures\n\nIf you think you’ve found a potential security issue, please do not post it in the Issues. Instead, please follow the instructions [here](https://aws.amazon.com/security/vulnerability-reporting/) or [email AWS security directly](mailto:aws-security@amazon.com).\n\n## License\n\nThis library is licensed under the MIT-0 License. See the LICENSE file.\n',
71
71
  'author': 'Amazon Web Services',
@@ -1,3 +0,0 @@
1
- from typing import Any, Callable, TypeVar
2
-
3
- AnyCallableT = TypeVar("AnyCallableT", bound=Callable[..., Any]) # noqa: VNE001