aws-lambda-powertools 3.8.1a9__tar.gz → 3.8.1a11__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 (266) hide show
  1. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/PKG-INFO +1 -1
  2. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/logging/logger.py +13 -5
  3. aws_lambda_powertools-3.8.1a11/aws_lambda_powertools/metrics/provider/cold_start.py +20 -0
  4. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/shared/constants.py +1 -0
  5. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/shared/version.py +1 -1
  6. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/tracing/tracer.py +28 -5
  7. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/idempotency/base.py +6 -2
  8. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/idempotency/persistence/datarecord.py +4 -0
  9. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/idempotency/persistence/dynamodb.py +1 -0
  10. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/pyproject.toml +3 -3
  11. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/setup.py +1 -1
  12. aws_lambda_powertools-3.8.1a9/aws_lambda_powertools/metrics/provider/cold_start.py +0 -9
  13. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/LICENSE +0 -0
  14. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/README.md +0 -0
  15. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/THIRD-PARTY-LICENSES +0 -0
  16. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/__init__.py +0 -0
  17. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/__init__.py +0 -0
  18. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/api_gateway.py +0 -0
  19. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/appsync.py +0 -0
  20. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/bedrock_agent.py +0 -0
  21. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/content_types.py +0 -0
  22. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/exceptions.py +0 -0
  23. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/graphql_appsync/__init__.py +0 -0
  24. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/graphql_appsync/_registry.py +0 -0
  25. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/graphql_appsync/base.py +0 -0
  26. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/graphql_appsync/exceptions.py +0 -0
  27. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/graphql_appsync/router.py +0 -0
  28. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/lambda_function_url.py +0 -0
  29. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/middlewares/__init__.py +0 -0
  30. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/middlewares/base.py +0 -0
  31. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/middlewares/openapi_validation.py +0 -0
  32. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/middlewares/schema_validation.py +0 -0
  33. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/openapi/__init__.py +0 -0
  34. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/openapi/compat.py +0 -0
  35. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/openapi/config.py +0 -0
  36. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/openapi/constants.py +0 -0
  37. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/openapi/dependant.py +0 -0
  38. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/openapi/encoders.py +0 -0
  39. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/openapi/exceptions.py +0 -0
  40. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/openapi/models.py +0 -0
  41. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/openapi/params.py +0 -0
  42. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/openapi/pydantic_loader.py +0 -0
  43. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/openapi/swagger_ui/__init__.py +0 -0
  44. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/openapi/swagger_ui/html.py +0 -0
  45. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/openapi/swagger_ui/oauth2.py +0 -0
  46. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui-bundle.min.js +0 -0
  47. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui.min.css +0 -0
  48. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/openapi/types.py +0 -0
  49. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/router.py +0 -0
  50. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/types.py +0 -0
  51. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/util.py +0 -0
  52. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/event_handler/vpc_lattice.py +0 -0
  53. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/exceptions/__init__.py +0 -0
  54. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/logging/__init__.py +0 -0
  55. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/logging/buffer/__init__.py +0 -0
  56. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/logging/buffer/cache.py +0 -0
  57. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/logging/buffer/config.py +0 -0
  58. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/logging/buffer/functions.py +0 -0
  59. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/logging/constants.py +0 -0
  60. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/logging/correlation_paths.py +0 -0
  61. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/logging/exceptions.py +0 -0
  62. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/logging/filters.py +0 -0
  63. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/logging/formatter.py +0 -0
  64. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/logging/formatters/__init__.py +0 -0
  65. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/logging/formatters/datadog.py +0 -0
  66. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/logging/lambda_context.py +0 -0
  67. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/logging/types.py +0 -0
  68. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/logging/utils.py +0 -0
  69. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/metrics/__init__.py +0 -0
  70. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/metrics/base.py +0 -0
  71. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/metrics/exceptions.py +0 -0
  72. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/metrics/functions.py +0 -0
  73. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/metrics/metric.py +0 -0
  74. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/metrics/metrics.py +0 -0
  75. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/metrics/provider/__init__.py +0 -0
  76. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/metrics/provider/base.py +0 -0
  77. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/__init__.py +0 -0
  78. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/cloudwatch.py +0 -0
  79. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/constants.py +0 -0
  80. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/exceptions.py +0 -0
  81. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/metric_properties.py +0 -0
  82. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/types.py +0 -0
  83. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/metrics/provider/datadog/__init__.py +0 -0
  84. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/metrics/provider/datadog/datadog.py +0 -0
  85. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/metrics/provider/datadog/metrics.py +0 -0
  86. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/metrics/provider/datadog/warnings.py +0 -0
  87. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/metrics/types.py +0 -0
  88. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/middleware_factory/__init__.py +0 -0
  89. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/middleware_factory/exceptions.py +0 -0
  90. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/middleware_factory/factory.py +0 -0
  91. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/package_logger.py +0 -0
  92. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/py.typed +0 -0
  93. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/shared/__init__.py +0 -0
  94. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/shared/cache_dict.py +0 -0
  95. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/shared/cookies.py +0 -0
  96. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/shared/dynamodb_deserializer.py +0 -0
  97. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/shared/functions.py +0 -0
  98. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/shared/headers_serializer.py +0 -0
  99. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/shared/json_encoder.py +0 -0
  100. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/shared/lazy_import.py +0 -0
  101. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/shared/types.py +0 -0
  102. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/shared/user_agent.py +0 -0
  103. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/tracing/__init__.py +0 -0
  104. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/tracing/base.py +0 -0
  105. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/tracing/extensions.py +0 -0
  106. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/__init__.py +0 -0
  107. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/batch/__init__.py +0 -0
  108. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/batch/base.py +0 -0
  109. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/batch/decorators.py +0 -0
  110. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/batch/exceptions.py +0 -0
  111. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/batch/sqs_fifo_partial_processor.py +0 -0
  112. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/batch/types.py +0 -0
  113. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/__init__.py +0 -0
  114. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/active_mq_event.py +0 -0
  115. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/alb_event.py +0 -0
  116. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/api_gateway_authorizer_event.py +0 -0
  117. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/api_gateway_proxy_event.py +0 -0
  118. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/api_gateway_websocket_event.py +0 -0
  119. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/appsync/__init__.py +0 -0
  120. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/appsync/scalar_types_utils.py +0 -0
  121. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/appsync_authorizer_event.py +0 -0
  122. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/appsync_resolver_event.py +0 -0
  123. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/aws_config_rule_event.py +0 -0
  124. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/bedrock_agent_event.py +0 -0
  125. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/cloud_watch_alarm_event.py +0 -0
  126. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/cloud_watch_custom_widget_event.py +0 -0
  127. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/cloud_watch_logs_event.py +0 -0
  128. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/cloudformation_custom_resource_event.py +0 -0
  129. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/code_deploy_lifecycle_hook_event.py +0 -0
  130. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/code_pipeline_job_event.py +0 -0
  131. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/cognito_user_pool_event.py +0 -0
  132. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/common.py +0 -0
  133. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/connect_contact_flow_event.py +0 -0
  134. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py +0 -0
  135. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/event_bridge_event.py +0 -0
  136. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/event_source.py +0 -0
  137. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/iot_registry_event.py +0 -0
  138. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/kafka_event.py +0 -0
  139. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py +0 -0
  140. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/kinesis_stream_event.py +0 -0
  141. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/lambda_function_url_event.py +0 -0
  142. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/rabbit_mq_event.py +0 -0
  143. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/s3_batch_operation_event.py +0 -0
  144. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/s3_event.py +0 -0
  145. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/s3_object_event.py +0 -0
  146. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/secrets_manager_event.py +0 -0
  147. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/ses_event.py +0 -0
  148. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/shared_functions.py +0 -0
  149. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/sns_event.py +0 -0
  150. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/sqs_event.py +0 -0
  151. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/transfer_family_event.py +0 -0
  152. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_classes/vpc_lattice.py +0 -0
  153. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_masking/__init__.py +0 -0
  154. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_masking/base.py +0 -0
  155. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_masking/constants.py +0 -0
  156. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_masking/exceptions.py +0 -0
  157. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_masking/provider/__init__.py +0 -0
  158. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_masking/provider/base.py +0 -0
  159. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_masking/provider/kms/__init__.py +0 -0
  160. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/data_masking/provider/kms/aws_encryption_sdk.py +0 -0
  161. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/feature_flags/__init__.py +0 -0
  162. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/feature_flags/appconfig.py +0 -0
  163. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/feature_flags/base.py +0 -0
  164. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/feature_flags/comparators.py +0 -0
  165. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/feature_flags/constants.py +0 -0
  166. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/feature_flags/exceptions.py +0 -0
  167. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/feature_flags/feature_flags.py +0 -0
  168. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/feature_flags/schema.py +0 -0
  169. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/feature_flags/types.py +0 -0
  170. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/idempotency/__init__.py +0 -0
  171. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/idempotency/config.py +0 -0
  172. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/idempotency/exceptions.py +0 -0
  173. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/idempotency/hook.py +0 -0
  174. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/idempotency/idempotency.py +0 -0
  175. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/idempotency/persistence/__init__.py +0 -0
  176. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/idempotency/persistence/base.py +0 -0
  177. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/idempotency/persistence/redis.py +0 -0
  178. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/idempotency/serialization/__init__.py +0 -0
  179. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/idempotency/serialization/base.py +0 -0
  180. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py +0 -0
  181. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/idempotency/serialization/dataclass.py +0 -0
  182. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/idempotency/serialization/functions.py +0 -0
  183. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/idempotency/serialization/no_op.py +0 -0
  184. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/idempotency/serialization/pydantic.py +0 -0
  185. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/jmespath_utils/__init__.py +0 -0
  186. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/jmespath_utils/envelopes.py +0 -0
  187. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parameters/__init__.py +0 -0
  188. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parameters/appconfig.py +0 -0
  189. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parameters/base.py +0 -0
  190. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parameters/constants.py +0 -0
  191. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parameters/dynamodb.py +0 -0
  192. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parameters/exceptions.py +0 -0
  193. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parameters/secrets.py +0 -0
  194. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parameters/ssm.py +0 -0
  195. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parameters/types.py +0 -0
  196. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/__init__.py +0 -0
  197. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/envelopes/__init__.py +0 -0
  198. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/envelopes/apigw.py +0 -0
  199. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/envelopes/apigw_websocket.py +0 -0
  200. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/envelopes/apigwv2.py +0 -0
  201. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/envelopes/base.py +0 -0
  202. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/envelopes/bedrock_agent.py +0 -0
  203. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py +0 -0
  204. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py +0 -0
  205. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/envelopes/event_bridge.py +0 -0
  206. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/envelopes/kafka.py +0 -0
  207. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/envelopes/kinesis.py +0 -0
  208. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/envelopes/kinesis_firehose.py +0 -0
  209. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/envelopes/lambda_function_url.py +0 -0
  210. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/envelopes/sns.py +0 -0
  211. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/envelopes/sqs.py +0 -0
  212. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/envelopes/vpc_lattice.py +0 -0
  213. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/envelopes/vpc_latticev2.py +0 -0
  214. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/exceptions.py +0 -0
  215. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/functions.py +0 -0
  216. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/__init__.py +0 -0
  217. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/alb.py +0 -0
  218. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/apigw.py +0 -0
  219. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/apigw_websocket.py +0 -0
  220. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/apigwv2.py +0 -0
  221. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/bedrock_agent.py +0 -0
  222. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/cloudformation_custom_resource.py +0 -0
  223. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/cloudwatch.py +0 -0
  224. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/dynamodb.py +0 -0
  225. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/event_bridge.py +0 -0
  226. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/iot_registry_events.py +0 -0
  227. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/kafka.py +0 -0
  228. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/kinesis.py +0 -0
  229. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose.py +0 -0
  230. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose_sqs.py +0 -0
  231. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/lambda_function_url.py +0 -0
  232. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/s3.py +0 -0
  233. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/s3_batch_operation.py +0 -0
  234. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/s3_event_notification.py +0 -0
  235. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/s3_object_event.py +0 -0
  236. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/ses.py +0 -0
  237. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/sns.py +0 -0
  238. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/sqs.py +0 -0
  239. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/transfer_family.py +0 -0
  240. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/vpc_lattice.py +0 -0
  241. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/models/vpc_latticev2.py +0 -0
  242. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/parser.py +0 -0
  243. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/parser/types.py +0 -0
  244. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/serialization.py +0 -0
  245. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/streaming/__init__.py +0 -0
  246. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/streaming/_s3_seekable_io.py +0 -0
  247. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/streaming/compat.py +0 -0
  248. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/streaming/constants.py +0 -0
  249. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/streaming/s3_object.py +0 -0
  250. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/streaming/transformations/__init__.py +0 -0
  251. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/streaming/transformations/base.py +0 -0
  252. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/streaming/transformations/csv.py +0 -0
  253. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/streaming/transformations/gzip.py +0 -0
  254. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/streaming/transformations/zip.py +0 -0
  255. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/streaming/types.py +0 -0
  256. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/typing/__init__.py +0 -0
  257. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/typing/lambda_client_context.py +0 -0
  258. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/typing/lambda_client_context_mobile_client.py +0 -0
  259. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/typing/lambda_cognito_identity.py +0 -0
  260. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/typing/lambda_context.py +0 -0
  261. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/validation/__init__.py +0 -0
  262. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/validation/base.py +0 -0
  263. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/validation/envelopes.py +0 -0
  264. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/validation/exceptions.py +0 -0
  265. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/utilities/validation/validator.py +0 -0
  266. {aws_lambda_powertools-3.8.1a9 → aws_lambda_powertools-3.8.1a11}/aws_lambda_powertools/warnings/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: aws_lambda_powertools
3
- Version: 3.8.1a9
3
+ Version: 3.8.1a11
4
4
  Summary: Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity.
5
5
  License: MIT
6
6
  Keywords: aws_lambda_powertools,aws,tracing,logging,lambda,powertools,feature_flags,idempotency,middleware
@@ -64,14 +64,22 @@ def _is_cold_start() -> bool:
64
64
  bool
65
65
  cold start bool value
66
66
  """
67
- cold_start = False
68
-
69
67
  global is_cold_start
70
- if is_cold_start:
71
- cold_start = is_cold_start
68
+
69
+ initialization_type = os.getenv(constants.LAMBDA_INITIALIZATION_TYPE)
70
+
71
+ # Check for Provisioned Concurrency environment
72
+ # AWS_LAMBDA_INITIALIZATION_TYPE is set when using Provisioned Concurrency
73
+ if initialization_type == "provisioned-concurrency":
72
74
  is_cold_start = False
75
+ return False
76
+
77
+ if not is_cold_start:
78
+ return False
73
79
 
74
- return cold_start
80
+ # This is a cold start - flip the flag and return True
81
+ is_cold_start = False
82
+ return True
75
83
 
76
84
 
77
85
  class Logger:
@@ -0,0 +1,20 @@
1
+ from __future__ import annotations
2
+
3
+ import os
4
+
5
+ from aws_lambda_powertools.shared import constants
6
+
7
+ is_cold_start = True
8
+
9
+ initialization_type = os.getenv(constants.LAMBDA_INITIALIZATION_TYPE)
10
+
11
+ # Check for Provisioned Concurrency environment
12
+ # AWS_LAMBDA_INITIALIZATION_TYPE is set when using Provisioned Concurrency
13
+ if initialization_type == "provisioned-concurrency":
14
+ is_cold_start = False
15
+
16
+
17
+ def reset_cold_start_flag():
18
+ global is_cold_start
19
+ if not is_cold_start:
20
+ is_cold_start = True
@@ -57,6 +57,7 @@ LAMBDA_TASK_ROOT_ENV: str = "LAMBDA_TASK_ROOT"
57
57
  SAM_LOCAL_ENV: str = "AWS_SAM_LOCAL"
58
58
  CHALICE_LOCAL_ENV: str = "AWS_CHALICE_CLI_MODE"
59
59
  LAMBDA_FUNCTION_NAME_ENV: str = "AWS_LAMBDA_FUNCTION_NAME"
60
+ LAMBDA_INITIALIZATION_TYPE: str = "AWS_LAMBDA_INITIALIZATION_TYPE"
60
61
 
61
62
  # Debug constants
62
63
  POWERTOOLS_DEV_ENV: str = "POWERTOOLS_DEV"
@@ -1,3 +1,3 @@
1
1
  """Exposes version constant to avoid circular dependencies."""
2
2
 
3
- VERSION = "3.8.1a9"
3
+ VERSION = "3.8.1a11"
@@ -30,6 +30,32 @@ aws_xray_sdk = LazyLoader(constants.XRAY_SDK_MODULE, globals(), constants.XRAY_S
30
30
  T = TypeVar("T")
31
31
 
32
32
 
33
+ def _is_cold_start() -> bool:
34
+ """Verifies whether is cold start
35
+
36
+ Returns
37
+ -------
38
+ bool
39
+ cold start bool value
40
+ """
41
+ global is_cold_start
42
+
43
+ initialization_type = os.getenv(constants.LAMBDA_INITIALIZATION_TYPE)
44
+
45
+ # Check for Provisioned Concurrency environment
46
+ # AWS_LAMBDA_INITIALIZATION_TYPE is set when using Provisioned Concurrency
47
+ if initialization_type == "provisioned-concurrency":
48
+ is_cold_start = False
49
+ return False
50
+
51
+ if not is_cold_start:
52
+ return False
53
+
54
+ # This is a cold start - flip the flag and return True
55
+ is_cold_start = False
56
+ return True
57
+
58
+
33
59
  class Tracer:
34
60
  """Tracer using AWS-XRay to provide decorators with known defaults for Lambda functions
35
61
 
@@ -340,12 +366,9 @@ class Tracer:
340
366
 
341
367
  raise
342
368
  finally:
343
- global is_cold_start
369
+ cold_start = _is_cold_start()
344
370
  logger.debug("Annotating cold start")
345
- subsegment.put_annotation(key="ColdStart", value=is_cold_start)
346
-
347
- if is_cold_start:
348
- is_cold_start = False
371
+ subsegment.put_annotation(key="ColdStart", value=cold_start)
349
372
 
350
373
  if self.service:
351
374
  subsegment.put_annotation(key="Service", value=self.service)
@@ -250,10 +250,14 @@ class IdempotencyHandler:
250
250
  "item should have been expired in-progress because it already time-outed.",
251
251
  )
252
252
 
253
- raise IdempotencyAlreadyInProgressError(
253
+ inprogress_error_message = (
254
254
  f"Execution already in progress with idempotency key: "
255
- f"{self.persistence_store.event_key_jmespath}={data_record.idempotency_key}",
255
+ f"{self.persistence_store.event_key_jmespath}={data_record.idempotency_key}"
256
256
  )
257
+ if data_record.sort_key is not None:
258
+ inprogress_error_message += f" and sort key: {data_record.sort_key}"
259
+
260
+ raise IdempotencyAlreadyInProgressError(inprogress_error_message)
257
261
 
258
262
  response_dict = data_record.response_json_as_dict()
259
263
  serialized_response = self.output_serializer.from_dict(response_dict) if response_dict else None
@@ -27,6 +27,7 @@ class DataRecord:
27
27
  in_progress_expiry_timestamp: int | None = None,
28
28
  response_data: str = "",
29
29
  payload_hash: str = "",
30
+ sort_key: str | None = None,
30
31
  ) -> None:
31
32
  """
32
33
 
@@ -44,6 +45,8 @@ class DataRecord:
44
45
  hashed representation of payload
45
46
  response_data: str, optional
46
47
  response data from previous executions using the record
48
+ sort_key: str, optional
49
+ sort key when using composite key
47
50
  """
48
51
  self.idempotency_key = idempotency_key
49
52
  self.payload_hash = payload_hash
@@ -51,6 +54,7 @@ class DataRecord:
51
54
  self.in_progress_expiry_timestamp = in_progress_expiry_timestamp
52
55
  self._status = status
53
56
  self.response_data = response_data
57
+ self.sort_key = sort_key
54
58
 
55
59
  @property
56
60
  def is_expired(self) -> bool:
@@ -168,6 +168,7 @@ class DynamoDBPersistenceLayer(BasePersistenceLayer):
168
168
  in_progress_expiry_timestamp=data.get(self.in_progress_expiry_attr),
169
169
  response_data=data.get(self.data_attr),
170
170
  payload_hash=data.get(self.validation_key_attr),
171
+ sort_key=data[self.sort_key_attr] if self.sort_key_attr is not None else None,
171
172
  )
172
173
 
173
174
  def _get_record(self, idempotency_key) -> DataRecord:
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "aws_lambda_powertools"
3
- version = "3.8.1a9"
3
+ version = "3.8.1a11"
4
4
  description = "Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity."
5
5
  authors = ["Amazon Web Services"]
6
6
  include = ["aws_lambda_powertools/py.typed", "THIRD-PARTY-LICENSES"]
@@ -107,13 +107,13 @@ hvac = "^2.3.0"
107
107
  aws-requests-auth = "^0.4.3"
108
108
  urllib3 = "<2"
109
109
  requests = ">=2.32.0"
110
- cfn-lint = "1.31.3"
110
+ cfn-lint = "1.32.0"
111
111
  mypy = "^1.1.1"
112
112
  types-python-dateutil = "^2.8.19.6"
113
113
  aws-cdk-aws-appsync-alpha = "^2.59.0a0"
114
114
  httpx = ">=0.23.3,<0.29.0"
115
115
  sentry-sdk = ">=1.22.2,<3.0.0"
116
- ruff = ">=0.5.1,<0.11.1"
116
+ ruff = ">=0.5.1,<0.11.3"
117
117
  retry2 = "^0.9.5"
118
118
  pytest-socket = ">=0.6,<0.8"
119
119
  types-redis = "^4.6.0.7"
@@ -65,7 +65,7 @@ extras_require = \
65
65
 
66
66
  setup_kwargs = {
67
67
  'name': 'aws_lambda_powertools',
68
- 'version': '3.8.1a9',
68
+ 'version': '3.8.1a11',
69
69
  'description': 'Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity.',
70
70
  'long_description': '<!-- markdownlint-disable MD013 MD041 MD043 -->\n# Powertools for AWS Lambda (Python)\n\n[![Build](https://github.com/aws-powertools/powertools-lambda-python/actions/workflows/quality_check.yml/badge.svg)](https://github.com/aws-powertools/powertools-lambda-python/actions/workflows/python_build.yml)\n[![codecov.io](https://codecov.io/github/aws-powertools/powertools-lambda-python/branch/develop/graphs/badge.svg)](https://app.codecov.io/gh/aws-powertools/powertools-lambda-python)\n![PythonSupport](https://img.shields.io/static/v1?label=python&message=%203.9|%203.10|%203.11|%203.12|%203.13&color=blue?style=flat-square&logo=python) ![PyPI version](https://badge.fury.io/py/aws-lambda-powertools.svg) ![PyPi monthly downloads](https://img.shields.io/pypi/dm/aws-lambda-powertools) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/aws-powertools/powertools-lambda-python/badge)](https://api.securityscorecards.dev/projects/github.com/aws-powertools/powertools-lambda-python) [![Join our Discord](https://dcbadge.vercel.app/api/server/B8zZKbbyET?style=flat-square)](https://discord.gg/B8zZKbbyET)\n\nPowertools for AWS Lambda (Python) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://docs.powertools.aws.dev/lambda/python/latest/#features).\n\n> Also available in [Java](https://github.com/aws-powertools/powertools-lambda-java), [Typescript](https://github.com/aws-powertools/powertools-lambda-typescript), and [.NET](https://github.com/aws-powertools/powertools-lambda-dotnet).\n\n**[📜Documentation](https://docs.powertools.aws.dev/lambda/python/)** | **[🐍PyPi](https://pypi.org/project/aws-lambda-powertools/)** | **[Roadmap](https://docs.powertools.aws.dev/lambda/python/latest/roadmap/)** | **[Detailed blog post](https://aws.amazon.com/blogs/opensource/simplifying-serverless-best-practices-with-lambda-powertools/)**\n\n![hero-image](https://user-images.githubusercontent.com/3340292/198254617-d0fdb672-86a6-4988-8a40-adf437135e0a.png)\n\n## Features\n\n* **[Tracing](https://docs.powertools.aws.dev/lambda/python/latest/core/tracer/)** - Decorators and utilities to trace Lambda function handlers, and both synchronous and asynchronous functions\n* **[Logging](https://docs.powertools.aws.dev/lambda/python/latest/core/logger/)** - Structured logging made easier, and decorator to enrich structured logging with key Lambda context details\n* **[Metrics](https://docs.powertools.aws.dev/lambda/python/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)\n* **[Event handler: AppSync](https://docs.powertools.aws.dev/lambda/python/latest/core/event_handler/appsync/)** - AWS AppSync event handler for Lambda Direct Resolver and Amplify GraphQL Transformer function\n* **[Event handler: API Gateway and ALB](https://docs.powertools.aws.dev/lambda/python/latest/core/event_handler/api_gateway/)** - Amazon API Gateway REST/HTTP API and ALB event handler for Lambda functions invoked using Proxy integration\n* **[Event handler: Agents for Amazon Bedrock](https://docs.powertools.aws.dev/lambda/python/latest/core/event_handler/bedrock_agents/)** - Create Agents for Amazon Bedrock, automatically generating OpenAPI schemas\n* **[Bring your own middleware](https://docs.powertools.aws.dev/lambda/python/latest/utilities/middleware_factory/)** - Decorator factory to create your own middleware to run logic before, and after each Lambda invocation\n* **[Parameters utility](https://docs.powertools.aws.dev/lambda/python/latest/utilities/parameters/)** - Retrieve and cache parameter values from Parameter Store, Secrets Manager, or DynamoDB\n* **[Batch processing](https://docs.powertools.aws.dev/lambda/python/latest/utilities/batch/)** - Handle partial failures for AWS SQS batch processing\n* **[Typing](https://docs.powertools.aws.dev/lambda/python/latest/utilities/typing/)** - Static typing classes to speedup development in your IDE\n* **[Validation](https://docs.powertools.aws.dev/lambda/python/latest/utilities/validation/)** - JSON Schema validator for inbound events and responses\n* **[Event source data classes](https://docs.powertools.aws.dev/lambda/python/latest/utilities/data_classes/)** - Data classes describing the schema of common Lambda event triggers\n* **[Parser](https://docs.powertools.aws.dev/lambda/python/latest/utilities/parser/)** - Data parsing and deep validation using Pydantic\n* **[Idempotency](https://docs.powertools.aws.dev/lambda/python/latest/utilities/idempotency/)** - Convert your Lambda functions into idempotent operations which are safe to retry\n* **[Data Masking](https://docs.powertools.aws.dev/lambda/python/latest/utilities/data_masking/)** - Protect confidential data with easy removal or encryption\n* **[Feature Flags](https://docs.powertools.aws.dev/lambda/python/latest/utilities/feature_flags/)** - A simple rule engine to evaluate when one or multiple features should be enabled depending on the input\n* **[Streaming](https://docs.powertools.aws.dev/lambda/python/latest/utilities/streaming/)** - Streams datasets larger than the available memory as streaming data.\n\n### Installation\n\nWith [pip](https://pip.pypa.io/en/latest/index.html) installed, run: ``pip install aws-lambda-powertools``\n\n## Tutorial and Examples\n\n* [Tutorial](https://docs.powertools.aws.dev/lambda/python/latest/tutorial)\n* [Serverless Shopping cart](https://github.com/aws-samples/aws-serverless-shopping-cart)\n* [Serverless Airline](https://github.com/aws-samples/aws-serverless-airline-booking)\n* [Serverless E-commerce platform](https://github.com/aws-samples/aws-serverless-ecommerce-platform)\n* [Serverless GraphQL Nanny Booking Api](https://github.com/trey-rosius/babysitter_api)\n\n## How to support Powertools for AWS Lambda (Python)?\n\n### Becoming a reference customer\n\nKnowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (Python), you can request to have your name and logo added to the README file by raising a [Support Powertools for AWS Lambda (Python) (become a reference)](https://github.com/aws-powertools/powertools-lambda-python/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E) issue.\n\nThe following companies, among others, use Powertools:\n\n* [Alma Media](https://www.almamedia.fi/en/)\n* [Banxware](https://www.banxware.com/)\n* [Brsk](https://www.brsk.co.uk/)\n* [BusPatrol](https://buspatrol.com/)\n* [Capital One](https://www.capitalone.com/)\n* [Caylent](https://caylent.com/)\n* [CHS Inc.](https://www.chsinc.com/)\n* [CPQi (Exadel Financial Services)](https://cpqi.com/)\n* [CloudZero](https://www.cloudzero.com/)\n* [CyberArk](https://www.cyberark.com/)\n* [Flyweight](https://flyweight.io/)\n* [globaldatanet](https://globaldatanet.com/)\n* [IMS](https://ims.tech/)\n* [Jit Security](https://www.jit.io/)\n* [LocalStack](https://www.localstack.cloud/)\n* [Propellor.ai](https://www.propellor.ai/)\n* [Pushpay](https://pushpay.com/)\n* [Recast](https://getrecast.com/)\n* [TopSport](https://www.topsport.com.au/)\n* [Transformity](https://transformity.tech/)\n* [Trek10](https://www.trek10.com/)\n* [Vertex Pharmaceuticals](https://www.vrtx.com/)\n\n### Sharing your work\n\nShare what you did with Powertools for AWS Lambda (Python) 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (Python) [here](https://docs.powertools.aws.dev/lambda/python/latest/we_made_this/).\n\n### Using Lambda Layer or SAR\n\nThis helps us understand who uses Powertools for AWS Lambda (Python) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/python/latest/#lambda-layer), you can add Powertools for AWS Lambda (Python) as a dev dependency (or as part of your virtual env) to not impact the development process.\n\n## Credits\n\n* Structured logging initial implementation from [aws-lambda-logging](https://gitlab.com/hadrien/aws_lambda_logging)\n* Powertools for AWS Lambda (Python) idea [DAZN Powertools](https://github.com/getndazn/dazn-lambda-powertools/)\n\n## Connect\n\n* **Powertools for AWS Lambda on Discord**: `#python` - **[Invite link](https://discord.gg/B8zZKbbyET)**\n* **Email**: <aws-powertools-maintainers@amazon.com>\n\n## Security disclosures\n\nIf you think you’ve found a potential security issue, please do not post it in the Issues. Instead, please follow the instructions [here](https://aws.amazon.com/security/vulnerability-reporting/) or [email AWS security directly](mailto:aws-security@amazon.com).\n\n## License\n\nThis library is licensed under the MIT-0 License. See the LICENSE file.\n',
71
71
  'author': 'Amazon Web Services',
@@ -1,9 +0,0 @@
1
- from __future__ import annotations
2
-
3
- is_cold_start = True
4
-
5
-
6
- def reset_cold_start_flag():
7
- global is_cold_start
8
- if not is_cold_start:
9
- is_cold_start = True