aws-lambda-powertools 2.30.2__tar.gz → 2.31.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 (231) hide show
  1. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/PKG-INFO +1 -1
  2. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/api_gateway.py +12 -8
  3. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/shared/version.py +1 -1
  4. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parameters/ssm.py +106 -2
  5. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/parser.py +12 -4
  6. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/pyproject.toml +4 -4
  7. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/setup.py +1 -1
  8. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/LICENSE +0 -0
  9. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/README.md +0 -0
  10. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/THIRD-PARTY-LICENSES +0 -0
  11. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/__init__.py +0 -0
  12. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/__init__.py +0 -0
  13. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/appsync.py +0 -0
  14. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/bedrock_agent.py +0 -0
  15. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/content_types.py +0 -0
  16. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/exceptions.py +0 -0
  17. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/lambda_function_url.py +0 -0
  18. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/middlewares/__init__.py +0 -0
  19. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/middlewares/base.py +0 -0
  20. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/middlewares/openapi_validation.py +0 -0
  21. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/middlewares/schema_validation.py +0 -0
  22. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/openapi/__init__.py +0 -0
  23. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/openapi/compat.py +0 -0
  24. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/openapi/constants.py +0 -0
  25. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/openapi/dependant.py +0 -0
  26. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/openapi/encoders.py +0 -0
  27. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/openapi/exceptions.py +0 -0
  28. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/openapi/models.py +0 -0
  29. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/openapi/params.py +0 -0
  30. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/openapi/pydantic_loader.py +0 -0
  31. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/openapi/swagger_ui/__init__.py +0 -0
  32. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/openapi/swagger_ui/html.py +0 -0
  33. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui-bundle.min.js +0 -0
  34. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui.min.css +0 -0
  35. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/openapi/types.py +0 -0
  36. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/router.py +0 -0
  37. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/types.py +0 -0
  38. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/util.py +0 -0
  39. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/event_handler/vpc_lattice.py +0 -0
  40. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/exceptions/__init__.py +0 -0
  41. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/logging/__init__.py +0 -0
  42. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/logging/compat.py +0 -0
  43. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/logging/correlation_paths.py +0 -0
  44. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/logging/exceptions.py +0 -0
  45. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/logging/filters.py +0 -0
  46. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/logging/formatter.py +0 -0
  47. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/logging/formatters/__init__.py +0 -0
  48. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/logging/formatters/datadog.py +0 -0
  49. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/logging/lambda_context.py +0 -0
  50. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/logging/logger.py +0 -0
  51. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/logging/types.py +0 -0
  52. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/logging/utils.py +0 -0
  53. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/metrics/__init__.py +0 -0
  54. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/metrics/base.py +0 -0
  55. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/metrics/exceptions.py +0 -0
  56. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/metrics/functions.py +0 -0
  57. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/metrics/metric.py +0 -0
  58. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/metrics/metrics.py +0 -0
  59. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/metrics/provider/__init__.py +0 -0
  60. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/metrics/provider/base.py +0 -0
  61. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/__init__.py +0 -0
  62. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/cloudwatch.py +0 -0
  63. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/constants.py +0 -0
  64. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/exceptions.py +0 -0
  65. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/metric_properties.py +0 -0
  66. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/types.py +0 -0
  67. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/metrics/provider/cold_start.py +0 -0
  68. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/metrics/provider/datadog/__init__.py +0 -0
  69. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/metrics/provider/datadog/datadog.py +0 -0
  70. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/metrics/provider/datadog/metrics.py +0 -0
  71. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/metrics/provider/datadog/warnings.py +0 -0
  72. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/metrics/types.py +0 -0
  73. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/middleware_factory/__init__.py +0 -0
  74. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/middleware_factory/exceptions.py +0 -0
  75. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/middleware_factory/factory.py +0 -0
  76. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/package_logger.py +0 -0
  77. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/py.typed +0 -0
  78. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/shared/__init__.py +0 -0
  79. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/shared/cache_dict.py +0 -0
  80. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/shared/constants.py +0 -0
  81. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/shared/cookies.py +0 -0
  82. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/shared/functions.py +0 -0
  83. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/shared/headers_serializer.py +0 -0
  84. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/shared/json_encoder.py +0 -0
  85. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/shared/lazy_import.py +0 -0
  86. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/shared/types.py +0 -0
  87. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/shared/user_agent.py +0 -0
  88. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/tracing/__init__.py +0 -0
  89. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/tracing/base.py +0 -0
  90. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/tracing/extensions.py +0 -0
  91. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/tracing/tracer.py +0 -0
  92. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/__init__.py +0 -0
  93. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/_data_masking/__init__.py +0 -0
  94. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/_data_masking/base.py +0 -0
  95. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/_data_masking/constants.py +0 -0
  96. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/_data_masking/provider/__init__.py +0 -0
  97. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/_data_masking/provider/base.py +0 -0
  98. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/_data_masking/provider/kms/__init__.py +0 -0
  99. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/_data_masking/provider/kms/aws_encryption_sdk.py +0 -0
  100. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/batch/__init__.py +0 -0
  101. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/batch/base.py +0 -0
  102. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/batch/decorators.py +0 -0
  103. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/batch/exceptions.py +0 -0
  104. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/batch/sqs_fifo_partial_processor.py +0 -0
  105. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/batch/types.py +0 -0
  106. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/__init__.py +0 -0
  107. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/active_mq_event.py +0 -0
  108. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/alb_event.py +0 -0
  109. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/api_gateway_authorizer_event.py +0 -0
  110. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/api_gateway_proxy_event.py +0 -0
  111. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/appsync/__init__.py +0 -0
  112. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/appsync/scalar_types_utils.py +0 -0
  113. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/appsync_authorizer_event.py +0 -0
  114. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/appsync_resolver_event.py +0 -0
  115. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/aws_config_rule_event.py +0 -0
  116. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/bedrock_agent_event.py +0 -0
  117. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/cloud_watch_custom_widget_event.py +0 -0
  118. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/cloud_watch_logs_event.py +0 -0
  119. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/code_pipeline_job_event.py +0 -0
  120. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/cognito_user_pool_event.py +0 -0
  121. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/common.py +0 -0
  122. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/connect_contact_flow_event.py +0 -0
  123. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py +0 -0
  124. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/event_bridge_event.py +0 -0
  125. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/event_source.py +0 -0
  126. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/kafka_event.py +0 -0
  127. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py +0 -0
  128. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/kinesis_stream_event.py +0 -0
  129. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/lambda_function_url_event.py +0 -0
  130. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/rabbit_mq_event.py +0 -0
  131. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/s3_event.py +0 -0
  132. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/s3_object_event.py +0 -0
  133. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/secrets_manager_event.py +0 -0
  134. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/ses_event.py +0 -0
  135. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/shared_functions.py +0 -0
  136. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/sns_event.py +0 -0
  137. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/sqs_event.py +0 -0
  138. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/data_classes/vpc_lattice.py +0 -0
  139. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/feature_flags/__init__.py +0 -0
  140. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/feature_flags/appconfig.py +0 -0
  141. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/feature_flags/base.py +0 -0
  142. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/feature_flags/comparators.py +0 -0
  143. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/feature_flags/exceptions.py +0 -0
  144. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/feature_flags/feature_flags.py +0 -0
  145. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/feature_flags/schema.py +0 -0
  146. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/idempotency/__init__.py +0 -0
  147. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/idempotency/base.py +0 -0
  148. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/idempotency/config.py +0 -0
  149. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/idempotency/exceptions.py +0 -0
  150. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/idempotency/idempotency.py +0 -0
  151. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/idempotency/persistence/__init__.py +0 -0
  152. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/idempotency/persistence/base.py +0 -0
  153. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/idempotency/persistence/dynamodb.py +0 -0
  154. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/idempotency/serialization/__init__.py +0 -0
  155. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/idempotency/serialization/base.py +0 -0
  156. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py +0 -0
  157. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/idempotency/serialization/dataclass.py +0 -0
  158. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/idempotency/serialization/no_op.py +0 -0
  159. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/idempotency/serialization/pydantic.py +0 -0
  160. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/jmespath_utils/__init__.py +0 -0
  161. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/jmespath_utils/envelopes.py +0 -0
  162. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parameters/__init__.py +0 -0
  163. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parameters/appconfig.py +0 -0
  164. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parameters/base.py +0 -0
  165. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parameters/dynamodb.py +0 -0
  166. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parameters/exceptions.py +0 -0
  167. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parameters/secrets.py +0 -0
  168. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parameters/types.py +0 -0
  169. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/__init__.py +0 -0
  170. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/compat.py +0 -0
  171. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/envelopes/__init__.py +0 -0
  172. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/envelopes/apigw.py +0 -0
  173. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/envelopes/apigwv2.py +0 -0
  174. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/envelopes/base.py +0 -0
  175. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/envelopes/bedrock_agent.py +0 -0
  176. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py +0 -0
  177. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py +0 -0
  178. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/envelopes/event_bridge.py +0 -0
  179. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/envelopes/kafka.py +0 -0
  180. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/envelopes/kinesis.py +0 -0
  181. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/envelopes/kinesis_firehose.py +0 -0
  182. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/envelopes/lambda_function_url.py +0 -0
  183. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/envelopes/sns.py +0 -0
  184. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/envelopes/sqs.py +0 -0
  185. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/envelopes/vpc_lattice.py +0 -0
  186. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/envelopes/vpc_latticev2.py +0 -0
  187. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/exceptions.py +0 -0
  188. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/__init__.py +0 -0
  189. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/alb.py +0 -0
  190. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/apigw.py +0 -0
  191. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/apigwv2.py +0 -0
  192. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/bedrock_agent.py +0 -0
  193. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/cloudformation_custom_resource.py +0 -0
  194. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/cloudwatch.py +0 -0
  195. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/dynamodb.py +0 -0
  196. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/event_bridge.py +0 -0
  197. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/kafka.py +0 -0
  198. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/kinesis.py +0 -0
  199. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose.py +0 -0
  200. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose_sqs.py +0 -0
  201. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/lambda_function_url.py +0 -0
  202. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/s3.py +0 -0
  203. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/s3_event_notification.py +0 -0
  204. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/s3_object_event.py +0 -0
  205. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/ses.py +0 -0
  206. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/sns.py +0 -0
  207. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/sqs.py +0 -0
  208. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/vpc_lattice.py +0 -0
  209. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/models/vpc_latticev2.py +0 -0
  210. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/pydantic.py +0 -0
  211. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/parser/types.py +0 -0
  212. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/serialization.py +0 -0
  213. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/streaming/__init__.py +0 -0
  214. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/streaming/_s3_seekable_io.py +0 -0
  215. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/streaming/compat.py +0 -0
  216. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/streaming/s3_object.py +0 -0
  217. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/streaming/transformations/__init__.py +0 -0
  218. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/streaming/transformations/base.py +0 -0
  219. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/streaming/transformations/csv.py +0 -0
  220. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/streaming/transformations/gzip.py +0 -0
  221. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/streaming/transformations/zip.py +0 -0
  222. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/typing/__init__.py +0 -0
  223. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/typing/lambda_client_context.py +0 -0
  224. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/typing/lambda_client_context_mobile_client.py +0 -0
  225. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/typing/lambda_cognito_identity.py +0 -0
  226. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/typing/lambda_context.py +0 -0
  227. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/validation/__init__.py +0 -0
  228. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/validation/base.py +0 -0
  229. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/validation/envelopes.py +0 -0
  230. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/validation/exceptions.py +0 -0
  231. {aws_lambda_powertools-2.30.2 → aws_lambda_powertools-2.31.0}/aws_lambda_powertools/utilities/validation/validator.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aws-lambda-powertools
3
- Version: 2.30.2
3
+ Version: 2.31.0
4
4
  Summary: Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity.
5
5
  Home-page: https://github.com/aws-powertools/powertools-lambda-python
6
6
  License: MIT
@@ -80,6 +80,7 @@ if TYPE_CHECKING:
80
80
  License,
81
81
  OpenAPI,
82
82
  Server,
83
+ Tag,
83
84
  )
84
85
  from aws_lambda_powertools.event_handler.openapi.params import Dependant
85
86
  from aws_lambda_powertools.event_handler.openapi.types import (
@@ -616,6 +617,9 @@ class Route:
616
617
  if required:
617
618
  request_body_oai["required"] = required
618
619
 
620
+ if field_info.description:
621
+ request_body_oai["description"] = field_info.description
622
+
619
623
  # Generate the request body media type
620
624
  request_media_content: Dict[str, Any] = {"schema": body_schema}
621
625
  request_body_oai["content"] = {request_media_type: request_media_content}
@@ -1360,7 +1364,7 @@ class ApiGatewayResolver(BaseRouter):
1360
1364
  openapi_version: str = DEFAULT_OPENAPI_VERSION,
1361
1365
  summary: Optional[str] = None,
1362
1366
  description: Optional[str] = None,
1363
- tags: Optional[List[str]] = None,
1367
+ tags: Optional[List[Union["Tag", str]]] = None,
1364
1368
  servers: Optional[List["Server"]] = None,
1365
1369
  terms_of_service: Optional[str] = None,
1366
1370
  contact: Optional["Contact"] = None,
@@ -1381,7 +1385,7 @@ class ApiGatewayResolver(BaseRouter):
1381
1385
  A short summary of what the application does.
1382
1386
  description: str, optional
1383
1387
  A verbose explanation of the application behavior.
1384
- tags: List[str], optional
1388
+ tags: List[Tag | str], optional
1385
1389
  A list of tags used by the specification with additional metadata.
1386
1390
  servers: List[Server], optional
1387
1391
  An array of Server Objects, which provide connectivity information to a target server.
@@ -1403,7 +1407,7 @@ class ApiGatewayResolver(BaseRouter):
1403
1407
  get_compat_model_name_map,
1404
1408
  get_definitions,
1405
1409
  )
1406
- from aws_lambda_powertools.event_handler.openapi.models import OpenAPI, PathItem, Server
1410
+ from aws_lambda_powertools.event_handler.openapi.models import OpenAPI, PathItem, Server, Tag
1407
1411
  from aws_lambda_powertools.event_handler.openapi.types import (
1408
1412
  COMPONENT_REF_TEMPLATE,
1409
1413
  )
@@ -1468,7 +1472,7 @@ class ApiGatewayResolver(BaseRouter):
1468
1472
  if components:
1469
1473
  output["components"] = components
1470
1474
  if tags:
1471
- output["tags"] = [{"name": tag} for tag in tags]
1475
+ output["tags"] = [Tag(name=tag) if isinstance(tag, str) else tag for tag in tags]
1472
1476
 
1473
1477
  output["paths"] = {k: PathItem(**v) for k, v in paths.items()}
1474
1478
 
@@ -1482,7 +1486,7 @@ class ApiGatewayResolver(BaseRouter):
1482
1486
  openapi_version: str = DEFAULT_OPENAPI_VERSION,
1483
1487
  summary: Optional[str] = None,
1484
1488
  description: Optional[str] = None,
1485
- tags: Optional[List[str]] = None,
1489
+ tags: Optional[List[Union["Tag", str]]] = None,
1486
1490
  servers: Optional[List["Server"]] = None,
1487
1491
  terms_of_service: Optional[str] = None,
1488
1492
  contact: Optional["Contact"] = None,
@@ -1503,7 +1507,7 @@ class ApiGatewayResolver(BaseRouter):
1503
1507
  A short summary of what the application does.
1504
1508
  description: str, optional
1505
1509
  A verbose explanation of the application behavior.
1506
- tags: List[str], optional
1510
+ tags: List[Tag, str], optional
1507
1511
  A list of tags used by the specification with additional metadata.
1508
1512
  servers: List[Server], optional
1509
1513
  An array of Server Objects, which provide connectivity information to a target server.
@@ -1548,7 +1552,7 @@ class ApiGatewayResolver(BaseRouter):
1548
1552
  openapi_version: str = DEFAULT_OPENAPI_VERSION,
1549
1553
  summary: Optional[str] = None,
1550
1554
  description: Optional[str] = None,
1551
- tags: Optional[List[str]] = None,
1555
+ tags: Optional[List[Union["Tag", str]]] = None,
1552
1556
  servers: Optional[List["Server"]] = None,
1553
1557
  terms_of_service: Optional[str] = None,
1554
1558
  contact: Optional["Contact"] = None,
@@ -1573,7 +1577,7 @@ class ApiGatewayResolver(BaseRouter):
1573
1577
  A short summary of what the application does.
1574
1578
  description: str, optional
1575
1579
  A verbose explanation of the application behavior.
1576
- tags: List[str], optional
1580
+ tags: List[Tag, str], optional
1577
1581
  A list of tags used by the specification with additional metadata.
1578
1582
  servers: List[Server], optional
1579
1583
  An array of Server Objects, which provide connectivity information to a target server.
@@ -1,3 +1,3 @@
1
1
  """Exposes version constant to avoid circular dependencies."""
2
2
 
3
- VERSION = "2.30.2"
3
+ VERSION = "2.31.0"
@@ -545,9 +545,57 @@ class SSMProvider(BaseProvider):
545
545
  )
546
546
 
547
547
 
548
+ @overload
549
+ def get_parameter(
550
+ name: str,
551
+ transform: None = None,
552
+ decrypt: Optional[bool] = None,
553
+ force_fetch: bool = False,
554
+ max_age: Optional[int] = None,
555
+ **sdk_options,
556
+ ) -> str:
557
+ ...
558
+
559
+
560
+ @overload
561
+ def get_parameter(
562
+ name: str,
563
+ transform: Literal["json"],
564
+ decrypt: Optional[bool] = None,
565
+ force_fetch: bool = False,
566
+ max_age: Optional[int] = None,
567
+ **sdk_options,
568
+ ) -> dict:
569
+ ...
570
+
571
+
572
+ @overload
548
573
  def get_parameter(
549
574
  name: str,
550
- transform: Optional[str] = None,
575
+ transform: Literal["binary"],
576
+ decrypt: Optional[bool] = None,
577
+ force_fetch: bool = False,
578
+ max_age: Optional[int] = None,
579
+ **sdk_options,
580
+ ) -> Union[str, dict, bytes]:
581
+ ...
582
+
583
+
584
+ @overload
585
+ def get_parameter(
586
+ name: str,
587
+ transform: Literal["auto"],
588
+ decrypt: Optional[bool] = None,
589
+ force_fetch: bool = False,
590
+ max_age: Optional[int] = None,
591
+ **sdk_options,
592
+ ) -> bytes:
593
+ ...
594
+
595
+
596
+ def get_parameter(
597
+ name: str,
598
+ transform: TransformOptions = None,
551
599
  decrypt: Optional[bool] = None,
552
600
  force_fetch: bool = False,
553
601
  max_age: Optional[int] = None,
@@ -625,9 +673,65 @@ def get_parameter(
625
673
  )
626
674
 
627
675
 
676
+ @overload
628
677
  def get_parameters(
629
678
  path: str,
630
- transform: Optional[str] = None,
679
+ transform: None = None,
680
+ recursive: bool = True,
681
+ decrypt: Optional[bool] = None,
682
+ force_fetch: bool = False,
683
+ max_age: Optional[int] = None,
684
+ raise_on_transform_error: bool = False,
685
+ **sdk_options,
686
+ ) -> Dict[str, str]:
687
+ ...
688
+
689
+
690
+ @overload
691
+ def get_parameters(
692
+ path: str,
693
+ transform: Literal["json"],
694
+ recursive: bool = True,
695
+ decrypt: Optional[bool] = None,
696
+ force_fetch: bool = False,
697
+ max_age: Optional[int] = None,
698
+ raise_on_transform_error: bool = False,
699
+ **sdk_options,
700
+ ) -> Dict[str, dict]:
701
+ ...
702
+
703
+
704
+ @overload
705
+ def get_parameters(
706
+ path: str,
707
+ transform: Literal["binary"],
708
+ recursive: bool = True,
709
+ decrypt: Optional[bool] = None,
710
+ force_fetch: bool = False,
711
+ max_age: Optional[int] = None,
712
+ raise_on_transform_error: bool = False,
713
+ **sdk_options,
714
+ ) -> Dict[str, bytes]:
715
+ ...
716
+
717
+
718
+ @overload
719
+ def get_parameters(
720
+ path: str,
721
+ transform: Literal["auto"],
722
+ recursive: bool = True,
723
+ decrypt: Optional[bool] = None,
724
+ force_fetch: bool = False,
725
+ max_age: Optional[int] = None,
726
+ raise_on_transform_error: bool = False,
727
+ **sdk_options,
728
+ ) -> Union[Dict[str, bytes], Dict[str, dict], Dict[str, str]]:
729
+ ...
730
+
731
+
732
+ def get_parameters(
733
+ path: str,
734
+ transform: TransformOptions = None,
631
735
  recursive: bool = True,
632
736
  decrypt: Optional[bool] = None,
633
737
  force_fetch: bool = False,
@@ -171,8 +171,12 @@ def parse(event: Dict[str, Any], model: Type[Model], envelope: Optional[Type[Env
171
171
  try:
172
172
  logger.debug(f"Parsing and validating event model with envelope={envelope}")
173
173
  return envelope().parse(data=event, model=model)
174
- except AttributeError:
175
- raise InvalidEnvelopeError(f"Envelope must implement BaseEnvelope, envelope={envelope}")
174
+ except AttributeError as exc:
175
+ raise InvalidEnvelopeError(
176
+ f"Error: {str(exc)}. Please ensure that both the Input model and the Envelope inherits from BaseModel,\n" # noqa E501
177
+ "and your payload adheres to the specified Input model structure.\n"
178
+ f"Envelope={envelope}\nModel={model}",
179
+ )
176
180
 
177
181
  try:
178
182
  disable_pydantic_v2_warning()
@@ -181,5 +185,9 @@ def parse(event: Dict[str, Any], model: Type[Model], envelope: Optional[Type[Env
181
185
  return model.parse_raw(event)
182
186
 
183
187
  return model.parse_obj(event)
184
- except AttributeError:
185
- raise InvalidModelTypeError(f"Input model must implement BaseModel, model={model}")
188
+ except AttributeError as exc:
189
+ raise InvalidModelTypeError(
190
+ f"Error: {str(exc)}. Please ensure the Input model inherits from BaseModel,\n"
191
+ "and your payload adheres to the specified Input model structure.\n"
192
+ f"Model={model}",
193
+ )
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "aws_lambda_powertools"
3
- version = "2.30.2"
3
+ version = "2.31.0"
4
4
  description = "Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity."
5
5
  authors = ["Amazon Web Services"]
6
6
  include = ["aws_lambda_powertools/py.typed", "THIRD-PARTY-LICENSES"]
@@ -50,7 +50,7 @@ aws-encryption-sdk = { version = "^3.1.1", optional = true }
50
50
 
51
51
  [tool.poetry.dev-dependencies]
52
52
  coverage = {extras = ["toml"], version = "^7.2"}
53
- pytest = "^7.4.3"
53
+ pytest = "^7.4.4"
54
54
  black = "^23.3"
55
55
  boto3 = "^1.18"
56
56
  isort = "^5.11.5"
@@ -102,12 +102,12 @@ datadog = ["datadog-lambda"]
102
102
  datamasking-aws-sdk = ["aws-encryption-sdk"]
103
103
 
104
104
  [tool.poetry.group.dev.dependencies]
105
- cfn-lint = "0.83.6"
105
+ cfn-lint = "0.83.7"
106
106
  mypy = "^1.1.1"
107
107
  types-python-dateutil = "^2.8.19.6"
108
108
  httpx = ">=0.23.3,<0.25.0"
109
109
  sentry-sdk = "^1.22.2"
110
- ruff = ">=0.0.272,<0.1.9"
110
+ ruff = ">=0.0.272,<0.1.12"
111
111
  retry2 = "^0.9.5"
112
112
  pytest-socket = "^0.6.0"
113
113
 
@@ -57,7 +57,7 @@ extras_require = \
57
57
 
58
58
  setup_kwargs = {
59
59
  'name': 'aws-lambda-powertools',
60
- 'version': '2.30.2',
60
+ 'version': '2.31.0',
61
61
  'description': 'Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity.',
62
62
  'long_description': '<!-- markdownlint-disable MD013 MD041 MD043 -->\n# Powertools for AWS Lambda (Python)\n\n[![Build](https://github.com/aws-powertools/powertools-lambda-python/actions/workflows/quality_check.yml/badge.svg)](https://github.com/aws-powertools/powertools-lambda-python/actions/workflows/python_build.yml)\n[![codecov.io](https://codecov.io/github/aws-powertools/powertools-lambda-python/branch/develop/graphs/badge.svg)](https://app.codecov.io/gh/aws-powertools/powertools-lambda-python)\n![PythonSupport](https://img.shields.io/static/v1?label=python&message=%203.7|%203.8|%203.9|%203.10|%203.11|%203.12&color=blue?style=flat-square&logo=python) ![PyPI version](https://badge.fury.io/py/aws-lambda-powertools.svg) ![PyPi monthly downloads](https://img.shields.io/pypi/dm/aws-lambda-powertools) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/aws-powertools/powertools-lambda-python/badge)](https://api.securityscorecards.dev/projects/github.com/aws-powertools/powertools-lambda-python) [![Join our Discord](https://dcbadge.vercel.app/api/server/B8zZKbbyET)](https://discord.gg/B8zZKbbyET)\n\nPowertools for AWS Lambda (Python) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://docs.powertools.aws.dev/lambda/python/latest/#features).\n\n> Also available in [Java](https://github.com/aws-powertools/powertools-lambda-java), [Typescript](https://github.com/aws-powertools/powertools-lambda-typescript), and [.NET](https://github.com/aws-powertools/powertools-lambda-dotnet).\n\n**[📜Documentation](https://docs.powertools.aws.dev/lambda/python/)** | **[🐍PyPi](https://pypi.org/project/aws-lambda-powertools/)** | **[Roadmap](https://docs.powertools.aws.dev/lambda/python/latest/roadmap/)** | **[Detailed blog post](https://aws.amazon.com/blogs/opensource/simplifying-serverless-best-practices-with-lambda-powertools/)**\n\n> **An AWS Developer Acceleration (DevAx) initiative by Specialist Solution Architects | <aws-devax-open-source@amazon.com>**\n\n![hero-image](https://user-images.githubusercontent.com/3340292/198254617-d0fdb672-86a6-4988-8a40-adf437135e0a.png)\n\n## Features\n\n* **[Tracing](https://docs.powertools.aws.dev/lambda/python/latest/core/tracer/)** - Decorators and utilities to trace Lambda function handlers, and both synchronous and asynchronous functions\n* **[Logging](https://docs.powertools.aws.dev/lambda/python/latest/core/logger/)** - Structured logging made easier, and decorator to enrich structured logging with key Lambda context details\n* **[Metrics](https://docs.powertools.aws.dev/lambda/python/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)\n* **[Event handler: AppSync](https://docs.powertools.aws.dev/lambda/python/latest/core/event_handler/appsync/)** - AWS AppSync event handler for Lambda Direct Resolver and Amplify GraphQL Transformer function\n* **[Event handler: API Gateway and ALB](https://docs.powertools.aws.dev/lambda/python/latest/core/event_handler/api_gateway/)** - Amazon API Gateway REST/HTTP API and ALB event handler for Lambda functions invoked using Proxy integration\n* **[Bring your own middleware](https://docs.powertools.aws.dev/lambda/python/latest/utilities/middleware_factory/)** - Decorator factory to create your own middleware to run logic before, and after each Lambda invocation\n* **[Parameters utility](https://docs.powertools.aws.dev/lambda/python/latest/utilities/parameters/)** - Retrieve and cache parameter values from Parameter Store, Secrets Manager, or DynamoDB\n* **[Batch processing](https://docs.powertools.aws.dev/lambda/python/latest/utilities/batch/)** - Handle partial failures for AWS SQS batch processing\n* **[Typing](https://docs.powertools.aws.dev/lambda/python/latest/utilities/typing/)** - Static typing classes to speedup development in your IDE\n* **[Validation](https://docs.powertools.aws.dev/lambda/python/latest/utilities/validation/)** - JSON Schema validator for inbound events and responses\n* **[Event source data classes](https://docs.powertools.aws.dev/lambda/python/latest/utilities/data_classes/)** - Data classes describing the schema of common Lambda event triggers\n* **[Parser](https://docs.powertools.aws.dev/lambda/python/latest/utilities/parser/)** - Data parsing and deep validation using Pydantic\n* **[Idempotency](https://docs.powertools.aws.dev/lambda/python/latest/utilities/idempotency/)** - Convert your Lambda functions into idempotent operations which are safe to retry\n* **[Feature Flags](https://docs.powertools.aws.dev/lambda/python/latest/utilities/feature_flags/)** - A simple rule engine to evaluate when one or multiple features should be enabled depending on the input\n* **[Streaming](https://docs.powertools.aws.dev/lambda/python/latest/utilities/streaming/)** - Streams datasets larger than the available memory as streaming data.\n\n### Installation\n\nWith [pip](https://pip.pypa.io/en/latest/index.html) installed, run: ``pip install aws-lambda-powertools``\n\n## Tutorial and Examples\n\n* [Tutorial](https://docs.powertools.aws.dev/lambda/python/latest/tutorial)\n* [Serverless Shopping cart](https://github.com/aws-samples/aws-serverless-shopping-cart)\n* [Serverless Airline](https://github.com/aws-samples/aws-serverless-airline-booking)\n* [Serverless E-commerce platform](https://github.com/aws-samples/aws-serverless-ecommerce-platform)\n* [Serverless GraphQL Nanny Booking Api](https://github.com/trey-rosius/babysitter_api)\n\n## How to support Powertools for AWS Lambda (Python)?\n\n### Becoming a reference customer\n\nKnowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (Python), you can request to have your name and logo added to the README file by raising a [Support Powertools for AWS Lambda (Python) (become a reference)](https://github.com/aws-powertools/powertools-lambda-python/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E) issue.\n\nThe following companies, among others, use Powertools:\n\n* [Capital One](https://www.capitalone.com/)\n* [CPQi (Exadel Financial Services)](https://cpqi.com/)\n* [CloudZero](https://www.cloudzero.com/)\n* [CyberArk](https://www.cyberark.com/)\n* [globaldatanet](https://globaldatanet.com/)\n* [IMS](https://ims.tech/)\n* [Jit Security](https://www.jit.io/)\n* [Propellor.ai](https://www.propellor.ai/)\n* [TopSport](https://www.topsport.com.au/)\n* [Transformity](https://transformity.tech/)\n* [Trek10](https://www.trek10.com/)\n* [Vertex Pharmaceuticals](https://www.vrtx.com/)\n\n### Sharing your work\n\nShare what you did with Powertools for AWS Lambda (Python) 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (Python) [here](https://docs.powertools.aws.dev/lambda/python/latest/we_made_this/).\n\n### Using Lambda Layer or SAR\n\nThis helps us understand who uses Powertools for AWS Lambda (Python) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/python/latest/#lambda-layer), you can add Powertools for AWS Lambda (Python) as a dev dependency (or as part of your virtual env) to not impact the development process.\n\n## Credits\n\n* Structured logging initial implementation from [aws-lambda-logging](https://gitlab.com/hadrien/aws_lambda_logging)\n* Powertools for AWS Lambda (Python) idea [DAZN Powertools](https://github.com/getndazn/dazn-lambda-powertools/)\n\n## Connect\n\n* **Powertools for AWS Lambda on Discord**: `#python` - **[Invite link](https://discord.gg/B8zZKbbyET)**\n* **Email**: <aws-lambda-powertools-feedback@amazon.com>\n\n## Security disclosures\n\nIf you think you’ve found a potential security issue, please do not post it in the Issues. Instead, please follow the instructions [here](https://aws.amazon.com/security/vulnerability-reporting/) or [email AWS security directly](mailto:aws-security@amazon.com).\n\n## License\n\nThis library is licensed under the MIT-0 License. See the LICENSE file.\n',
63
63
  'author': 'Amazon Web Services',