aws-lambda-powertools 2.25.0__tar.gz → 2.25.1__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 (202) hide show
  1. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/PKG-INFO +1 -1
  2. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/filters.py +2 -2
  3. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/formatter.py +9 -9
  4. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/logger.py +35 -24
  5. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/base.py +2 -2
  6. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/base.py +2 -2
  7. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/version.py +1 -1
  8. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/pyproject.toml +7 -7
  9. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/setup.py +1 -1
  10. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/LICENSE +0 -0
  11. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/README.md +0 -0
  12. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/THIRD-PARTY-LICENSES +0 -0
  13. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/__init__.py +0 -0
  14. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/__init__.py +0 -0
  15. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/api_gateway.py +0 -0
  16. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/appsync.py +0 -0
  17. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/content_types.py +0 -0
  18. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/exceptions.py +0 -0
  19. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/lambda_function_url.py +0 -0
  20. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/middlewares/__init__.py +0 -0
  21. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/middlewares/base.py +0 -0
  22. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/middlewares/schema_validation.py +0 -0
  23. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/router.py +0 -0
  24. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/types.py +0 -0
  25. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/event_handler/vpc_lattice.py +0 -0
  26. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/exceptions/__init__.py +0 -0
  27. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/__init__.py +0 -0
  28. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/compat.py +0 -0
  29. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/correlation_paths.py +0 -0
  30. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/exceptions.py +0 -0
  31. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/formatters/__init__.py +0 -0
  32. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/formatters/datadog.py +0 -0
  33. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/lambda_context.py +0 -0
  34. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/types.py +0 -0
  35. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/logging/utils.py +0 -0
  36. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/__init__.py +0 -0
  37. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/exceptions.py +0 -0
  38. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/functions.py +0 -0
  39. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/metric.py +0 -0
  40. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/metrics.py +0 -0
  41. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/__init__.py +0 -0
  42. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/__init__.py +0 -0
  43. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/cloudwatch.py +0 -0
  44. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/constants.py +0 -0
  45. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/exceptions.py +0 -0
  46. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/metric_properties.py +0 -0
  47. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/types.py +0 -0
  48. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/cold_start.py +0 -0
  49. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/datadog/__init__.py +0 -0
  50. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/datadog/datadog.py +0 -0
  51. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/datadog/metrics.py +0 -0
  52. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/provider/datadog/warnings.py +0 -0
  53. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/metrics/types.py +0 -0
  54. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/middleware_factory/__init__.py +0 -0
  55. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/middleware_factory/exceptions.py +0 -0
  56. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/middleware_factory/factory.py +0 -0
  57. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/package_logger.py +0 -0
  58. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/py.typed +0 -0
  59. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/__init__.py +0 -0
  60. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/cache_dict.py +0 -0
  61. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/constants.py +0 -0
  62. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/cookies.py +0 -0
  63. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/functions.py +0 -0
  64. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/headers_serializer.py +0 -0
  65. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/json_encoder.py +0 -0
  66. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/lazy_import.py +0 -0
  67. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/types.py +0 -0
  68. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/shared/user_agent.py +0 -0
  69. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/tracing/__init__.py +0 -0
  70. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/tracing/base.py +0 -0
  71. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/tracing/extensions.py +0 -0
  72. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/tracing/tracer.py +0 -0
  73. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/__init__.py +0 -0
  74. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/batch/__init__.py +0 -0
  75. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/batch/base.py +0 -0
  76. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/batch/decorators.py +0 -0
  77. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/batch/exceptions.py +0 -0
  78. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/batch/sqs_fifo_partial_processor.py +0 -0
  79. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/batch/types.py +0 -0
  80. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/__init__.py +0 -0
  81. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/active_mq_event.py +0 -0
  82. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/alb_event.py +0 -0
  83. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/api_gateway_authorizer_event.py +0 -0
  84. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/api_gateway_proxy_event.py +0 -0
  85. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/appsync/__init__.py +0 -0
  86. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/appsync/scalar_types_utils.py +0 -0
  87. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/appsync_authorizer_event.py +0 -0
  88. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/appsync_resolver_event.py +0 -0
  89. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/aws_config_rule_event.py +0 -0
  90. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/cloud_watch_custom_widget_event.py +0 -0
  91. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/cloud_watch_logs_event.py +0 -0
  92. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/code_pipeline_job_event.py +0 -0
  93. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/cognito_user_pool_event.py +0 -0
  94. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/common.py +0 -0
  95. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/connect_contact_flow_event.py +0 -0
  96. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py +0 -0
  97. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/event_bridge_event.py +0 -0
  98. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/event_source.py +0 -0
  99. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/kafka_event.py +0 -0
  100. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py +0 -0
  101. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/kinesis_stream_event.py +0 -0
  102. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/lambda_function_url_event.py +0 -0
  103. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/rabbit_mq_event.py +0 -0
  104. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/s3_event.py +0 -0
  105. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/s3_object_event.py +0 -0
  106. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/secrets_manager_event.py +0 -0
  107. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/ses_event.py +0 -0
  108. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/shared_functions.py +0 -0
  109. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/sns_event.py +0 -0
  110. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/sqs_event.py +0 -0
  111. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/data_classes/vpc_lattice.py +0 -0
  112. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/feature_flags/__init__.py +0 -0
  113. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/feature_flags/appconfig.py +0 -0
  114. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/feature_flags/base.py +0 -0
  115. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/feature_flags/comparators.py +0 -0
  116. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/feature_flags/exceptions.py +0 -0
  117. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/feature_flags/feature_flags.py +0 -0
  118. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/feature_flags/schema.py +0 -0
  119. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/__init__.py +0 -0
  120. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/base.py +0 -0
  121. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/config.py +0 -0
  122. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/exceptions.py +0 -0
  123. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/idempotency.py +0 -0
  124. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/persistence/__init__.py +0 -0
  125. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/persistence/base.py +0 -0
  126. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/persistence/dynamodb.py +0 -0
  127. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/serialization/__init__.py +0 -0
  128. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/serialization/base.py +0 -0
  129. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py +0 -0
  130. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/serialization/dataclass.py +0 -0
  131. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/serialization/no_op.py +0 -0
  132. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/idempotency/serialization/pydantic.py +0 -0
  133. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/jmespath_utils/__init__.py +0 -0
  134. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/jmespath_utils/envelopes.py +0 -0
  135. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/__init__.py +0 -0
  136. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/appconfig.py +0 -0
  137. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/base.py +0 -0
  138. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/dynamodb.py +0 -0
  139. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/exceptions.py +0 -0
  140. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/secrets.py +0 -0
  141. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/ssm.py +0 -0
  142. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parameters/types.py +0 -0
  143. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/__init__.py +0 -0
  144. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/compat.py +0 -0
  145. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/__init__.py +0 -0
  146. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/apigw.py +0 -0
  147. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/apigwv2.py +0 -0
  148. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/base.py +0 -0
  149. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py +0 -0
  150. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py +0 -0
  151. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/event_bridge.py +0 -0
  152. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/kafka.py +0 -0
  153. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/kinesis.py +0 -0
  154. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/kinesis_firehose.py +0 -0
  155. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/lambda_function_url.py +0 -0
  156. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/sns.py +0 -0
  157. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/sqs.py +0 -0
  158. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/envelopes/vpc_lattice.py +0 -0
  159. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/exceptions.py +0 -0
  160. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/__init__.py +0 -0
  161. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/alb.py +0 -0
  162. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/apigw.py +0 -0
  163. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/apigwv2.py +0 -0
  164. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/cloudformation_custom_resource.py +0 -0
  165. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/cloudwatch.py +0 -0
  166. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/dynamodb.py +0 -0
  167. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/event_bridge.py +0 -0
  168. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/kafka.py +0 -0
  169. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/kinesis.py +0 -0
  170. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose.py +0 -0
  171. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose_sqs.py +0 -0
  172. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/lambda_function_url.py +0 -0
  173. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/s3.py +0 -0
  174. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/s3_event_notification.py +0 -0
  175. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/s3_object_event.py +0 -0
  176. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/ses.py +0 -0
  177. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/sns.py +0 -0
  178. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/sqs.py +0 -0
  179. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/models/vpc_lattice.py +0 -0
  180. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/parser.py +0 -0
  181. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/pydantic.py +0 -0
  182. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/parser/types.py +0 -0
  183. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/serialization.py +0 -0
  184. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/__init__.py +0 -0
  185. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/_s3_seekable_io.py +0 -0
  186. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/compat.py +0 -0
  187. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/s3_object.py +0 -0
  188. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/transformations/__init__.py +0 -0
  189. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/transformations/base.py +0 -0
  190. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/transformations/csv.py +0 -0
  191. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/transformations/gzip.py +0 -0
  192. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/streaming/transformations/zip.py +0 -0
  193. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/typing/__init__.py +0 -0
  194. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/typing/lambda_client_context.py +0 -0
  195. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/typing/lambda_client_context_mobile_client.py +0 -0
  196. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/typing/lambda_cognito_identity.py +0 -0
  197. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/typing/lambda_context.py +0 -0
  198. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/validation/__init__.py +0 -0
  199. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/validation/base.py +0 -0
  200. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/validation/envelopes.py +0 -0
  201. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/aws_lambda_powertools/utilities/validation/exceptions.py +0 -0
  202. {aws_lambda_powertools-2.25.0 → aws_lambda_powertools-2.25.1}/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.25.0
3
+ Version: 2.25.1
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
@@ -2,10 +2,10 @@ import logging
2
2
 
3
3
 
4
4
  class SuppressFilter(logging.Filter):
5
- def __init__(self, logger):
5
+ def __init__(self, logger: str):
6
6
  self.logger = logger
7
7
 
8
- def filter(self, record): # noqa: A003
8
+ def filter(self, record: logging.LogRecord) -> bool: # noqa: A003
9
9
  """Suppress Log Records from registered logger
10
10
 
11
11
  It rejects log records from registered logger e.g. a child logger
@@ -44,14 +44,14 @@ RESERVED_LOG_ATTRS = (
44
44
 
45
45
  class BasePowertoolsFormatter(logging.Formatter, metaclass=ABCMeta):
46
46
  @abstractmethod
47
- def append_keys(self, **additional_keys):
47
+ def append_keys(self, **additional_keys) -> None:
48
48
  raise NotImplementedError()
49
49
 
50
- def remove_keys(self, keys: Iterable[str]):
50
+ def remove_keys(self, keys: Iterable[str]) -> None:
51
51
  raise NotImplementedError()
52
52
 
53
53
  @abstractmethod
54
- def clear_state(self):
54
+ def clear_state(self) -> None:
55
55
  """Removes any previously added logging keys"""
56
56
  raise NotImplementedError()
57
57
 
@@ -78,7 +78,7 @@ class LambdaPowertoolsFormatter(BasePowertoolsFormatter):
78
78
  utc: bool = False,
79
79
  use_rfc3339: bool = False,
80
80
  **kwargs,
81
- ):
81
+ ) -> None:
82
82
  """Return a LambdaPowertoolsFormatter instance.
83
83
 
84
84
  The `log_record_order` kwarg is used to specify the order of the keys used in
@@ -217,26 +217,26 @@ class LambdaPowertoolsFormatter(BasePowertoolsFormatter):
217
217
  custom_fmt = self.default_time_format.replace(self.custom_ms_time_directive, msecs)
218
218
  return time.strftime(custom_fmt, record_ts)
219
219
 
220
- def append_keys(self, **additional_keys):
220
+ def append_keys(self, **additional_keys) -> None:
221
221
  self.log_format.update(additional_keys)
222
222
 
223
- def remove_keys(self, keys: Iterable[str]):
223
+ def remove_keys(self, keys: Iterable[str]) -> None:
224
224
  for key in keys:
225
225
  self.log_format.pop(key, None)
226
226
 
227
- def clear_state(self):
227
+ def clear_state(self) -> None:
228
228
  self.log_format = dict.fromkeys(self.log_record_order)
229
229
  self.log_format.update(**self.keys_combined)
230
230
 
231
231
  @staticmethod
232
- def _build_default_keys():
232
+ def _build_default_keys() -> Dict[str, str]:
233
233
  return {
234
234
  "level": "%(levelname)s",
235
235
  "location": "%(funcName)s:%(lineno)d",
236
236
  "timestamp": "%(asctime)s",
237
237
  }
238
238
 
239
- def _get_latest_trace_id(self):
239
+ def _get_latest_trace_id(self) -> Optional[str]:
240
240
  xray_trace_id_key = self.log_format.get("xray_trace_id", "")
241
241
  if xray_trace_id_key is None:
242
242
  # key is explicitly disabled; ignore it. e.g., Logger(xray_trace_id=None)
@@ -221,7 +221,7 @@ class Logger:
221
221
  utc: bool = False,
222
222
  use_rfc3339: bool = False,
223
223
  **kwargs,
224
- ):
224
+ ) -> None:
225
225
  self.service = resolve_env_var_choice(
226
226
  choice=service,
227
227
  env=os.getenv(constants.SERVICE_NAME_ENV, "service_undefined"),
@@ -270,7 +270,7 @@ class Logger:
270
270
  # https://github.com/aws-powertools/powertools-lambda-python/issues/97
271
271
  return getattr(self._logger, name)
272
272
 
273
- def _get_logger(self):
273
+ def _get_logger(self) -> logging.Logger:
274
274
  """Returns a Logger named {self.service}, or {self.service.filename} for child loggers"""
275
275
  logger_name = self.service
276
276
  if self.child:
@@ -278,7 +278,12 @@ class Logger:
278
278
 
279
279
  return logging.getLogger(logger_name)
280
280
 
281
- def _init_logger(self, formatter_options: Optional[Dict] = None, log_level: Union[str, int, None] = None, **kwargs):
281
+ def _init_logger(
282
+ self,
283
+ formatter_options: Optional[Dict] = None,
284
+ log_level: Union[str, int, None] = None,
285
+ **kwargs,
286
+ ) -> None:
282
287
  """Configures new logger"""
283
288
 
284
289
  # Skip configuration if it's a child logger or a pre-configured logger
@@ -296,7 +301,7 @@ class Logger:
296
301
  self.structure_logs(formatter_options=formatter_options, **kwargs)
297
302
 
298
303
  # Maintenance: We can drop this upon Py3.7 EOL. It's a backport for "location" key to work
299
- self._logger.findCaller = compat.findCaller
304
+ self._logger.findCaller = compat.findCaller # type: ignore[method-assign]
300
305
 
301
306
  # Pytest Live Log feature duplicates log records for colored output
302
307
  # but we explicitly add a filter for log deduplication.
@@ -313,9 +318,9 @@ class Logger:
313
318
  # therefore we set a custom attribute in the Logger that will be returned
314
319
  # std logging will return the same Logger with our attribute if name is reused
315
320
  logger.debug(f"Marking logger {self.service} as preconfigured")
316
- self._logger.init = True
321
+ self._logger.init = True # type: ignore[attr-defined]
317
322
 
318
- def _configure_sampling(self):
323
+ def _configure_sampling(self) -> None:
319
324
  """Dynamically set log level based on sampling rate
320
325
 
321
326
  Raises
@@ -329,8 +334,10 @@ class Logger:
329
334
  self._logger.setLevel(logging.DEBUG)
330
335
  except ValueError:
331
336
  raise InvalidLoggerSamplingRateError(
332
- f"Expected a float value ranging 0 to 1, but received {self.sampling_rate} instead."
333
- f"Please review POWERTOOLS_LOGGER_SAMPLE_RATE environment variable.",
337
+ (
338
+ f"Expected a float value ranging 0 to 1, but received {self.sampling_rate} instead."
339
+ "Please review POWERTOOLS_LOGGER_SAMPLE_RATE environment variable."
340
+ ),
334
341
  )
335
342
 
336
343
  @overload
@@ -452,7 +459,7 @@ class Logger:
452
459
  stacklevel: int = 2,
453
460
  extra: Optional[Mapping[str, object]] = None,
454
461
  **kwargs,
455
- ):
462
+ ) -> None:
456
463
  extra = extra or {}
457
464
  extra = {**extra, **kwargs}
458
465
 
@@ -477,7 +484,7 @@ class Logger:
477
484
  stacklevel: int = 2,
478
485
  extra: Optional[Mapping[str, object]] = None,
479
486
  **kwargs,
480
- ):
487
+ ) -> None:
481
488
  extra = extra or {}
482
489
  extra = {**extra, **kwargs}
483
490
 
@@ -502,7 +509,7 @@ class Logger:
502
509
  stacklevel: int = 2,
503
510
  extra: Optional[Mapping[str, object]] = None,
504
511
  **kwargs,
505
- ):
512
+ ) -> None:
506
513
  extra = extra or {}
507
514
  extra = {**extra, **kwargs}
508
515
 
@@ -527,7 +534,7 @@ class Logger:
527
534
  stacklevel: int = 2,
528
535
  extra: Optional[Mapping[str, object]] = None,
529
536
  **kwargs,
530
- ):
537
+ ) -> None:
531
538
  extra = extra or {}
532
539
  extra = {**extra, **kwargs}
533
540
 
@@ -552,7 +559,7 @@ class Logger:
552
559
  stacklevel: int = 2,
553
560
  extra: Optional[Mapping[str, object]] = None,
554
561
  **kwargs,
555
- ):
562
+ ) -> None:
556
563
  extra = extra or {}
557
564
  extra = {**extra, **kwargs}
558
565
 
@@ -577,7 +584,7 @@ class Logger:
577
584
  stacklevel: int = 2,
578
585
  extra: Optional[Mapping[str, object]] = None,
579
586
  **kwargs,
580
- ):
587
+ ) -> None:
581
588
  extra = extra or {}
582
589
  extra = {**extra, **kwargs}
583
590
 
@@ -593,13 +600,13 @@ class Logger:
593
600
  extra=extra,
594
601
  )
595
602
 
596
- def append_keys(self, **additional_keys):
603
+ def append_keys(self, **additional_keys) -> None:
597
604
  self.registered_formatter.append_keys(**additional_keys)
598
605
 
599
- def remove_keys(self, keys: Iterable[str]):
606
+ def remove_keys(self, keys: Iterable[str]) -> None:
600
607
  self.registered_formatter.remove_keys(keys)
601
608
 
602
- def structure_logs(self, append: bool = False, formatter_options: Optional[Dict] = None, **keys):
609
+ def structure_logs(self, append: bool = False, formatter_options: Optional[Dict] = None, **keys) -> None:
603
610
  """Sets logging formatting to JSON.
604
611
 
605
612
  Optionally, it can append keyword arguments
@@ -645,7 +652,7 @@ class Logger:
645
652
  self.registered_formatter.clear_state()
646
653
  self.registered_formatter.append_keys(**log_keys)
647
654
 
648
- def set_correlation_id(self, value: Optional[str]):
655
+ def set_correlation_id(self, value: Optional[str]) -> None:
649
656
  """Sets the correlation_id in the logging json
650
657
 
651
658
  Parameters
@@ -676,7 +683,9 @@ class Logger:
676
683
  @property
677
684
  def registered_handler(self) -> logging.Handler:
678
685
  """Convenience property to access the first logger handler"""
679
- handlers = self._logger.parent.handlers if self.child else self._logger.handlers
686
+ # We ignore mypy here because self.child encodes whether or not self._logger.parent is
687
+ # None, mypy can't see this from context but we can
688
+ handlers = self._logger.parent.handlers if self.child else self._logger.handlers # type: ignore[union-attr]
680
689
  return handlers[0]
681
690
 
682
691
  @property
@@ -720,7 +729,7 @@ def set_package_logger(
720
729
  level: Union[str, int] = logging.DEBUG,
721
730
  stream: Optional[IO[str]] = None,
722
731
  formatter: Optional[logging.Formatter] = None,
723
- ):
732
+ ) -> None:
724
733
  """Set an additional stream handler, formatter, and log level for aws_lambda_powertools package logger.
725
734
 
726
735
  **Package log by default is suppressed (NullHandler), this should only used for debugging.
@@ -755,16 +764,18 @@ def set_package_logger(
755
764
  logger.addHandler(handler)
756
765
 
757
766
 
758
- def log_uncaught_exception_hook(exc_type, exc_value, exc_traceback, logger: Logger):
767
+ def log_uncaught_exception_hook(exc_type, exc_value, exc_traceback, logger: Logger) -> None:
759
768
  """Callback function for sys.excepthook to use Logger to log uncaught exceptions"""
760
769
  logger.exception(exc_value, exc_info=(exc_type, exc_value, exc_traceback)) # pragma: no cover
761
770
 
762
771
 
763
- def _get_caller_filename():
772
+ def _get_caller_filename() -> str:
764
773
  """Return caller filename by finding the caller frame"""
765
774
  # Current frame => _get_logger()
766
775
  # Previous frame => logger.py
767
776
  # Before previous frame => Caller
777
+ # We ignore mypy here because *we* know that there will always be at least
778
+ # 3 frames (above) so repeatedly calling f_back is safe here
768
779
  frame = inspect.currentframe()
769
- caller_frame = frame.f_back.f_back.f_back
770
- return caller_frame.f_globals["__name__"]
780
+ caller_frame = frame.f_back.f_back.f_back # type: ignore[union-attr]
781
+ return caller_frame.f_globals["__name__"] # type: ignore[union-attr]
@@ -378,11 +378,11 @@ class MetricManager:
378
378
  )
379
379
 
380
380
  @functools.wraps(lambda_handler)
381
- def decorate(event, context):
381
+ def decorate(event, context, *args, **kwargs):
382
382
  try:
383
383
  if default_dimensions:
384
384
  self.set_default_dimensions(**default_dimensions)
385
- response = lambda_handler(event, context)
385
+ response = lambda_handler(event, context, *args, **kwargs)
386
386
  if capture_cold_start_metric:
387
387
  self._add_cold_start_metric(context=context)
388
388
  finally:
@@ -199,9 +199,9 @@ class BaseProvider(ABC):
199
199
  )
200
200
 
201
201
  @functools.wraps(lambda_handler)
202
- def decorate(event, context):
202
+ def decorate(event, context, *args, **kwargs):
203
203
  try:
204
- response = lambda_handler(event, context)
204
+ response = lambda_handler(event, context, *args, **kwargs)
205
205
  if capture_cold_start_metric:
206
206
  self._add_cold_start_metric(context=context)
207
207
  finally:
@@ -1,3 +1,3 @@
1
1
  """Exposes version constant to avoid circular dependencies."""
2
2
 
3
- VERSION = "2.25.0"
3
+ VERSION = "2.25.1"
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "aws_lambda_powertools"
3
- version = "2.25.0"
3
+ version = "2.25.1"
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"]
@@ -57,15 +57,15 @@ aws-cdk-lib = "^2.88.0"
57
57
  "aws-cdk.aws-apigatewayv2-integrations-alpha" = "^2.38.1-alpha.0"
58
58
  "aws-cdk.aws-apigatewayv2-authorizers-alpha" = "^2.38.1-alpha.0"
59
59
  pytest-benchmark = "^4.0.0"
60
- mypy-boto3-appconfig = "^1.28.36"
61
- mypy-boto3-cloudformation = "^1.28.36"
60
+ mypy-boto3-appconfig = "^1.28.52"
61
+ mypy-boto3-cloudformation = "^1.28.48"
62
62
  mypy-boto3-cloudwatch = "^1.28.36"
63
63
  mypy-boto3-dynamodb = "^1.28.36"
64
64
  mypy-boto3-lambda = "^1.28.36"
65
- mypy-boto3-logs = "^1.28.36"
65
+ mypy-boto3-logs = "^1.28.52"
66
66
  mypy-boto3-secretsmanager = "^1.28.36"
67
67
  mypy-boto3-ssm = "^1.28.36"
68
- mypy-boto3-s3 = "^1.28.36"
68
+ mypy-boto3-s3 = "^1.28.52"
69
69
  mypy-boto3-xray = "^1.28.47"
70
70
  types-requests = "^2.31.0"
71
71
  typing-extensions = "^4.6.2"
@@ -89,12 +89,12 @@ aws-sdk = ["boto3"]
89
89
  datadog=["datadog-lambda"]
90
90
 
91
91
  [tool.poetry.group.dev.dependencies]
92
- cfn-lint = "0.79.11"
92
+ cfn-lint = "0.80.2"
93
93
  mypy = "^1.1.1"
94
94
  types-python-dateutil = "^2.8.19.6"
95
95
  httpx = ">=0.23.3,<0.25.0"
96
96
  sentry-sdk = "^1.22.2"
97
- ruff = ">=0.0.272,<0.0.290"
97
+ ruff = ">=0.0.272,<0.0.291"
98
98
  retry2 = "^0.9.5"
99
99
 
100
100
  [tool.coverage.run]
@@ -51,7 +51,7 @@ extras_require = \
51
51
 
52
52
  setup_kwargs = {
53
53
  'name': 'aws-lambda-powertools',
54
- 'version': '2.25.0',
54
+ 'version': '2.25.1',
55
55
  'description': 'Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity.',
56
56
  '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&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* [Trek10](https://www.trek10.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',
57
57
  'author': 'Amazon Web Services',