aws-lambda-powertools 3.10.1a4__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 (268) hide show
  1. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/PKG-INFO +1 -1
  2. aws_lambda_powertools-3.10.1a6/aws_lambda_powertools/event_handler/exceptions.py +73 -0
  3. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/buffer/functions.py +2 -1
  4. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/formatter.py +11 -6
  5. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/formatters/datadog.py +3 -1
  6. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/logger.py +3 -1
  7. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/utils.py +3 -1
  8. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/base.py +3 -1
  9. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/metrics.py +3 -1
  10. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/middleware_factory/__init__.py +1 -1
  11. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/middleware_factory/factory.py +4 -1
  12. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/dynamodb_deserializer.py +4 -1
  13. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/functions.py +4 -1
  14. aws_lambda_powertools-3.10.1a6/aws_lambda_powertools/shared/types.py +4 -0
  15. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/version.py +1 -1
  16. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/tracing/base.py +2 -1
  17. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/tracing/tracer.py +2 -1
  18. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/batch/base.py +3 -1
  19. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/batch/decorators.py +3 -1
  20. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/active_mq_event.py +4 -1
  21. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/common.py +4 -1
  22. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py +4 -1
  23. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/event_source.py +3 -1
  24. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/kafka_event.py +4 -1
  25. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py +3 -1
  26. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/kinesis_stream_event.py +4 -1
  27. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/s3_batch_operation_event.py +4 -1
  28. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/s3_event.py +4 -1
  29. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/ses_event.py +4 -1
  30. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/sns_event.py +4 -1
  31. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/sqs_event.py +5 -2
  32. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_masking/base.py +2 -1
  33. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_masking/provider/base.py +7 -2
  34. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_masking/provider/kms/aws_encryption_sdk.py +7 -2
  35. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/feature_flags/feature_flags.py +4 -2
  36. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/base.py +3 -1
  37. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/idempotency.py +3 -1
  38. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py +4 -1
  39. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parameters/base.py +2 -1
  40. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/serialization.py +2 -1
  41. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/_s3_seekable_io.py +2 -1
  42. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/s3_object.py +3 -1
  43. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/validation/base.py +1 -1
  44. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/validation/validator.py +4 -1
  45. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/pyproject.toml +2 -2
  46. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/setup.py +1 -1
  47. aws_lambda_powertools-3.10.1a4/aws_lambda_powertools/event_handler/exceptions.py +0 -45
  48. aws_lambda_powertools-3.10.1a4/aws_lambda_powertools/shared/types.py +0 -3
  49. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/LICENSE +0 -0
  50. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/README.md +0 -0
  51. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/THIRD-PARTY-LICENSES +0 -0
  52. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/__init__.py +0 -0
  53. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/__init__.py +0 -0
  54. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/api_gateway.py +0 -0
  55. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/appsync.py +0 -0
  56. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/bedrock_agent.py +0 -0
  57. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/content_types.py +0 -0
  58. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/graphql_appsync/__init__.py +0 -0
  59. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/graphql_appsync/_registry.py +0 -0
  60. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/graphql_appsync/base.py +0 -0
  61. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/graphql_appsync/exceptions.py +0 -0
  62. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/graphql_appsync/router.py +0 -0
  63. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/lambda_function_url.py +0 -0
  64. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/middlewares/__init__.py +0 -0
  65. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/middlewares/base.py +0 -0
  66. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/middlewares/openapi_validation.py +0 -0
  67. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/middlewares/schema_validation.py +0 -0
  68. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/__init__.py +0 -0
  69. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/compat.py +0 -0
  70. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/config.py +0 -0
  71. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/constants.py +0 -0
  72. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/dependant.py +0 -0
  73. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/encoders.py +0 -0
  74. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/exceptions.py +0 -0
  75. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/models.py +0 -0
  76. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/params.py +0 -0
  77. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/pydantic_loader.py +0 -0
  78. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/swagger_ui/__init__.py +0 -0
  79. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/swagger_ui/html.py +0 -0
  80. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/swagger_ui/oauth2.py +0 -0
  81. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui-bundle.min.js +0 -0
  82. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui.min.css +0 -0
  83. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/openapi/types.py +0 -0
  84. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/router.py +0 -0
  85. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/types.py +0 -0
  86. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/util.py +0 -0
  87. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/event_handler/vpc_lattice.py +0 -0
  88. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/exceptions/__init__.py +0 -0
  89. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/__init__.py +0 -0
  90. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/buffer/__init__.py +0 -0
  91. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/buffer/cache.py +0 -0
  92. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/buffer/config.py +0 -0
  93. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/constants.py +0 -0
  94. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/correlation_paths.py +0 -0
  95. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/exceptions.py +0 -0
  96. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/filters.py +0 -0
  97. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/formatters/__init__.py +0 -0
  98. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/lambda_context.py +0 -0
  99. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/logging/types.py +0 -0
  100. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/__init__.py +0 -0
  101. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/exceptions.py +0 -0
  102. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/functions.py +0 -0
  103. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/metric.py +0 -0
  104. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/__init__.py +0 -0
  105. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/base.py +0 -0
  106. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/__init__.py +0 -0
  107. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/cloudwatch.py +0 -0
  108. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/constants.py +0 -0
  109. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/exceptions.py +0 -0
  110. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/metric_properties.py +0 -0
  111. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/types.py +0 -0
  112. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/cold_start.py +0 -0
  113. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/datadog/__init__.py +0 -0
  114. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/datadog/datadog.py +0 -0
  115. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/datadog/metrics.py +0 -0
  116. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/provider/datadog/warnings.py +0 -0
  117. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/metrics/types.py +0 -0
  118. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/middleware_factory/exceptions.py +0 -0
  119. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/package_logger.py +0 -0
  120. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/py.typed +0 -0
  121. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/__init__.py +0 -0
  122. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/cache_dict.py +0 -0
  123. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/constants.py +0 -0
  124. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/cookies.py +0 -0
  125. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/headers_serializer.py +0 -0
  126. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/json_encoder.py +0 -0
  127. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/lazy_import.py +0 -0
  128. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/shared/user_agent.py +0 -0
  129. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/tracing/__init__.py +0 -0
  130. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/tracing/extensions.py +0 -0
  131. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/__init__.py +0 -0
  132. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/batch/__init__.py +0 -0
  133. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/batch/exceptions.py +0 -0
  134. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/batch/sqs_fifo_partial_processor.py +0 -0
  135. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/batch/types.py +0 -0
  136. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/__init__.py +0 -0
  137. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/alb_event.py +0 -0
  138. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/api_gateway_authorizer_event.py +0 -0
  139. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/api_gateway_proxy_event.py +0 -0
  140. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/api_gateway_websocket_event.py +0 -0
  141. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/appsync/__init__.py +0 -0
  142. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/appsync/scalar_types_utils.py +0 -0
  143. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/appsync_authorizer_event.py +0 -0
  144. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/appsync_resolver_event.py +0 -0
  145. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/aws_config_rule_event.py +0 -0
  146. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/bedrock_agent_event.py +0 -0
  147. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/cloud_watch_alarm_event.py +0 -0
  148. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/cloud_watch_custom_widget_event.py +0 -0
  149. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/cloud_watch_logs_event.py +0 -0
  150. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/cloudformation_custom_resource_event.py +0 -0
  151. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/code_deploy_lifecycle_hook_event.py +0 -0
  152. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/code_pipeline_job_event.py +0 -0
  153. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/cognito_user_pool_event.py +0 -0
  154. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/connect_contact_flow_event.py +0 -0
  155. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/event_bridge_event.py +0 -0
  156. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/iot_registry_event.py +0 -0
  157. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/lambda_function_url_event.py +0 -0
  158. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/rabbit_mq_event.py +0 -0
  159. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/s3_object_event.py +0 -0
  160. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/secrets_manager_event.py +0 -0
  161. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/shared_functions.py +0 -0
  162. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/transfer_family_event.py +0 -0
  163. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_classes/vpc_lattice.py +0 -0
  164. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_masking/__init__.py +0 -0
  165. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_masking/constants.py +0 -0
  166. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_masking/exceptions.py +0 -0
  167. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_masking/provider/__init__.py +0 -0
  168. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/data_masking/provider/kms/__init__.py +0 -0
  169. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/feature_flags/__init__.py +0 -0
  170. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/feature_flags/appconfig.py +0 -0
  171. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/feature_flags/base.py +0 -0
  172. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/feature_flags/comparators.py +0 -0
  173. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/feature_flags/constants.py +0 -0
  174. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/feature_flags/exceptions.py +0 -0
  175. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/feature_flags/schema.py +0 -0
  176. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/feature_flags/types.py +0 -0
  177. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/__init__.py +0 -0
  178. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/config.py +0 -0
  179. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/exceptions.py +0 -0
  180. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/hook.py +0 -0
  181. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/persistence/__init__.py +0 -0
  182. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/persistence/base.py +0 -0
  183. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/persistence/datarecord.py +0 -0
  184. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/persistence/dynamodb.py +0 -0
  185. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/persistence/redis.py +0 -0
  186. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/serialization/__init__.py +0 -0
  187. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/serialization/base.py +0 -0
  188. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/serialization/dataclass.py +0 -0
  189. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/serialization/functions.py +0 -0
  190. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/serialization/no_op.py +0 -0
  191. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/idempotency/serialization/pydantic.py +0 -0
  192. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/jmespath_utils/__init__.py +0 -0
  193. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/jmespath_utils/envelopes.py +0 -0
  194. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parameters/__init__.py +0 -0
  195. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parameters/appconfig.py +0 -0
  196. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parameters/constants.py +0 -0
  197. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parameters/dynamodb.py +0 -0
  198. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parameters/exceptions.py +0 -0
  199. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parameters/secrets.py +0 -0
  200. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parameters/ssm.py +0 -0
  201. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parameters/types.py +0 -0
  202. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/__init__.py +0 -0
  203. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/__init__.py +0 -0
  204. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/apigw.py +0 -0
  205. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/apigw_websocket.py +0 -0
  206. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/apigwv2.py +0 -0
  207. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/base.py +0 -0
  208. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/bedrock_agent.py +0 -0
  209. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py +0 -0
  210. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py +0 -0
  211. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/event_bridge.py +0 -0
  212. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/kafka.py +0 -0
  213. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/kinesis.py +0 -0
  214. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/kinesis_firehose.py +0 -0
  215. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/lambda_function_url.py +0 -0
  216. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/sns.py +0 -0
  217. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/sqs.py +0 -0
  218. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/vpc_lattice.py +0 -0
  219. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/envelopes/vpc_latticev2.py +0 -0
  220. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/exceptions.py +0 -0
  221. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/functions.py +0 -0
  222. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/__init__.py +0 -0
  223. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/alb.py +0 -0
  224. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/apigw.py +0 -0
  225. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/apigw_websocket.py +0 -0
  226. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/apigwv2.py +0 -0
  227. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/appsync.py +0 -0
  228. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/bedrock_agent.py +0 -0
  229. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/cloudformation_custom_resource.py +0 -0
  230. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/cloudwatch.py +0 -0
  231. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/dynamodb.py +0 -0
  232. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/event_bridge.py +0 -0
  233. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/iot_registry_events.py +0 -0
  234. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/kafka.py +0 -0
  235. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/kinesis.py +0 -0
  236. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose.py +0 -0
  237. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose_sqs.py +0 -0
  238. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/lambda_function_url.py +0 -0
  239. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/s3.py +0 -0
  240. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/s3_batch_operation.py +0 -0
  241. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/s3_event_notification.py +0 -0
  242. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/s3_object_event.py +0 -0
  243. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/ses.py +0 -0
  244. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/sns.py +0 -0
  245. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/sqs.py +0 -0
  246. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/transfer_family.py +0 -0
  247. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/vpc_lattice.py +0 -0
  248. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/models/vpc_latticev2.py +0 -0
  249. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/parser.py +0 -0
  250. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/parser/types.py +0 -0
  251. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/__init__.py +0 -0
  252. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/compat.py +0 -0
  253. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/constants.py +0 -0
  254. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/transformations/__init__.py +0 -0
  255. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/transformations/base.py +0 -0
  256. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/transformations/csv.py +0 -0
  257. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/transformations/gzip.py +0 -0
  258. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/transformations/zip.py +0 -0
  259. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/streaming/types.py +0 -0
  260. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/typing/__init__.py +0 -0
  261. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/typing/lambda_client_context.py +0 -0
  262. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/typing/lambda_client_context_mobile_client.py +0 -0
  263. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/typing/lambda_cognito_identity.py +0 -0
  264. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/typing/lambda_context.py +0 -0
  265. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/validation/__init__.py +0 -0
  266. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/validation/envelopes.py +0 -0
  267. {aws_lambda_powertools-3.10.1a4 → aws_lambda_powertools-3.10.1a6}/aws_lambda_powertools/utilities/validation/exceptions.py +0 -0
  268. {aws_lambda_powertools-3.10.1a4 → 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.1a4
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
@@ -0,0 +1,73 @@
1
+ from http import HTTPStatus
2
+
3
+
4
+ class ServiceError(Exception):
5
+ """Powertools class HTTP Service Error"""
6
+
7
+ def __init__(self, status_code: int, msg: str):
8
+ """
9
+ Parameters
10
+ ----------
11
+ status_code: int
12
+ Http status code
13
+ msg: str
14
+ Error message
15
+ """
16
+ self.status_code = status_code
17
+ self.msg = msg
18
+
19
+
20
+ class BadRequestError(ServiceError):
21
+ """Powertools class Bad Request Error (400)"""
22
+
23
+ def __init__(self, msg: str):
24
+ super().__init__(HTTPStatus.BAD_REQUEST, msg)
25
+
26
+
27
+ class UnauthorizedError(ServiceError):
28
+ """Powertools class Unauthorized Error (401)"""
29
+
30
+ def __init__(self, msg: str):
31
+ super().__init__(HTTPStatus.UNAUTHORIZED, msg)
32
+
33
+
34
+ class ForbiddenError(ServiceError):
35
+ """Powertools class Forbidden Error (403)"""
36
+
37
+ def __init__(self, msg: str):
38
+ super().__init__(HTTPStatus.FORBIDDEN, msg)
39
+
40
+
41
+ class NotFoundError(ServiceError):
42
+ """Powertools class Not Found Error (404)"""
43
+
44
+ def __init__(self, msg: str = "Not found"):
45
+ super().__init__(HTTPStatus.NOT_FOUND, msg)
46
+
47
+
48
+ class RequestTimeoutError(ServiceError):
49
+ """Powertools class Request Timeout Error (408)"""
50
+
51
+ def __init__(self, msg: str):
52
+ super().__init__(HTTPStatus.REQUEST_TIMEOUT, msg)
53
+
54
+
55
+ class RequestEntityTooLargeError(ServiceError):
56
+ """Powertools class Request Entity Too Large Error (413)"""
57
+
58
+ def __init__(self, msg: str):
59
+ super().__init__(HTTPStatus.REQUEST_ENTITY_TOO_LARGE, msg)
60
+
61
+
62
+ class InternalServerError(ServiceError):
63
+ """Powertools class Internal Server Error (500)"""
64
+
65
+ def __init__(self, message: str):
66
+ super().__init__(HTTPStatus.INTERNAL_SERVER_ERROR, message)
67
+
68
+
69
+ class ServiceUnavailableError(ServiceError):
70
+ """Powertools class Service Unavailable Error (503)"""
71
+
72
+ def __init__(self, msg: str):
73
+ super().__init__(HTTPStatus.SERVICE_UNAVAILABLE, msg)
@@ -2,10 +2,11 @@ from __future__ import annotations
2
2
 
3
3
  import sys
4
4
  import time
5
- from typing import TYPE_CHECKING, Any, Mapping
5
+ from typing import TYPE_CHECKING, Any
6
6
 
7
7
  if TYPE_CHECKING:
8
8
  import logging
9
+ from collections.abc import Mapping
9
10
 
10
11
 
11
12
  def _create_buffer_record(
@@ -11,12 +11,14 @@ from contextlib import contextmanager
11
11
  from contextvars import ContextVar
12
12
  from datetime import datetime, timezone
13
13
  from functools import partial
14
- from typing import TYPE_CHECKING, Any, Callable, Generator, Iterable
14
+ from typing import TYPE_CHECKING, Any
15
15
 
16
16
  from aws_lambda_powertools.shared import constants
17
17
  from aws_lambda_powertools.shared.functions import powertools_dev_is_set
18
18
 
19
19
  if TYPE_CHECKING:
20
+ from collections.abc import Callable, Generator, Iterable
21
+
20
22
  from aws_lambda_powertools.logging.types import LogRecord, LogStackTrace
21
23
 
22
24
  RESERVED_LOG_ATTRS = (
@@ -68,7 +70,7 @@ class BasePowertoolsFormatter(logging.Formatter, metaclass=ABCMeta):
68
70
  yield
69
71
 
70
72
  # These specific thread-safe methods are necessary to manage shared context in concurrent environments.
71
- # They prevent race conditions and ensure data consistency across multiple threads.
73
+ # They prevent race conditions and ensure data consistency across multiple threads and logger.
72
74
  def thread_safe_append_keys(self, **additional_keys) -> None:
73
75
  raise NotImplementedError()
74
76
 
@@ -194,9 +196,10 @@ class LambdaPowertoolsFormatter(BasePowertoolsFormatter):
194
196
 
195
197
  # exception and exception_name fields can be added as extra key
196
198
  # in any log level, we try to extract and use them first
197
- extracted_exception, extracted_exception_name = self._extract_log_exception(log_record=record)
199
+ extracted_exception, extracted_exception_name, exception_notes = self._extract_log_exception(log_record=record)
198
200
  formatted_log["exception"] = formatted_log.get("exception", extracted_exception)
199
201
  formatted_log["exception_name"] = formatted_log.get("exception_name", extracted_exception_name)
202
+ formatted_log["exception_notes"] = formatted_log.get("exception_notes", exception_notes)
200
203
  if self.serialize_stacktrace:
201
204
  # Generate the traceback from the traceback library
202
205
  formatted_log["stack_trace"] = self._serialize_stacktrace(log_record=record)
@@ -380,7 +383,7 @@ class LambdaPowertoolsFormatter(BasePowertoolsFormatter):
380
383
 
381
384
  return None
382
385
 
383
- def _extract_log_exception(self, log_record: logging.LogRecord) -> tuple[str, str] | tuple[None, None]:
386
+ def _extract_log_exception(self, log_record: logging.LogRecord) -> tuple[str, str, list] | tuple[None, None, None]:
384
387
  """Format traceback information, if available
385
388
 
386
389
  Parameters
@@ -393,10 +396,12 @@ class LambdaPowertoolsFormatter(BasePowertoolsFormatter):
393
396
  log_record: tuple[str, str] | tuple[None, None]
394
397
  Log record with constant traceback info and exception name
395
398
  """
399
+
396
400
  if isinstance(log_record.exc_info, tuple) and hasattr(log_record.exc_info[0], "__name__"):
397
- return self.formatException(log_record.exc_info), log_record.exc_info[0].__name__ # type: ignore
401
+ exception_notes = getattr(log_record.exc_info[1], "__notes__", None)
402
+ return self.formatException(log_record.exc_info), log_record.exc_info[0].__name__, exception_notes # type: ignore
398
403
 
399
- return None, None
404
+ return None, None, None
400
405
 
401
406
  def _extract_log_keys(self, log_record: logging.LogRecord) -> dict[str, Any]:
402
407
  """Extract and parse custom and reserved log keys
@@ -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.logging.formatter import LambdaPowertoolsFormatter
6
6
 
7
7
  if TYPE_CHECKING:
8
+ from collections.abc import Callable
9
+
8
10
  from aws_lambda_powertools.logging.types import LogRecord
9
11
 
10
12
 
@@ -14,7 +14,7 @@ import random
14
14
  import sys
15
15
  import warnings
16
16
  from contextlib import contextmanager
17
- from typing import IO, TYPE_CHECKING, Any, Callable, Generator, Iterable, Mapping, TypeVar, cast, overload
17
+ from typing import IO, TYPE_CHECKING, Any, TypeVar, cast, overload
18
18
 
19
19
  from aws_lambda_powertools.logging.buffer.cache import LoggerBufferCache
20
20
  from aws_lambda_powertools.logging.buffer.functions import _check_minimum_buffer_log_level, _create_buffer_record
@@ -45,6 +45,8 @@ from aws_lambda_powertools.utilities import jmespath_utils
45
45
  from aws_lambda_powertools.warnings import PowertoolsUserWarning
46
46
 
47
47
  if TYPE_CHECKING:
48
+ from collections.abc import Callable, Generator, Iterable, Mapping
49
+
48
50
  from aws_lambda_powertools.logging.buffer.config import LoggerBufferConfig
49
51
  from aws_lambda_powertools.shared.types import AnyCallableT
50
52
 
@@ -1,9 +1,11 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import logging
4
- from typing import TYPE_CHECKING, Callable
4
+ from typing import TYPE_CHECKING
5
5
 
6
6
  if TYPE_CHECKING:
7
+ from collections.abc import Callable
8
+
7
9
  from aws_lambda_powertools.logging.logger import Logger
8
10
 
9
11
  PACKAGE_LOGGER = "aws_lambda_powertools"
@@ -15,7 +15,7 @@ import os
15
15
  import warnings
16
16
  from collections import defaultdict
17
17
  from contextlib import contextmanager
18
- from typing import TYPE_CHECKING, Any, Callable, Generator
18
+ from typing import TYPE_CHECKING, Any
19
19
 
20
20
  from aws_lambda_powertools.metrics.exceptions import (
21
21
  MetricResolutionError,
@@ -34,6 +34,8 @@ from aws_lambda_powertools.shared import constants
34
34
  from aws_lambda_powertools.shared.functions import resolve_env_var_choice
35
35
 
36
36
  if TYPE_CHECKING:
37
+ from collections.abc import Callable, Generator
38
+
37
39
  from aws_lambda_powertools.metrics.types import MetricNameUnitResolution
38
40
 
39
41
  logger = logging.getLogger(__name__)
@@ -1,11 +1,13 @@
1
1
  # NOTE: keeps for compatibility
2
2
  from __future__ import annotations
3
3
 
4
- from typing import TYPE_CHECKING, Any, Callable
4
+ from typing import TYPE_CHECKING, Any
5
5
 
6
6
  from aws_lambda_powertools.metrics.provider.cloudwatch_emf.cloudwatch import AmazonCloudWatchEMFProvider
7
7
 
8
8
  if TYPE_CHECKING:
9
+ from collections.abc import Callable
10
+
9
11
  from aws_lambda_powertools.metrics.base import MetricResolution, MetricUnit
10
12
  from aws_lambda_powertools.metrics.provider.cloudwatch_emf.types import CloudWatchEMFOutput
11
13
  from aws_lambda_powertools.shared.types import AnyCallableT
@@ -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.1a4"
3
+ VERSION = "3.10.1a6"
@@ -8,11 +8,12 @@ from __future__ import annotations
8
8
 
9
9
  import abc
10
10
  from contextlib import contextmanager
11
- from typing import TYPE_CHECKING, Any, Generator, Sequence
11
+ from typing import TYPE_CHECKING, Any
12
12
 
13
13
  if TYPE_CHECKING:
14
14
  import numbers
15
15
  import traceback
16
+ from collections.abc import Generator, Sequence
16
17
 
17
18
 
18
19
  class BaseSegment(abc.ABC):
@@ -6,7 +6,7 @@ import functools
6
6
  import inspect
7
7
  import logging
8
8
  import os
9
- from typing import TYPE_CHECKING, Any, Callable, Sequence, TypeVar, cast, overload
9
+ from typing import TYPE_CHECKING, Any, TypeVar, cast, overload
10
10
 
11
11
  from aws_lambda_powertools.shared import constants
12
12
  from aws_lambda_powertools.shared.functions import (
@@ -19,6 +19,7 @@ from aws_lambda_powertools.shared.types import AnyCallableT
19
19
 
20
20
  if TYPE_CHECKING:
21
21
  import numbers
22
+ from collections.abc import Callable, Sequence
22
23
 
23
24
  from aws_lambda_powertools.tracing.base import BaseProvider, BaseSegment
24
25
 
@@ -14,7 +14,7 @@ import os
14
14
  import sys
15
15
  from abc import ABC, abstractmethod
16
16
  from enum import Enum
17
- from typing import TYPE_CHECKING, Any, Callable, Tuple, Union, overload
17
+ from typing import TYPE_CHECKING, Any, Tuple, Union, overload
18
18
 
19
19
  from aws_lambda_powertools.shared import constants
20
20
  from aws_lambda_powertools.utilities.batch.exceptions import (
@@ -31,6 +31,8 @@ from aws_lambda_powertools.utilities.data_classes.kinesis_stream_event import (
31
31
  from aws_lambda_powertools.utilities.data_classes.sqs_event import SQSRecord
32
32
 
33
33
  if TYPE_CHECKING:
34
+ from collections.abc import Callable
35
+
34
36
  from aws_lambda_powertools.utilities.batch.types import (
35
37
  PartialItemFailureResponse,
36
38
  PartialItemFailures,
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import warnings
4
- from typing import TYPE_CHECKING, Any, Awaitable, Callable
4
+ from typing import TYPE_CHECKING, Any
5
5
 
6
6
  from typing_extensions import deprecated
7
7
 
@@ -16,6 +16,8 @@ from aws_lambda_powertools.utilities.batch.exceptions import UnexpectedBatchType
16
16
  from aws_lambda_powertools.warnings import PowertoolsDeprecationWarning
17
17
 
18
18
  if TYPE_CHECKING:
19
+ from collections.abc import Awaitable, Callable
20
+
19
21
  from aws_lambda_powertools.utilities.batch.types import PartialItemFailureResponse
20
22
  from aws_lambda_powertools.utilities.typing import LambdaContext
21
23
 
@@ -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