aws-lambda-powertools 3.29.0__tar.gz → 3.30.0__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 (310) hide show
  1. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/PKG-INFO +1 -1
  2. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/__init__.py +2 -1
  3. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/appsync.py +2 -2
  4. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/bedrock_agent.py +7 -2
  5. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/graphql_appsync/_registry.py +1 -1
  6. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/graphql_appsync/base.py +3 -9
  7. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/http_resolver.py +12 -124
  8. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/middlewares/openapi_validation.py +5 -5
  9. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/models.py +169 -169
  10. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/swagger_ui/oauth2.py +8 -6
  11. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/util.py +2 -2
  12. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/version.py +1 -1
  13. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/batch/base.py +19 -3
  14. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/batch/sqs_fifo_partial_processor.py +9 -2
  15. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/common.py +2 -2
  16. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_masking/provider/base.py +1 -1
  17. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/persistence/redis.py +14 -11
  18. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parameters/ssm.py +1 -1
  19. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/pyproject.toml +7 -6
  20. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/setup.py +1 -1
  21. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/LICENSE +0 -0
  22. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/README.md +0 -0
  23. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/THIRD-PARTY-LICENSES +0 -0
  24. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/__init__.py +0 -0
  25. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/api_gateway.py +0 -0
  26. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/bedrock_agent_function.py +0 -0
  27. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/content_types.py +0 -0
  28. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/depends.py +0 -0
  29. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/events_appsync/__init__.py +0 -0
  30. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/events_appsync/_registry.py +0 -0
  31. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/events_appsync/appsync_events.py +0 -0
  32. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/events_appsync/base.py +0 -0
  33. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/events_appsync/exceptions.py +0 -0
  34. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/events_appsync/functions.py +0 -0
  35. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/events_appsync/router.py +0 -0
  36. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/events_appsync/types.py +0 -0
  37. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/exception_handling.py +0 -0
  38. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/exceptions.py +0 -0
  39. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/graphql_appsync/__init__.py +0 -0
  40. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/graphql_appsync/exceptions.py +0 -0
  41. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/graphql_appsync/router.py +0 -0
  42. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/lambda_function_url.py +0 -0
  43. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/middlewares/__init__.py +0 -0
  44. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/middlewares/async_utils.py +0 -0
  45. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/middlewares/base.py +0 -0
  46. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/middlewares/schema_validation.py +0 -0
  47. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/__init__.py +0 -0
  48. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/compat.py +0 -0
  49. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/config.py +0 -0
  50. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/constants.py +0 -0
  51. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/dependant.py +0 -0
  52. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/encoders.py +0 -0
  53. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/exceptions.py +0 -0
  54. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/merge.py +0 -0
  55. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/params.py +0 -0
  56. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/pydantic_loader.py +0 -0
  57. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/schema_generator.py +0 -0
  58. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/swagger_ui/__init__.py +0 -0
  59. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/swagger_ui/html.py +0 -0
  60. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui-bundle.min.js +0 -0
  61. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui.min.css +0 -0
  62. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/types.py +0 -0
  63. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/request.py +0 -0
  64. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/router.py +0 -0
  65. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/types.py +0 -0
  66. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/vpc_lattice.py +0 -0
  67. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/exceptions/__init__.py +0 -0
  68. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/__init__.py +0 -0
  69. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/buffer/__init__.py +0 -0
  70. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/buffer/cache.py +0 -0
  71. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/buffer/config.py +0 -0
  72. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/buffer/functions.py +0 -0
  73. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/buffer/handler.py +0 -0
  74. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/constants.py +0 -0
  75. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/correlation_paths.py +0 -0
  76. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/exceptions.py +0 -0
  77. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/filters.py +0 -0
  78. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/formatter.py +0 -0
  79. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/formatters/__init__.py +0 -0
  80. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/formatters/datadog.py +0 -0
  81. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/lambda_context.py +0 -0
  82. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/logger.py +0 -0
  83. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/types.py +0 -0
  84. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/utils.py +0 -0
  85. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/__init__.py +0 -0
  86. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/base.py +0 -0
  87. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/exceptions.py +0 -0
  88. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/functions.py +0 -0
  89. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/metric.py +0 -0
  90. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/metrics.py +0 -0
  91. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/__init__.py +0 -0
  92. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/base.py +0 -0
  93. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/__init__.py +0 -0
  94. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/cloudwatch.py +0 -0
  95. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/constants.py +0 -0
  96. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/exceptions.py +0 -0
  97. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/metric_properties.py +0 -0
  98. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/types.py +0 -0
  99. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/cold_start.py +0 -0
  100. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/datadog/__init__.py +0 -0
  101. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/datadog/datadog.py +0 -0
  102. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/datadog/metrics.py +0 -0
  103. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/datadog/warnings.py +0 -0
  104. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/types.py +0 -0
  105. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/middleware_factory/__init__.py +0 -0
  106. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/middleware_factory/exceptions.py +0 -0
  107. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/middleware_factory/factory.py +0 -0
  108. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/package_logger.py +0 -0
  109. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/py.typed +0 -0
  110. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/__init__.py +0 -0
  111. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/cache_dict.py +0 -0
  112. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/constants.py +0 -0
  113. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/cookies.py +0 -0
  114. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/dynamodb_deserializer.py +0 -0
  115. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/functions.py +0 -0
  116. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/headers_serializer.py +0 -0
  117. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/json_encoder.py +0 -0
  118. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/lazy_import.py +0 -0
  119. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/types.py +0 -0
  120. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/user_agent.py +0 -0
  121. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/tracing/__init__.py +0 -0
  122. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/tracing/base.py +0 -0
  123. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/tracing/extensions.py +0 -0
  124. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/tracing/tracer.py +0 -0
  125. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/__init__.py +0 -0
  126. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/batch/__init__.py +0 -0
  127. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/batch/decorators.py +0 -0
  128. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/batch/exceptions.py +0 -0
  129. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/batch/types.py +0 -0
  130. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/__init__.py +0 -0
  131. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/active_mq_event.py +0 -0
  132. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/alb_event.py +0 -0
  133. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/api_gateway_authorizer_event.py +0 -0
  134. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/api_gateway_proxy_event.py +0 -0
  135. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/api_gateway_websocket_event.py +0 -0
  136. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/appsync/__init__.py +0 -0
  137. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/appsync/scalar_types_utils.py +0 -0
  138. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/appsync_authorizer_event.py +0 -0
  139. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/appsync_resolver_event.py +0 -0
  140. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/appsync_resolver_events_event.py +0 -0
  141. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/aws_config_rule_event.py +0 -0
  142. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/bedrock_agent_event.py +0 -0
  143. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/bedrock_agent_function_event.py +0 -0
  144. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/cloud_watch_alarm_event.py +0 -0
  145. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/cloud_watch_custom_widget_event.py +0 -0
  146. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/cloud_watch_logs_event.py +0 -0
  147. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/cloudformation_custom_resource_event.py +0 -0
  148. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/code_deploy_lifecycle_hook_event.py +0 -0
  149. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/code_pipeline_job_event.py +0 -0
  150. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/cognito_user_pool_event.py +0 -0
  151. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/connect_contact_flow_event.py +0 -0
  152. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py +0 -0
  153. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/event_bridge_event.py +0 -0
  154. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/event_source.py +0 -0
  155. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/iot_registry_event.py +0 -0
  156. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/kafka_event.py +0 -0
  157. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py +0 -0
  158. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/kinesis_stream_event.py +0 -0
  159. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/lambda_function_url_event.py +0 -0
  160. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/rabbit_mq_event.py +0 -0
  161. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/s3_batch_operation_event.py +0 -0
  162. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/s3_event.py +0 -0
  163. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/s3_object_event.py +0 -0
  164. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/secrets_manager_event.py +0 -0
  165. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/ses_event.py +0 -0
  166. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/shared_functions.py +0 -0
  167. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/sns_event.py +0 -0
  168. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/sqs_event.py +0 -0
  169. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/transfer_family_event.py +0 -0
  170. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/vpc_lattice.py +0 -0
  171. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_masking/__init__.py +0 -0
  172. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_masking/base.py +0 -0
  173. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_masking/constants.py +0 -0
  174. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_masking/exceptions.py +0 -0
  175. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_masking/provider/__init__.py +0 -0
  176. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_masking/provider/kms/__init__.py +0 -0
  177. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_masking/provider/kms/aws_encryption_sdk.py +0 -0
  178. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/feature_flags/__init__.py +0 -0
  179. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/feature_flags/appconfig.py +0 -0
  180. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/feature_flags/base.py +0 -0
  181. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/feature_flags/comparators.py +0 -0
  182. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/feature_flags/constants.py +0 -0
  183. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/feature_flags/exceptions.py +0 -0
  184. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/feature_flags/feature_flags.py +0 -0
  185. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/feature_flags/schema.py +0 -0
  186. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/feature_flags/types.py +0 -0
  187. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/__init__.py +0 -0
  188. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/base.py +0 -0
  189. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/config.py +0 -0
  190. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/exceptions.py +0 -0
  191. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/hook.py +0 -0
  192. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/idempotency.py +0 -0
  193. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/persistence/__init__.py +0 -0
  194. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/persistence/base.py +0 -0
  195. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/persistence/cache.py +0 -0
  196. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/persistence/datarecord.py +0 -0
  197. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/persistence/dynamodb.py +0 -0
  198. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/serialization/__init__.py +0 -0
  199. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/serialization/base.py +0 -0
  200. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py +0 -0
  201. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/serialization/dataclass.py +0 -0
  202. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/serialization/functions.py +0 -0
  203. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/serialization/no_op.py +0 -0
  204. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/serialization/pydantic.py +0 -0
  205. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/jmespath_utils/__init__.py +0 -0
  206. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/jmespath_utils/envelopes.py +0 -0
  207. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/__init__.py +0 -0
  208. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/consumer_records.py +0 -0
  209. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/deserializer/__init__.py +0 -0
  210. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/deserializer/avro.py +0 -0
  211. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/deserializer/base.py +0 -0
  212. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/deserializer/default.py +0 -0
  213. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/deserializer/deserializer.py +0 -0
  214. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/deserializer/json.py +0 -0
  215. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/deserializer/protobuf.py +0 -0
  216. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/exceptions.py +0 -0
  217. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/kafka_consumer.py +0 -0
  218. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/schema_config.py +0 -0
  219. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/serialization/__init__.py +0 -0
  220. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/serialization/base.py +0 -0
  221. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/serialization/custom_dict.py +0 -0
  222. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/serialization/dataclass.py +0 -0
  223. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/serialization/pydantic.py +0 -0
  224. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/serialization/serialization.py +0 -0
  225. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/serialization/types.py +0 -0
  226. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/metadata/__init__.py +0 -0
  227. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/metadata/exceptions.py +0 -0
  228. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/metadata/lambda_metadata.py +0 -0
  229. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parameters/__init__.py +0 -0
  230. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parameters/appconfig.py +0 -0
  231. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parameters/base.py +0 -0
  232. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parameters/constants.py +0 -0
  233. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parameters/dynamodb.py +0 -0
  234. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parameters/exceptions.py +0 -0
  235. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parameters/secrets.py +0 -0
  236. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parameters/types.py +0 -0
  237. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/__init__.py +0 -0
  238. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/__init__.py +0 -0
  239. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/apigw.py +0 -0
  240. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/apigw_websocket.py +0 -0
  241. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/apigwv2.py +0 -0
  242. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/base.py +0 -0
  243. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/bedrock_agent.py +0 -0
  244. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py +0 -0
  245. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py +0 -0
  246. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/event_bridge.py +0 -0
  247. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/kafka.py +0 -0
  248. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/kinesis.py +0 -0
  249. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/kinesis_firehose.py +0 -0
  250. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/lambda_function_url.py +0 -0
  251. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/sns.py +0 -0
  252. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/sqs.py +0 -0
  253. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/vpc_lattice.py +0 -0
  254. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/vpc_latticev2.py +0 -0
  255. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/exceptions.py +0 -0
  256. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/functions.py +0 -0
  257. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/__init__.py +0 -0
  258. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/alb.py +0 -0
  259. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/apigw.py +0 -0
  260. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/apigw_websocket.py +0 -0
  261. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/apigwv2.py +0 -0
  262. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/appsync.py +0 -0
  263. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/appsync_events.py +0 -0
  264. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/bedrock_agent.py +0 -0
  265. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/cloudformation_custom_resource.py +0 -0
  266. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/cloudwatch.py +0 -0
  267. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/cognito.py +0 -0
  268. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/dynamodb.py +0 -0
  269. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/event_bridge.py +0 -0
  270. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/iot_registry_events.py +0 -0
  271. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/kafka.py +0 -0
  272. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/kinesis.py +0 -0
  273. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose.py +0 -0
  274. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose_sqs.py +0 -0
  275. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/lambda_function_url.py +0 -0
  276. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/s3.py +0 -0
  277. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/s3_batch_operation.py +0 -0
  278. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/s3_event_notification.py +0 -0
  279. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/s3_object_event.py +0 -0
  280. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/ses.py +0 -0
  281. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/sns.py +0 -0
  282. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/sqs.py +0 -0
  283. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/transfer_family.py +0 -0
  284. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/vpc_lattice.py +0 -0
  285. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/vpc_latticev2.py +0 -0
  286. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/parser.py +0 -0
  287. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/types.py +0 -0
  288. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/serialization.py +0 -0
  289. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/__init__.py +0 -0
  290. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/_s3_seekable_io.py +0 -0
  291. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/compat.py +0 -0
  292. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/constants.py +0 -0
  293. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/s3_object.py +0 -0
  294. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/transformations/__init__.py +0 -0
  295. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/transformations/base.py +0 -0
  296. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/transformations/csv.py +0 -0
  297. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/transformations/gzip.py +0 -0
  298. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/transformations/zip.py +0 -0
  299. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/types.py +0 -0
  300. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/typing/__init__.py +0 -0
  301. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/typing/lambda_client_context.py +0 -0
  302. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/typing/lambda_client_context_mobile_client.py +0 -0
  303. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/typing/lambda_cognito_identity.py +0 -0
  304. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/typing/lambda_context.py +0 -0
  305. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/validation/__init__.py +0 -0
  306. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/validation/base.py +0 -0
  307. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/validation/envelopes.py +0 -0
  308. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/validation/exceptions.py +0 -0
  309. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/validation/validator.py +0 -0
  310. {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/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.29.0
3
+ Version: 3.30.0
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
@@ -18,7 +18,7 @@ from aws_lambda_powertools.event_handler.bedrock_agent_function import (
18
18
  )
19
19
  from aws_lambda_powertools.event_handler.depends import DependencyResolutionError, Depends
20
20
  from aws_lambda_powertools.event_handler.events_appsync.appsync_events import AppSyncEventsResolver
21
- from aws_lambda_powertools.event_handler.http_resolver import HttpResolverLocal
21
+ from aws_lambda_powertools.event_handler.http_resolver import HttpResolver, HttpResolverLocal
22
22
  from aws_lambda_powertools.event_handler.lambda_function_url import (
23
23
  LambdaFunctionUrlResolver,
24
24
  )
@@ -39,6 +39,7 @@ __all__ = [
39
39
  "CORSConfig",
40
40
  "Depends",
41
41
  "DependencyResolutionError",
42
+ "HttpResolver",
42
43
  "HttpResolverLocal",
43
44
  "LambdaFunctionUrlResolver",
44
45
  "Request",
@@ -392,7 +392,7 @@ class AppSyncResolver(Router):
392
392
  ----------
393
393
  type_name : str, optional
394
394
  GraphQL type e.g., Query, Mutation, by default "*" meaning any
395
- field_name : Optional[str], optional
395
+ field_name : str | None, optional
396
396
  GraphQL field e.g., getTodo, createTodo, by default None
397
397
 
398
398
  Returns
@@ -447,7 +447,7 @@ class AppSyncResolver(Router):
447
447
  ----------
448
448
  type_name : str, optional
449
449
  GraphQL type e.g., Query, Mutation, by default "*" meaning any
450
- field_name : Optional[str], optional
450
+ field_name : str | None, optional
451
451
  GraphQL field e.g., getTodo, createTodo, by default None
452
452
  raise_on_error : bool, optional
453
453
  Whether to fail entire batch upon error, or handle errors gracefully (None), by default False
@@ -99,12 +99,17 @@ class BedrockAgentResolver(ApiGatewayResolver):
99
99
 
100
100
  current_event: BedrockAgentEvent
101
101
 
102
- def __init__(self, debug: bool = False, enable_validation: bool = True):
102
+ def __init__(
103
+ self,
104
+ debug: bool = False,
105
+ enable_validation: bool = True,
106
+ serializer: Callable[[dict], str] | None = None,
107
+ ):
103
108
  super().__init__(
104
109
  proxy_type=ProxyEventType.BedrockAgentEvent,
105
110
  cors=None,
106
111
  debug=debug,
107
- serializer=None,
112
+ serializer=serializer,
108
113
  strip_prefixes=None,
109
114
  enable_validation=enable_validation,
110
115
  json_body_deserializer=None,
@@ -64,7 +64,7 @@ class ResolverRegistry:
64
64
  Field name
65
65
  Return
66
66
  ----------
67
- Optional[Dict]
67
+ dict | None
68
68
  A dictionary with the resolver and if raise exception on error
69
69
  """
70
70
  logger.debug(f"Looking for resolver for type={type_name}, field={field_name}.")
@@ -25,8 +25,6 @@ class BaseRouter(ABC):
25
25
  Examples
26
26
  --------
27
27
  ```python
28
- from typing import Optional
29
-
30
28
  from aws_lambda_powertools.event_handler import AppSyncResolver
31
29
  from aws_lambda_powertools.utilities.data_classes import AppSyncResolverEvent
32
30
  from aws_lambda_powertools.utilities.typing import LambdaContext
@@ -34,7 +32,7 @@ class BaseRouter(ABC):
34
32
  app = AppSyncResolver()
35
33
 
36
34
  @app.resolver(type_name="Query", field_name="getPost")
37
- def related_posts(event: AppSyncResolverEvent) -> Optional[list]:
35
+ def related_posts(event: AppSyncResolverEvent) -> list | None:
38
36
  return {"success": "ok"}
39
37
 
40
38
  def lambda_handler(event, context: LambdaContext) -> dict:
@@ -76,8 +74,6 @@ class BaseRouter(ABC):
76
74
  Examples
77
75
  --------
78
76
  ```python
79
- from typing import Optional
80
-
81
77
  from aws_lambda_powertools.event_handler import AppSyncResolver
82
78
  from aws_lambda_powertools.utilities.data_classes import AppSyncResolverEvent
83
79
  from aws_lambda_powertools.utilities.typing import LambdaContext
@@ -85,7 +81,7 @@ class BaseRouter(ABC):
85
81
  app = AppSyncResolver()
86
82
 
87
83
  @app.batch_resolver(type_name="Query", field_name="getPost")
88
- def related_posts(event: AppSyncResolverEvent, id) -> Optional[list]:
84
+ def related_posts(event: AppSyncResolverEvent, id) -> list | None:
89
85
  return {"post_id": id}
90
86
 
91
87
  def lambda_handler(event, context: LambdaContext) -> dict:
@@ -127,8 +123,6 @@ class BaseRouter(ABC):
127
123
  Examples
128
124
  --------
129
125
  ```python
130
- from typing import Optional
131
-
132
126
  from aws_lambda_powertools.event_handler import AppSyncResolver
133
127
  from aws_lambda_powertools.utilities.data_classes import AppSyncResolverEvent
134
128
  from aws_lambda_powertools.utilities.typing import LambdaContext
@@ -136,7 +130,7 @@ class BaseRouter(ABC):
136
130
  app = AppSyncResolver()
137
131
 
138
132
  @app.async_batch_resolver(type_name="Query", field_name="getPost")
139
- async def related_posts(event: AppSyncResolverEvent, id) -> Optional[list]:
133
+ async def related_posts(event: AppSyncResolverEvent, id) -> list | None:
140
134
  return {"post_id": id}
141
135
 
142
136
  def lambda_handler(event, context: LambdaContext) -> dict:
@@ -1,8 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import base64
4
- import inspect
5
- import warnings
6
4
  from typing import TYPE_CHECKING, Any, Callable
7
5
  from urllib.parse import parse_qs
8
6
 
@@ -10,10 +8,7 @@ from aws_lambda_powertools.event_handler.api_gateway import (
10
8
  ApiGatewayResolver,
11
9
  BaseRouter,
12
10
  ProxyEventType,
13
- Response,
14
- Route,
15
11
  )
16
- from aws_lambda_powertools.event_handler.middlewares.async_utils import wrap_middleware_async
17
12
  from aws_lambda_powertools.shared.headers_serializer import BaseHeadersSerializer
18
13
  from aws_lambda_powertools.utilities.data_classes.common import BaseProxyEvent
19
14
 
@@ -166,21 +161,16 @@ class MockLambdaContext:
166
161
 
167
162
  class HttpResolverLocal(ApiGatewayResolver):
168
163
  """
169
- ASGI-compatible HTTP resolver for local development and testing.
164
+ ASGI-compatible HTTP resolver.
170
165
 
171
- This resolver is designed specifically for local development workflows.
172
- It allows you to run your Powertools application locally with any ASGI server
166
+ It allows you to run your Powertools application with any ASGI server
173
167
  (uvicorn, hypercorn, daphne, etc.) while maintaining full compatibility with Lambda.
174
168
 
175
169
  The same code works in both environments - locally via ASGI and in Lambda via the handler.
170
+ If your Lambda is behind Lambda Web Adapter or any other HTTP proxy, it works seamlessly.
176
171
 
177
172
  Supports both sync and async route handlers.
178
173
 
179
- WARNING
180
- -------
181
- This is intended for local development and testing only.
182
- The API may change in future releases. Do not use in production environments.
183
-
184
174
  Example
185
175
  -------
186
176
  ```python
@@ -214,11 +204,6 @@ class HttpResolverLocal(ApiGatewayResolver):
214
204
  strip_prefixes: list[str | Any] | None = None,
215
205
  enable_validation: bool = False,
216
206
  ):
217
- warnings.warn(
218
- "HttpResolverLocal is intended for local development and testing only. "
219
- "The API may change in future releases. Do not use in production environments.",
220
- stacklevel=2,
221
- )
222
207
  super().__init__(
223
208
  proxy_type=ProxyEventType.APIGatewayProxyEvent, # Use REST API format internally
224
209
  cors=cors,
@@ -240,113 +225,13 @@ class HttpResolverLocal(ApiGatewayResolver):
240
225
  return ""
241
226
 
242
227
  async def _resolve_async(self) -> dict: # type: ignore[override]
243
- """Async version of resolve that supports async handlers."""
244
- method = self.current_event.http_method.upper()
245
- path = self._remove_prefix(self.current_event.path)
246
-
247
- registered_routes = self._static_routes + self._dynamic_routes
248
-
249
- for route in registered_routes:
250
- if method != route.method:
251
- continue
252
- match_results = route.rule.match(path)
253
- if match_results:
254
- self.append_context(_route=route, _path=path)
255
- route_keys = self._convert_matches_into_route_keys(match_results)
256
- return await self._call_route_async(route, route_keys)
257
-
258
- # Handle not found
259
- return await self._handle_not_found_async()
260
-
261
- async def _call_route_async(self, route: Route, route_arguments: dict[str, str]) -> dict: # type: ignore[override]
262
- """Call route handler, supporting both sync and async handlers."""
263
- from aws_lambda_powertools.event_handler.api_gateway import ResponseBuilder
264
-
265
- try:
266
- self._reset_processed_stack()
267
-
268
- # Get the route args (may be modified by validation middleware)
269
- self.append_context(_route_args=route_arguments)
270
-
271
- # Run middleware chain (sync for now, handlers can be async)
272
- response = await self._run_middleware_chain_async(route)
273
-
274
- response_builder: ResponseBuilder = ResponseBuilder(
275
- response=response,
276
- serializer=self._serializer,
277
- route=route,
278
- )
279
-
280
- return response_builder.build(self.current_event, self._cors)
281
-
282
- except Exception as exc:
283
- exc_response_builder = self._call_exception_handler(exc, route)
284
- if exc_response_builder:
285
- return exc_response_builder.build(self.current_event, self._cors)
286
- raise
287
-
288
- async def _run_middleware_chain_async(self, route: Route) -> Response:
289
- """Run the middleware chain, awaiting async handlers."""
290
- # Build middleware list
291
- all_middlewares: list[Callable[..., Any]] = []
292
-
293
- # Determine if validation should be enabled for this route
294
- # If route has explicit enable_validation setting, use it; otherwise, use resolver's global setting
295
- route_validation_enabled = (
296
- route.enable_validation if route.enable_validation is not None else self._enable_validation
297
- )
298
-
299
- if route_validation_enabled and hasattr(self, "_request_validation_middleware"):
300
- all_middlewares.append(self._request_validation_middleware)
301
-
302
- all_middlewares.extend(self._router_middlewares + route.middlewares)
303
-
304
- if route_validation_enabled and hasattr(self, "_response_validation_middleware"):
305
- all_middlewares.append(self._response_validation_middleware)
306
-
307
- # Create the final handler that calls the route function
308
- async def final_handler(app):
309
- route_args = app.context.get("_route_args", {})
310
- result = route.func(**route_args)
311
-
312
- # Await if coroutine
313
- if inspect.iscoroutine(result):
314
- result = await result
315
-
316
- return self._to_response(result)
317
-
318
- # Build middleware chain from end to start
319
- next_handler = final_handler
320
-
321
- for middleware in reversed(all_middlewares):
322
- next_handler = wrap_middleware_async(middleware, next_handler)
323
-
324
- return await next_handler(self)
325
-
326
- async def _handle_not_found_async(self, method: str = "", path: str = "") -> dict: # type: ignore[override]
327
- """Handle 404 responses, using custom not_found handler if registered."""
328
- from http import HTTPStatus
329
-
330
- from aws_lambda_powertools.event_handler.api_gateway import ResponseBuilder
331
- from aws_lambda_powertools.event_handler.exceptions import NotFoundError
332
-
333
- # Check for custom not_found handler
334
- custom_not_found_handler = self.exception_handler_manager.lookup_exception_handler(NotFoundError)
335
- if custom_not_found_handler:
336
- response = custom_not_found_handler(NotFoundError())
337
- else:
338
- response = Response(
339
- status_code=HTTPStatus.NOT_FOUND.value,
340
- content_type="application/json",
341
- body={"statusCode": HTTPStatus.NOT_FOUND.value, "message": "Not found"},
342
- )
343
-
344
- response_builder: ResponseBuilder = ResponseBuilder(
345
- response=response,
346
- serializer=self._serializer,
347
- route=None,
348
- )
228
+ """Thin async resolver: delegates entirely to the parent and serializes to dict.
349
229
 
230
+ The parent's _resolve_async handles route matching, CORS preflight, not-found
231
+ logic, and exception handling. The only adaptation needed here is converting
232
+ the returned ResponseBuilder into the dict format that asgi_handler expects.
233
+ """
234
+ response_builder = await super()._resolve_async()
350
235
  return response_builder.build(self.current_event, self._cors)
351
236
 
352
237
  async def asgi_handler(self, scope: dict, receive: Callable, send: Callable) -> None:
@@ -455,3 +340,6 @@ class HttpResolverLocal(ApiGatewayResolver):
455
340
  "body": body_bytes,
456
341
  },
457
342
  )
343
+
344
+
345
+ HttpResolver = HttpResolverLocal
@@ -505,11 +505,11 @@ def _is_or_contains_sequence(annotation: Any) -> bool:
505
505
 
506
506
  This function handles complex type annotations like:
507
507
  - List[Model] - direct sequence
508
- - Union[Model, List[Model]] - checks if any Union member is a sequence
509
- - Optional[List[Model]] - Union[List[Model], None]
510
- - RootModel[List[Model]] - checks if the RootModel wraps a sequence
511
- - Optional[RootModel[List[Model]]] - Union member that is a RootModel
512
- - RootModel[Union[Model, List[Model]]] - RootModel wrapping a Union with a sequence
508
+ - Union[Model, list[Model]] - checks if any Union member is a sequence
509
+ - list[Model] | None - Union[list[Model], None]
510
+ - RootModel[list[Model]] - checks if the RootModel wraps a sequence
511
+ - RootModel[list[Model]] | None - Union member that is a RootModel
512
+ - RootModel[Union[Model, list[Model]]] - RootModel wrapping a Union with a sequence
513
513
  """
514
514
  # Direct sequence check
515
515
  if field_annotation_is_sequence(annotation):