aws-lambda-powertools 3.10.1a4__py3-none-any.whl → 3.10.1a6__py3-none-any.whl

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 (47) hide show
  1. aws_lambda_powertools/event_handler/exceptions.py +33 -5
  2. aws_lambda_powertools/logging/buffer/functions.py +2 -1
  3. aws_lambda_powertools/logging/formatter.py +11 -6
  4. aws_lambda_powertools/logging/formatters/datadog.py +3 -1
  5. aws_lambda_powertools/logging/logger.py +3 -1
  6. aws_lambda_powertools/logging/utils.py +3 -1
  7. aws_lambda_powertools/metrics/base.py +3 -1
  8. aws_lambda_powertools/metrics/metrics.py +3 -1
  9. aws_lambda_powertools/middleware_factory/__init__.py +1 -1
  10. aws_lambda_powertools/middleware_factory/factory.py +4 -1
  11. aws_lambda_powertools/shared/dynamodb_deserializer.py +4 -1
  12. aws_lambda_powertools/shared/functions.py +4 -1
  13. aws_lambda_powertools/shared/types.py +3 -2
  14. aws_lambda_powertools/shared/version.py +1 -1
  15. aws_lambda_powertools/tracing/base.py +2 -1
  16. aws_lambda_powertools/tracing/tracer.py +2 -1
  17. aws_lambda_powertools/utilities/batch/base.py +3 -1
  18. aws_lambda_powertools/utilities/batch/decorators.py +3 -1
  19. aws_lambda_powertools/utilities/data_classes/active_mq_event.py +4 -1
  20. aws_lambda_powertools/utilities/data_classes/common.py +4 -1
  21. aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py +4 -1
  22. aws_lambda_powertools/utilities/data_classes/event_source.py +3 -1
  23. aws_lambda_powertools/utilities/data_classes/kafka_event.py +4 -1
  24. aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py +3 -1
  25. aws_lambda_powertools/utilities/data_classes/kinesis_stream_event.py +4 -1
  26. aws_lambda_powertools/utilities/data_classes/s3_batch_operation_event.py +4 -1
  27. aws_lambda_powertools/utilities/data_classes/s3_event.py +4 -1
  28. aws_lambda_powertools/utilities/data_classes/ses_event.py +4 -1
  29. aws_lambda_powertools/utilities/data_classes/sns_event.py +4 -1
  30. aws_lambda_powertools/utilities/data_classes/sqs_event.py +5 -2
  31. aws_lambda_powertools/utilities/data_masking/base.py +2 -1
  32. aws_lambda_powertools/utilities/data_masking/provider/base.py +7 -2
  33. aws_lambda_powertools/utilities/data_masking/provider/kms/aws_encryption_sdk.py +7 -2
  34. aws_lambda_powertools/utilities/feature_flags/feature_flags.py +4 -2
  35. aws_lambda_powertools/utilities/idempotency/base.py +3 -1
  36. aws_lambda_powertools/utilities/idempotency/idempotency.py +3 -1
  37. aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py +4 -1
  38. aws_lambda_powertools/utilities/parameters/base.py +2 -1
  39. aws_lambda_powertools/utilities/serialization.py +2 -1
  40. aws_lambda_powertools/utilities/streaming/_s3_seekable_io.py +2 -1
  41. aws_lambda_powertools/utilities/streaming/s3_object.py +3 -1
  42. aws_lambda_powertools/utilities/validation/base.py +1 -1
  43. aws_lambda_powertools/utilities/validation/validator.py +4 -1
  44. {aws_lambda_powertools-3.10.1a4.dist-info → aws_lambda_powertools-3.10.1a6.dist-info}/METADATA +1 -1
  45. {aws_lambda_powertools-3.10.1a4.dist-info → aws_lambda_powertools-3.10.1a6.dist-info}/RECORD +47 -47
  46. {aws_lambda_powertools-3.10.1a4.dist-info → aws_lambda_powertools-3.10.1a6.dist-info}/LICENSE +0 -0
  47. {aws_lambda_powertools-3.10.1a4.dist-info → aws_lambda_powertools-3.10.1a6.dist-info}/WHEEL +0 -0
@@ -2,7 +2,7 @@ from http import HTTPStatus
2
2
 
3
3
 
4
4
  class ServiceError(Exception):
5
- """API Gateway and ALB HTTP Service Error"""
5
+ """Powertools class HTTP Service Error"""
6
6
 
7
7
  def __init__(self, status_code: int, msg: str):
8
8
  """
@@ -18,28 +18,56 @@ class ServiceError(Exception):
18
18
 
19
19
 
20
20
  class BadRequestError(ServiceError):
21
- """API Gateway and ALB Bad Request Error (400)"""
21
+ """Powertools class Bad Request Error (400)"""
22
22
 
23
23
  def __init__(self, msg: str):
24
24
  super().__init__(HTTPStatus.BAD_REQUEST, msg)
25
25
 
26
26
 
27
27
  class UnauthorizedError(ServiceError):
28
- """API Gateway and ALB Unauthorized Error (401)"""
28
+ """Powertools class Unauthorized Error (401)"""
29
29
 
30
30
  def __init__(self, msg: str):
31
31
  super().__init__(HTTPStatus.UNAUTHORIZED, msg)
32
32
 
33
33
 
34
+ class ForbiddenError(ServiceError):
35
+ """Powertools class Forbidden Error (403)"""
36
+
37
+ def __init__(self, msg: str):
38
+ super().__init__(HTTPStatus.FORBIDDEN, msg)
39
+
40
+
34
41
  class NotFoundError(ServiceError):
35
- """API Gateway and ALB Not Found Error (404)"""
42
+ """Powertools class Not Found Error (404)"""
36
43
 
37
44
  def __init__(self, msg: str = "Not found"):
38
45
  super().__init__(HTTPStatus.NOT_FOUND, msg)
39
46
 
40
47
 
48
+ class RequestTimeoutError(ServiceError):
49
+ """Powertools class Request Timeout Error (408)"""
50
+
51
+ def __init__(self, msg: str):
52
+ super().__init__(HTTPStatus.REQUEST_TIMEOUT, msg)
53
+
54
+
55
+ class RequestEntityTooLargeError(ServiceError):
56
+ """Powertools class Request Entity Too Large Error (413)"""
57
+
58
+ def __init__(self, msg: str):
59
+ super().__init__(HTTPStatus.REQUEST_ENTITY_TOO_LARGE, msg)
60
+
61
+
41
62
  class InternalServerError(ServiceError):
42
- """API Gateway and ALB Internal Server Error (500)"""
63
+ """Powertools class Internal Server Error (500)"""
43
64
 
44
65
  def __init__(self, message: str):
45
66
  super().__init__(HTTPStatus.INTERNAL_SERVER_ERROR, message)
67
+
68
+
69
+ class ServiceUnavailableError(ServiceError):
70
+ """Powertools class Service Unavailable Error (503)"""
71
+
72
+ def __init__(self, msg: str):
73
+ super().__init__(HTTPStatus.SERVICE_UNAVAILABLE, msg)
@@ -2,10 +2,11 @@ from __future__ import annotations
2
2
 
3
3
  import sys
4
4
  import time
5
- from typing import TYPE_CHECKING, Any, Mapping
5
+ from typing import TYPE_CHECKING, Any
6
6
 
7
7
  if TYPE_CHECKING:
8
8
  import logging
9
+ from collections.abc import Mapping
9
10
 
10
11
 
11
12
  def _create_buffer_record(
@@ -11,12 +11,14 @@ from contextlib import contextmanager
11
11
  from contextvars import ContextVar
12
12
  from datetime import datetime, timezone
13
13
  from functools import partial
14
- from typing import TYPE_CHECKING, Any, Callable, Generator, Iterable
14
+ from typing import TYPE_CHECKING, Any
15
15
 
16
16
  from aws_lambda_powertools.shared import constants
17
17
  from aws_lambda_powertools.shared.functions import powertools_dev_is_set
18
18
 
19
19
  if TYPE_CHECKING:
20
+ from collections.abc import Callable, Generator, Iterable
21
+
20
22
  from aws_lambda_powertools.logging.types import LogRecord, LogStackTrace
21
23
 
22
24
  RESERVED_LOG_ATTRS = (
@@ -68,7 +70,7 @@ class BasePowertoolsFormatter(logging.Formatter, metaclass=ABCMeta):
68
70
  yield
69
71
 
70
72
  # These specific thread-safe methods are necessary to manage shared context in concurrent environments.
71
- # They prevent race conditions and ensure data consistency across multiple threads.
73
+ # They prevent race conditions and ensure data consistency across multiple threads and logger.
72
74
  def thread_safe_append_keys(self, **additional_keys) -> None:
73
75
  raise NotImplementedError()
74
76
 
@@ -194,9 +196,10 @@ class LambdaPowertoolsFormatter(BasePowertoolsFormatter):
194
196
 
195
197
  # exception and exception_name fields can be added as extra key
196
198
  # in any log level, we try to extract and use them first
197
- extracted_exception, extracted_exception_name = self._extract_log_exception(log_record=record)
199
+ extracted_exception, extracted_exception_name, exception_notes = self._extract_log_exception(log_record=record)
198
200
  formatted_log["exception"] = formatted_log.get("exception", extracted_exception)
199
201
  formatted_log["exception_name"] = formatted_log.get("exception_name", extracted_exception_name)
202
+ formatted_log["exception_notes"] = formatted_log.get("exception_notes", exception_notes)
200
203
  if self.serialize_stacktrace:
201
204
  # Generate the traceback from the traceback library
202
205
  formatted_log["stack_trace"] = self._serialize_stacktrace(log_record=record)
@@ -380,7 +383,7 @@ class LambdaPowertoolsFormatter(BasePowertoolsFormatter):
380
383
 
381
384
  return None
382
385
 
383
- def _extract_log_exception(self, log_record: logging.LogRecord) -> tuple[str, str] | tuple[None, None]:
386
+ def _extract_log_exception(self, log_record: logging.LogRecord) -> tuple[str, str, list] | tuple[None, None, None]:
384
387
  """Format traceback information, if available
385
388
 
386
389
  Parameters
@@ -393,10 +396,12 @@ class LambdaPowertoolsFormatter(BasePowertoolsFormatter):
393
396
  log_record: tuple[str, str] | tuple[None, None]
394
397
  Log record with constant traceback info and exception name
395
398
  """
399
+
396
400
  if isinstance(log_record.exc_info, tuple) and hasattr(log_record.exc_info[0], "__name__"):
397
- return self.formatException(log_record.exc_info), log_record.exc_info[0].__name__ # type: ignore
401
+ exception_notes = getattr(log_record.exc_info[1], "__notes__", None)
402
+ return self.formatException(log_record.exc_info), log_record.exc_info[0].__name__, exception_notes # type: ignore
398
403
 
399
- return None, None
404
+ return None, None, None
400
405
 
401
406
  def _extract_log_keys(self, log_record: logging.LogRecord) -> dict[str, Any]:
402
407
  """Extract and parse custom and reserved log keys
@@ -1,10 +1,12 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import TYPE_CHECKING, Any, Callable
3
+ from typing import TYPE_CHECKING, Any
4
4
 
5
5
  from aws_lambda_powertools.logging.formatter import LambdaPowertoolsFormatter
6
6
 
7
7
  if TYPE_CHECKING:
8
+ from collections.abc import Callable
9
+
8
10
  from aws_lambda_powertools.logging.types import LogRecord
9
11
 
10
12
 
@@ -14,7 +14,7 @@ import random
14
14
  import sys
15
15
  import warnings
16
16
  from contextlib import contextmanager
17
- from typing import IO, TYPE_CHECKING, Any, Callable, Generator, Iterable, Mapping, TypeVar, cast, overload
17
+ from typing import IO, TYPE_CHECKING, Any, TypeVar, cast, overload
18
18
 
19
19
  from aws_lambda_powertools.logging.buffer.cache import LoggerBufferCache
20
20
  from aws_lambda_powertools.logging.buffer.functions import _check_minimum_buffer_log_level, _create_buffer_record
@@ -45,6 +45,8 @@ from aws_lambda_powertools.utilities import jmespath_utils
45
45
  from aws_lambda_powertools.warnings import PowertoolsUserWarning
46
46
 
47
47
  if TYPE_CHECKING:
48
+ from collections.abc import Callable, Generator, Iterable, Mapping
49
+
48
50
  from aws_lambda_powertools.logging.buffer.config import LoggerBufferConfig
49
51
  from aws_lambda_powertools.shared.types import AnyCallableT
50
52
 
@@ -1,9 +1,11 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import logging
4
- from typing import TYPE_CHECKING, Callable
4
+ from typing import TYPE_CHECKING
5
5
 
6
6
  if TYPE_CHECKING:
7
+ from collections.abc import Callable
8
+
7
9
  from aws_lambda_powertools.logging.logger import Logger
8
10
 
9
11
  PACKAGE_LOGGER = "aws_lambda_powertools"
@@ -15,7 +15,7 @@ import os
15
15
  import warnings
16
16
  from collections import defaultdict
17
17
  from contextlib import contextmanager
18
- from typing import TYPE_CHECKING, Any, Callable, Generator
18
+ from typing import TYPE_CHECKING, Any
19
19
 
20
20
  from aws_lambda_powertools.metrics.exceptions import (
21
21
  MetricResolutionError,
@@ -34,6 +34,8 @@ from aws_lambda_powertools.shared import constants
34
34
  from aws_lambda_powertools.shared.functions import resolve_env_var_choice
35
35
 
36
36
  if TYPE_CHECKING:
37
+ from collections.abc import Callable, Generator
38
+
37
39
  from aws_lambda_powertools.metrics.types import MetricNameUnitResolution
38
40
 
39
41
  logger = logging.getLogger(__name__)
@@ -1,11 +1,13 @@
1
1
  # NOTE: keeps for compatibility
2
2
  from __future__ import annotations
3
3
 
4
- from typing import TYPE_CHECKING, Any, Callable
4
+ from typing import TYPE_CHECKING, Any
5
5
 
6
6
  from aws_lambda_powertools.metrics.provider.cloudwatch_emf.cloudwatch import AmazonCloudWatchEMFProvider
7
7
 
8
8
  if TYPE_CHECKING:
9
+ from collections.abc import Callable
10
+
9
11
  from aws_lambda_powertools.metrics.base import MetricResolution, MetricUnit
10
12
  from aws_lambda_powertools.metrics.provider.cloudwatch_emf.types import CloudWatchEMFOutput
11
13
  from aws_lambda_powertools.shared.types import AnyCallableT
@@ -3,6 +3,6 @@
3
3
  [`Middleware Factory`](../utilities/middleware_factory.md)
4
4
  """
5
5
 
6
- from .factory import lambda_handler_decorator
6
+ from aws_lambda_powertools.middleware_factory.factory import lambda_handler_decorator
7
7
 
8
8
  __all__ = ["lambda_handler_decorator"]
@@ -4,7 +4,7 @@ import functools
4
4
  import inspect
5
5
  import logging
6
6
  import os
7
- from typing import Any, Callable
7
+ from typing import TYPE_CHECKING, Any
8
8
 
9
9
  from aws_lambda_powertools.middleware_factory.exceptions import MiddlewareInvalidArgumentError
10
10
  from aws_lambda_powertools.shared import constants
@@ -13,6 +13,9 @@ from aws_lambda_powertools.tracing import Tracer
13
13
 
14
14
  logger = logging.getLogger(__name__)
15
15
 
16
+ if TYPE_CHECKING:
17
+ from collections.abc import Callable
18
+
16
19
 
17
20
  # Maintenance: we can't yet provide an accurate return type without ParamSpec etc. see #1066
18
21
  def lambda_handler_decorator(decorator: Callable | None = None, trace_execution: bool | None = None) -> Callable:
@@ -1,7 +1,10 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from decimal import Clamped, Context, Decimal, Inexact, Overflow, Rounded, Underflow
4
- from typing import Any, Callable, Sequence
4
+ from typing import TYPE_CHECKING, Any
5
+
6
+ if TYPE_CHECKING:
7
+ from collections.abc import Callable, Sequence
5
8
 
6
9
  # NOTE: DynamoDB supports up to 38 digits precision
7
10
  # Therefore, this ensures our Decimal follows what's stored in the table
@@ -8,10 +8,13 @@ import re
8
8
  import warnings
9
9
  from binascii import Error as BinAsciiError
10
10
  from pathlib import Path
11
- from typing import Any, Generator, overload
11
+ from typing import TYPE_CHECKING, Any, overload
12
12
 
13
13
  from aws_lambda_powertools.shared import constants
14
14
 
15
+ if TYPE_CHECKING:
16
+ from collections.abc import Generator
17
+
15
18
  logger = logging.getLogger(__name__)
16
19
 
17
20
 
@@ -1,3 +1,4 @@
1
- from typing import Any, Callable, TypeVar
1
+ from collections.abc import Callable
2
+ from typing import Any, TypeVar
2
3
 
3
- AnyCallableT = TypeVar("AnyCallableT", bound=Callable[..., Any]) # noqa: VNE001
4
+ AnyCallableT = TypeVar("AnyCallableT", bound=Callable[..., Any])
@@ -1,3 +1,3 @@
1
1
  """Exposes version constant to avoid circular dependencies."""
2
2
 
3
- VERSION = "3.10.1a4"
3
+ VERSION = "3.10.1a6"
@@ -8,11 +8,12 @@ from __future__ import annotations
8
8
 
9
9
  import abc
10
10
  from contextlib import contextmanager
11
- from typing import TYPE_CHECKING, Any, Generator, Sequence
11
+ from typing import TYPE_CHECKING, Any
12
12
 
13
13
  if TYPE_CHECKING:
14
14
  import numbers
15
15
  import traceback
16
+ from collections.abc import Generator, Sequence
16
17
 
17
18
 
18
19
  class BaseSegment(abc.ABC):
@@ -6,7 +6,7 @@ import functools
6
6
  import inspect
7
7
  import logging
8
8
  import os
9
- from typing import TYPE_CHECKING, Any, Callable, Sequence, TypeVar, cast, overload
9
+ from typing import TYPE_CHECKING, Any, TypeVar, cast, overload
10
10
 
11
11
  from aws_lambda_powertools.shared import constants
12
12
  from aws_lambda_powertools.shared.functions import (
@@ -19,6 +19,7 @@ from aws_lambda_powertools.shared.types import AnyCallableT
19
19
 
20
20
  if TYPE_CHECKING:
21
21
  import numbers
22
+ from collections.abc import Callable, Sequence
22
23
 
23
24
  from aws_lambda_powertools.tracing.base import BaseProvider, BaseSegment
24
25
 
@@ -14,7 +14,7 @@ import os
14
14
  import sys
15
15
  from abc import ABC, abstractmethod
16
16
  from enum import Enum
17
- from typing import TYPE_CHECKING, Any, Callable, Tuple, Union, overload
17
+ from typing import TYPE_CHECKING, Any, Tuple, Union, overload
18
18
 
19
19
  from aws_lambda_powertools.shared import constants
20
20
  from aws_lambda_powertools.utilities.batch.exceptions import (
@@ -31,6 +31,8 @@ from aws_lambda_powertools.utilities.data_classes.kinesis_stream_event import (
31
31
  from aws_lambda_powertools.utilities.data_classes.sqs_event import SQSRecord
32
32
 
33
33
  if TYPE_CHECKING:
34
+ from collections.abc import Callable
35
+
34
36
  from aws_lambda_powertools.utilities.batch.types import (
35
37
  PartialItemFailureResponse,
36
38
  PartialItemFailures,
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import warnings
4
- from typing import TYPE_CHECKING, Any, Awaitable, Callable
4
+ from typing import TYPE_CHECKING, Any
5
5
 
6
6
  from typing_extensions import deprecated
7
7
 
@@ -16,6 +16,8 @@ from aws_lambda_powertools.utilities.batch.exceptions import UnexpectedBatchType
16
16
  from aws_lambda_powertools.warnings import PowertoolsDeprecationWarning
17
17
 
18
18
  if TYPE_CHECKING:
19
+ from collections.abc import Awaitable, Callable
20
+
19
21
  from aws_lambda_powertools.utilities.batch.types import PartialItemFailureResponse
20
22
  from aws_lambda_powertools.utilities.typing import LambdaContext
21
23
 
@@ -1,11 +1,14 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from functools import cached_property
4
- from typing import Any, Iterator
4
+ from typing import TYPE_CHECKING, Any
5
5
 
6
6
  from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
7
7
  from aws_lambda_powertools.utilities.data_classes.shared_functions import base64_decode
8
8
 
9
+ if TYPE_CHECKING:
10
+ from collections.abc import Iterator
11
+
9
12
 
10
13
  class ActiveMQMessage(DictWrapper):
11
14
  @property
@@ -9,14 +9,17 @@ from __future__ import annotations
9
9
  import base64
10
10
  import json
11
11
  import warnings
12
+ from collections.abc import Mapping
12
13
  from functools import cached_property
13
- from typing import TYPE_CHECKING, Any, Callable, Iterator, Mapping, overload
14
+ from typing import TYPE_CHECKING, Any, overload
14
15
 
15
16
  from typing_extensions import deprecated
16
17
 
17
18
  from aws_lambda_powertools.warnings import PowertoolsDeprecationWarning
18
19
 
19
20
  if TYPE_CHECKING:
21
+ from collections.abc import Callable, Iterator
22
+
20
23
  from aws_lambda_powertools.shared.headers_serializer import BaseHeadersSerializer
21
24
 
22
25
  from aws_lambda_powertools.utilities.data_classes.shared_functions import (
@@ -2,11 +2,14 @@ from __future__ import annotations
2
2
 
3
3
  from enum import Enum
4
4
  from functools import cached_property
5
- from typing import Any, Iterator
5
+ from typing import TYPE_CHECKING, Any
6
6
 
7
7
  from aws_lambda_powertools.shared.dynamodb_deserializer import TypeDeserializer
8
8
  from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
9
9
 
10
+ if TYPE_CHECKING:
11
+ from collections.abc import Iterator
12
+
10
13
 
11
14
  class StreamViewType(Enum):
12
15
  """The type of data from the modified DynamoDB item that was captured in this stream record"""
@@ -1,10 +1,12 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import TYPE_CHECKING, Any, Callable
3
+ from typing import TYPE_CHECKING, Any
4
4
 
5
5
  from aws_lambda_powertools.middleware_factory import lambda_handler_decorator
6
6
 
7
7
  if TYPE_CHECKING:
8
+ from collections.abc import Callable
9
+
8
10
  from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
9
11
  from aws_lambda_powertools.utilities.typing import LambdaContext
10
12
 
@@ -2,10 +2,13 @@ from __future__ import annotations
2
2
 
3
3
  import base64
4
4
  from functools import cached_property
5
- from typing import Any, Iterator
5
+ from typing import TYPE_CHECKING, Any
6
6
 
7
7
  from aws_lambda_powertools.utilities.data_classes.common import CaseInsensitiveDict, DictWrapper
8
8
 
9
+ if TYPE_CHECKING:
10
+ from collections.abc import Iterator
11
+
9
12
 
10
13
  class KafkaEventRecord(DictWrapper):
11
14
  @property
@@ -5,11 +5,13 @@ import json
5
5
  import warnings
6
6
  from dataclasses import dataclass, field
7
7
  from functools import cached_property
8
- from typing import TYPE_CHECKING, Any, Callable, ClassVar, Iterator
8
+ from typing import TYPE_CHECKING, Any, ClassVar
9
9
 
10
10
  from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
11
11
 
12
12
  if TYPE_CHECKING:
13
+ from collections.abc import Callable, Iterator
14
+
13
15
  from typing_extensions import Literal
14
16
 
15
17
 
@@ -3,13 +3,16 @@ from __future__ import annotations
3
3
  import base64
4
4
  import json
5
5
  import zlib
6
- from typing import Iterator
6
+ from typing import TYPE_CHECKING
7
7
 
8
8
  from aws_lambda_powertools.utilities.data_classes.cloud_watch_logs_event import (
9
9
  CloudWatchLogsDecodedData,
10
10
  )
11
11
  from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
12
12
 
13
+ if TYPE_CHECKING:
14
+ from collections.abc import Iterator
15
+
13
16
 
14
17
  class KinesisStreamRecordPayload(DictWrapper):
15
18
  @property
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import warnings
4
4
  from dataclasses import dataclass, field
5
- from typing import Any, Iterator, Literal
5
+ from typing import TYPE_CHECKING, Any, Literal
6
6
  from urllib.parse import unquote_plus
7
7
 
8
8
  from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
@@ -11,6 +11,9 @@ from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
11
11
  VALID_RESULT_CODES: tuple[str, str, str] = ("Succeeded", "TemporaryFailure", "PermanentFailure")
12
12
  RESULT_CODE_TYPE = Literal["Succeeded", "TemporaryFailure", "PermanentFailure"]
13
13
 
14
+ if TYPE_CHECKING:
15
+ from collections.abc import Iterator
16
+
14
17
 
15
18
  @dataclass(repr=False, order=False)
16
19
  class S3BatchOperationResponseRecord:
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import Iterator
3
+ from typing import TYPE_CHECKING
4
4
  from urllib.parse import unquote_plus
5
5
 
6
6
  from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
@@ -8,6 +8,9 @@ from aws_lambda_powertools.utilities.data_classes.event_bridge_event import (
8
8
  EventBridgeEvent,
9
9
  )
10
10
 
11
+ if TYPE_CHECKING:
12
+ from collections.abc import Iterator
13
+
11
14
 
12
15
  class S3Identity(DictWrapper):
13
16
  @property
@@ -1,9 +1,12 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import Iterator
3
+ from typing import TYPE_CHECKING
4
4
 
5
5
  from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
6
6
 
7
+ if TYPE_CHECKING:
8
+ from collections.abc import Iterator
9
+
7
10
 
8
11
  class SESMailHeader(DictWrapper):
9
12
  @property
@@ -1,9 +1,12 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import Iterator
3
+ from typing import TYPE_CHECKING
4
4
 
5
5
  from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
6
6
 
7
+ if TYPE_CHECKING:
8
+ from collections.abc import Iterator
9
+
7
10
 
8
11
  class SNSMessageAttribute(DictWrapper):
9
12
  @property
@@ -1,12 +1,15 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from functools import cached_property
4
- from typing import Any, Dict, ItemsView, Iterator, TypeVar
4
+ from typing import TYPE_CHECKING, Any, ItemsView, Iterator, TypeVar
5
5
 
6
6
  from aws_lambda_powertools.utilities.data_classes import S3Event
7
7
  from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
8
8
  from aws_lambda_powertools.utilities.data_classes.sns_event import SNSMessage
9
9
 
10
+ if TYPE_CHECKING:
11
+ from collections.abc import Iterator
12
+
10
13
 
11
14
  class SQSRecordAttributes(DictWrapper):
12
15
  @property
@@ -86,7 +89,7 @@ class SQSMessageAttribute(DictWrapper):
86
89
  return self["dataType"]
87
90
 
88
91
 
89
- class SQSMessageAttributes(Dict[str, SQSMessageAttribute]):
92
+ class SQSMessageAttributes(dict[str, SQSMessageAttribute]):
90
93
  def __getitem__(self, key: str) -> SQSMessageAttribute | None: # type: ignore
91
94
  item = super().get(key)
92
95
  return None if item is None else SQSMessageAttribute(item) # type: ignore
@@ -11,7 +11,7 @@ import functools
11
11
  import logging
12
12
  import warnings
13
13
  from copy import deepcopy
14
- from typing import TYPE_CHECKING, Any, Callable, Mapping, Sequence
14
+ from typing import TYPE_CHECKING, Any
15
15
 
16
16
  from jsonpath_ng.ext import parse
17
17
 
@@ -23,6 +23,7 @@ from aws_lambda_powertools.utilities.data_masking.provider import BaseProvider
23
23
  from aws_lambda_powertools.warnings import PowertoolsUserWarning
24
24
 
25
25
  if TYPE_CHECKING:
26
+ from collections.abc import Callable, Mapping, Sequence
26
27
  from numbers import Number
27
28
 
28
29
  logger = logging.getLogger(__name__)
@@ -3,13 +3,18 @@ from __future__ import annotations
3
3
  import functools
4
4
  import json
5
5
  import re
6
- from typing import Any, Callable
6
+ from typing import TYPE_CHECKING, Any
7
7
 
8
8
  from aws_lambda_powertools.utilities.data_masking.constants import DATA_MASKING_STRING
9
9
 
10
+ if TYPE_CHECKING:
11
+ from collections.abc import Callable
12
+
10
13
  PRESERVE_CHARS = set("-_. ")
11
14
  _regex_cache = {}
12
15
 
16
+ JSON_DUMPS_CALL = functools.partial(json.dumps, ensure_ascii=False)
17
+
13
18
 
14
19
  class BaseProvider:
15
20
  """
@@ -49,7 +54,7 @@ class BaseProvider:
49
54
 
50
55
  def __init__(
51
56
  self,
52
- json_serializer: Callable[..., str] = functools.partial(json.dumps, ensure_ascii=False),
57
+ json_serializer: Callable[..., str] = JSON_DUMPS_CALL,
53
58
  json_deserializer: Callable[[str], Any] = json.loads,
54
59
  ) -> None:
55
60
  self.json_serializer = json_serializer
@@ -4,7 +4,7 @@ import functools
4
4
  import json
5
5
  import logging
6
6
  from binascii import Error
7
- from typing import Any, Callable
7
+ from typing import TYPE_CHECKING, Any
8
8
 
9
9
  import botocore
10
10
  from aws_encryption_sdk import (
@@ -41,8 +41,13 @@ from aws_lambda_powertools.utilities.data_masking.exceptions import (
41
41
  )
42
42
  from aws_lambda_powertools.utilities.data_masking.provider import BaseProvider
43
43
 
44
+ if TYPE_CHECKING:
45
+ from collections.abc import Callable
46
+
44
47
  logger = logging.getLogger(__name__)
45
48
 
49
+ JSON_DUMPS_CALL = functools.partial(json.dumps, ensure_ascii=False)
50
+
46
51
 
47
52
  class AWSEncryptionSDKProvider(BaseProvider):
48
53
  """
@@ -81,7 +86,7 @@ class AWSEncryptionSDKProvider(BaseProvider):
81
86
  max_cache_age_seconds: float = MAX_CACHE_AGE_SECONDS,
82
87
  max_messages_encrypted: int = MAX_MESSAGES_ENCRYPTED,
83
88
  max_bytes_encrypted: int = MAX_BYTES_ENCRYPTED,
84
- json_serializer: Callable[..., str] = functools.partial(json.dumps, ensure_ascii=False),
89
+ json_serializer: Callable[..., str] = JSON_DUMPS_CALL,
85
90
  json_deserializer: Callable[[str], Any] = json.loads,
86
91
  ):
87
92
  super().__init__(json_serializer=json_serializer, json_deserializer=json_deserializer)
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import logging
4
- from typing import TYPE_CHECKING, Any, Callable, List, cast
4
+ from typing import TYPE_CHECKING, Any, cast
5
5
 
6
6
  from aws_lambda_powertools.utilities.feature_flags import schema
7
7
  from aws_lambda_powertools.utilities.feature_flags.comparators import (
@@ -16,6 +16,8 @@ from aws_lambda_powertools.utilities.feature_flags.comparators import (
16
16
  from aws_lambda_powertools.utilities.feature_flags.exceptions import ConfigurationStoreError
17
17
 
18
18
  if TYPE_CHECKING:
19
+ from collections.abc import Callable
20
+
19
21
  from aws_lambda_powertools.logging import Logger
20
22
  from aws_lambda_powertools.utilities.feature_flags.base import StoreProvider
21
23
  from aws_lambda_powertools.utilities.feature_flags.types import JSONType, P, T
@@ -103,7 +105,7 @@ class FeatureFlags:
103
105
  ) -> bool:
104
106
  """Evaluates whether context matches conditions, return False otherwise"""
105
107
  rule_match_value = rule.get(schema.RULE_MATCH_VALUE)
106
- conditions = cast(List[dict], rule.get(schema.CONDITIONS_KEY))
108
+ conditions = cast(list[dict], rule.get(schema.CONDITIONS_KEY))
107
109
 
108
110
  if not conditions:
109
111
  self.logger.debug(
@@ -9,7 +9,7 @@ from __future__ import annotations
9
9
  import datetime
10
10
  import logging
11
11
  from copy import deepcopy
12
- from typing import TYPE_CHECKING, Any, Callable
12
+ from typing import TYPE_CHECKING, Any
13
13
 
14
14
  from aws_lambda_powertools.utilities.idempotency.exceptions import (
15
15
  IdempotencyAlreadyInProgressError,
@@ -29,6 +29,8 @@ from aws_lambda_powertools.utilities.idempotency.serialization.no_op import (
29
29
  )
30
30
 
31
31
  if TYPE_CHECKING:
32
+ from collections.abc import Callable
33
+
32
34
  from aws_lambda_powertools.utilities.idempotency.config import (
33
35
  IdempotencyConfig,
34
36
  )
@@ -9,7 +9,7 @@ import logging
9
9
  import os
10
10
  import warnings
11
11
  from inspect import isclass
12
- from typing import TYPE_CHECKING, Any, Callable, cast
12
+ from typing import TYPE_CHECKING, Any, cast
13
13
 
14
14
  from aws_lambda_powertools.middleware_factory import lambda_handler_decorator
15
15
  from aws_lambda_powertools.shared import constants
@@ -23,6 +23,8 @@ from aws_lambda_powertools.utilities.idempotency.serialization.base import (
23
23
  )
24
24
 
25
25
  if TYPE_CHECKING:
26
+ from collections.abc import Callable
27
+
26
28
  from aws_lambda_powertools.utilities.idempotency.persistence.base import (
27
29
  BasePersistenceLayer,
28
30
  )
@@ -1,9 +1,12 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import Any, Callable
3
+ from typing import TYPE_CHECKING, Any
4
4
 
5
5
  from aws_lambda_powertools.utilities.idempotency.serialization.base import BaseIdempotencySerializer
6
6
 
7
+ if TYPE_CHECKING:
8
+ from collections.abc import Callable
9
+
7
10
 
8
11
  class CustomDictSerializer(BaseIdempotencySerializer):
9
12
  def __init__(self, to_dict: Callable[[Any], dict], from_dict: Callable[[dict], Any]):
@@ -8,8 +8,9 @@ from __future__ import annotations
8
8
 
9
9
  import os
10
10
  from abc import ABC, abstractmethod
11
+ from collections.abc import Callable
11
12
  from datetime import datetime, timedelta
12
- from typing import TYPE_CHECKING, Any, Callable, NamedTuple, cast, overload
13
+ from typing import TYPE_CHECKING, Any, NamedTuple, cast, overload
13
14
 
14
15
  from aws_lambda_powertools.shared import constants, user_agent
15
16
  from aws_lambda_powertools.shared.functions import resolve_max_age
@@ -2,7 +2,8 @@
2
2
 
3
3
  import base64
4
4
  import json
5
- from typing import Any, Callable
5
+ from collections.abc import Callable
6
+ from typing import Any
6
7
 
7
8
 
8
9
  def base64_encode(data: str) -> str:
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import io
4
4
  import logging
5
- from typing import IO, TYPE_CHECKING, Any, Iterable, Sequence, TypeVar, cast
5
+ from typing import IO, TYPE_CHECKING, Any, TypeVar, cast
6
6
 
7
7
  import boto3
8
8
 
@@ -11,6 +11,7 @@ from aws_lambda_powertools.utilities.streaming.compat import PowertoolsStreaming
11
11
  from aws_lambda_powertools.utilities.streaming.constants import MESSAGE_STREAM_NOT_WRITABLE
12
12
 
13
13
  if TYPE_CHECKING:
14
+ from collections.abc import Iterable, Sequence
14
15
  from mmap import mmap
15
16
 
16
17
  from mypy_boto3_s3.client import S3Client
@@ -1,7 +1,8 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import io
4
- from typing import IO, TYPE_CHECKING, Any, Iterable, Literal, Sequence, TypeVar, cast, overload
4
+ from collections.abc import Sequence
5
+ from typing import IO, TYPE_CHECKING, Any, Literal, TypeVar, cast, overload
5
6
 
6
7
  from aws_lambda_powertools.utilities.streaming._s3_seekable_io import _S3SeekableIO
7
8
  from aws_lambda_powertools.utilities.streaming.constants import MESSAGE_STREAM_NOT_WRITABLE
@@ -12,6 +13,7 @@ from aws_lambda_powertools.utilities.streaming.transformations import (
12
13
  from aws_lambda_powertools.utilities.streaming.types import T
13
14
 
14
15
  if TYPE_CHECKING:
16
+ from collections.abc import Iterable
15
17
  from mmap import mmap
16
18
 
17
19
  from mypy_boto3_s3.client import S3Client
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import logging
4
4
 
5
- import fastjsonschema # type: ignore
5
+ import fastjsonschema
6
6
 
7
7
  from aws_lambda_powertools.utilities.validation.exceptions import InvalidSchemaFormatError, SchemaValidationError
8
8
 
@@ -1,12 +1,15 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import logging
4
- from typing import Any, Callable
4
+ from typing import TYPE_CHECKING, Any
5
5
 
6
6
  from aws_lambda_powertools.middleware_factory import lambda_handler_decorator
7
7
  from aws_lambda_powertools.utilities import jmespath_utils
8
8
  from aws_lambda_powertools.utilities.validation.base import validate_data_against_schema
9
9
 
10
+ if TYPE_CHECKING:
11
+ from collections.abc import Callable
12
+
10
13
  logger = logging.getLogger(__name__)
11
14
 
12
15
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: aws_lambda_powertools
3
- Version: 3.10.1a4
3
+ Version: 3.10.1a6
4
4
  Summary: Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity.
5
5
  License: MIT
6
6
  Keywords: aws_lambda_powertools,aws,tracing,logging,lambda,powertools,feature_flags,idempotency,middleware
@@ -4,7 +4,7 @@ aws_lambda_powertools/event_handler/api_gateway.py,sha256=tV61EQ-Jd0Dzgaoy-JSW8m
4
4
  aws_lambda_powertools/event_handler/appsync.py,sha256=mnuSkA9NhszX9naIvCveI5ivnJO5vbY7FPBIVWvg3S8,19209
5
5
  aws_lambda_powertools/event_handler/bedrock_agent.py,sha256=oehV8h8cvIMUxbHah-NZNqzFtpvrgUGwH20aisfz9OY,14445
6
6
  aws_lambda_powertools/event_handler/content_types.py,sha256=0MKsKNu-SSrxbULVKnUjwgK-lVXhVD7BBjZ4Js0kEsI,163
7
- aws_lambda_powertools/event_handler/exceptions.py,sha256=trhn73GD_9pElEKWts6uQcOE5R7sBKD3uDf64ijHRgY,1150
7
+ aws_lambda_powertools/event_handler/exceptions.py,sha256=JgNxrdKTLBqd84Lhqb9NlXX7g54K8Xx2u9LJtpnOkdE,1919
8
8
  aws_lambda_powertools/event_handler/graphql_appsync/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  aws_lambda_powertools/event_handler/graphql_appsync/_registry.py,sha256=dR9G3xd3szJYsl7f29Bfih7t5E0EpmyxrdrNRDoBUHI,2514
10
10
  aws_lambda_powertools/event_handler/graphql_appsync/base.py,sha256=jlyg-zUs5bosEroO1m9oewYXc4XEst6b6vrkSPKRJOs,5357
@@ -40,24 +40,24 @@ aws_lambda_powertools/logging/__init__.py,sha256=G5MTkVqaQvpfa7k3fGkj4QN0KU6nFfP
40
40
  aws_lambda_powertools/logging/buffer/__init__.py,sha256=2sdmJToRBp6QJI2VQuvgjuxsJkTMd4dL3TYp6dASiOQ,109
41
41
  aws_lambda_powertools/logging/buffer/cache.py,sha256=rh8XjDsfGEvXN8eRXHk8nAiN06rZEK1bcIZVuLshoHI,6058
42
42
  aws_lambda_powertools/logging/buffer/config.py,sha256=tKOlgGhkAY214Fskn6u-Xm9pdTTbo3XJSwSoSJfoIW4,2383
43
- aws_lambda_powertools/logging/buffer/functions.py,sha256=qgywGfLQpr4jYJFugJHDm_fXyxnTpJ3ppHFAI_7bpOM,3949
43
+ aws_lambda_powertools/logging/buffer/functions.py,sha256=fa4C8kN603YMyKHFsb6eAHHoKyywEP8ukDfHBtdu8Ps,3980
44
44
  aws_lambda_powertools/logging/constants.py,sha256=P0XgbCmG4NiP96kx0qxe6QUC3ShN12doSIXTkobX7C4,309
45
45
  aws_lambda_powertools/logging/correlation_paths.py,sha256=uHHrl03aWzpOsrGHZ-9E6PNoMFyKjv3APNMMkI1EN_c,411
46
46
  aws_lambda_powertools/logging/exceptions.py,sha256=Fe_jk8O9vgUSUHxxOkz6Ev521aXsgPkMgA9Hb1nBn6g,232
47
47
  aws_lambda_powertools/logging/filters.py,sha256=icet1o3-QSSvrmj2udL4ZYT0msf5b3rXj5l7p6dAxAs,523
48
- aws_lambda_powertools/logging/formatter.py,sha256=hWyxAubdJeiHEuCNH2JnPYWEACh0ApLqVfCedEJHrEU,19072
48
+ aws_lambda_powertools/logging/formatter.py,sha256=rVNzfEP34KCUUUfvb7dRhmHasPmFl-MS8V-u7KXGFto,19346
49
49
  aws_lambda_powertools/logging/formatters/__init__.py,sha256=OqddpJcWMqRYhx5SFy-SPqtt72tkRZbfpEi_oCC47eI,301
50
- aws_lambda_powertools/logging/formatters/datadog.py,sha256=NwaaBOp7jIlOAH158NzyvW-EwmWqqnYX9f7Uu_nIUYQ,3169
50
+ aws_lambda_powertools/logging/formatters/datadog.py,sha256=ReH9e4SDxfvHCLN_y5Avjy6RFok8eKXs8v-4Dp51rT4,3201
51
51
  aws_lambda_powertools/logging/lambda_context.py,sha256=VHst_6hxMpXgScoxNwaC61UXPTIdd3AEBHTPzb4esPc,1736
52
- aws_lambda_powertools/logging/logger.py,sha256=H8f5Rp8P9I_hhzUolQAr2vjMDspV6Kg7u6sfg2V8wjo,49010
52
+ aws_lambda_powertools/logging/logger.py,sha256=91nuiS_Ig94oQni7QgyEhyv_m-zAuPNrNXCBvleEAjg,49042
53
53
  aws_lambda_powertools/logging/types.py,sha256=Zc95nGdZ2sJUEPdwR0uoArT_F-JSKfpS_LokdCVO0nQ,1263
54
- aws_lambda_powertools/logging/utils.py,sha256=NirAObjkkarN5fX2diHs0Ln_8KHLueviL-jCKhckIBM,4069
54
+ aws_lambda_powertools/logging/utils.py,sha256=YpYre4EBGxjZi7ZE0o8Cfdq3iFP_UQacFrOgfpToRVo,4101
55
55
  aws_lambda_powertools/metrics/__init__.py,sha256=B5FpJS_VR7zivm2ylvUF8RHBthKz4aDk0VA5GpDn3Tk,592
56
- aws_lambda_powertools/metrics/base.py,sha256=Ric6mWDekLgbGHgCW706vdTob40FiIsXvbA50HEDyBo,23774
56
+ aws_lambda_powertools/metrics/base.py,sha256=Vx9e7GIgnT100-lWkS5ocacDxOjX6NJrajfIjtKoxP0,23806
57
57
  aws_lambda_powertools/metrics/exceptions.py,sha256=HX9k4L4RXI9Ol8kVr5U9FYmUsrN_3v2tugAmzNVp0ng,418
58
58
  aws_lambda_powertools/metrics/functions.py,sha256=Njw-gKtAt_YpKw5ltQMcKFbGvJBFbs3J60t3C0oczB4,6190
59
59
  aws_lambda_powertools/metrics/metric.py,sha256=utHoGjKlx-e1zhgq51ChXRGx3MNSNv3qwanWhlksY0s,165
60
- aws_lambda_powertools/metrics/metrics.py,sha256=wy06nwBDzR03EHQxJ0N2S82fVHD47l237G1dvUQcaD8,8246
60
+ aws_lambda_powertools/metrics/metrics.py,sha256=CDjQjxY2BE3YDVZtvWuux9NcxPWjl5ly0ofHLFdFxSg,8278
61
61
  aws_lambda_powertools/metrics/provider/__init__.py,sha256=7Cg6Rwzy6pYW6LjeWGEl0opDaKleBSGrMPfGNXCH1i4,104
62
62
  aws_lambda_powertools/metrics/provider/base.py,sha256=w1JBW2uYezxdYv3BbersCpzS4-GEfm9G8xk4opS1C-o,6879
63
63
  aws_lambda_powertools/metrics/provider/cloudwatch_emf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -72,36 +72,36 @@ aws_lambda_powertools/metrics/provider/datadog/datadog.py,sha256=zw-AtT4gPqqNLjs
72
72
  aws_lambda_powertools/metrics/provider/datadog/metrics.py,sha256=_7dx4sSx6aXGJ2uv3iisqr6AyqmKjHBATOLdI1hjJhw,4285
73
73
  aws_lambda_powertools/metrics/provider/datadog/warnings.py,sha256=tpnTQNhb6NhQp_NZSgUR4SsDSASqG6XBpzPZBgSVXlw,191
74
74
  aws_lambda_powertools/metrics/types.py,sha256=6EhODeacBtnAslVf-YVZ3iPNIE3RwDN95DtuIpefpmA,185
75
- aws_lambda_powertools/middleware_factory/__init__.py,sha256=FbnfXVvbynsu3dGXiE1BAcitIy8rCilX-_SFo2iVTag,224
75
+ aws_lambda_powertools/middleware_factory/__init__.py,sha256=ns6G2yhHgjpiuCkZRvUDD6fTcYGn6u6_09eUtZYP_qg,264
76
76
  aws_lambda_powertools/middleware_factory/exceptions.py,sha256=hQEZ_OvLHt-VzbF-nN1pmdeu1k3lTxqY__jgtYng8iI,106
77
- aws_lambda_powertools/middleware_factory/factory.py,sha256=1I77Y6uU381kf7ioWWL-_Y3888bxiLP9m9dErllEU98,5275
77
+ aws_lambda_powertools/middleware_factory/factory.py,sha256=fUrfE0sPyCT5rKgYnYELM-V3f5db9nG9I78zan4zIIM,5340
78
78
  aws_lambda_powertools/package_logger.py,sha256=Q2QX1JXDdc-Piekk1r19qEIDUMN2i4ZZK7MHdXxHFt4,767
79
79
  aws_lambda_powertools/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
80
  aws_lambda_powertools/shared/__init__.py,sha256=o2ycxf3MCYfWXm1P-zuTKap_uzJiu8uYmVcCX7s4gUk,75
81
81
  aws_lambda_powertools/shared/cache_dict.py,sha256=X3Ykh-_Fb4Wkc5RGjaostC_FUvMyY_H1L2bOB89A3vM,916
82
82
  aws_lambda_powertools/shared/constants.py,sha256=5piC-613gUOv2r1miWvSuiT04sG89CGy8iY98Bxlslg,2872
83
83
  aws_lambda_powertools/shared/cookies.py,sha256=X2Bkcf7MAmV75PJFm07QGkL4n1psk4HIGpUxzrsjiJY,3868
84
- aws_lambda_powertools/shared/dynamodb_deserializer.py,sha256=tWw8MLXEitInnViFkt_xSBkXD_V1n1KcWbqBXBxwUlE,4054
85
- aws_lambda_powertools/shared/functions.py,sha256=N5VIND3xW-eZHqY2uPsBMtDbtMx64iklUKByeCh58rc,7625
84
+ aws_lambda_powertools/shared/dynamodb_deserializer.py,sha256=irurG4h6FwRpLjl_nBjQ9wSdud3B6HI-x9a2xY0IT3Q,4119
85
+ aws_lambda_powertools/shared/functions.py,sha256=EyErfmxdADvAW43g_vUG0zIHJbl-OWDR1JqBPVK_bi4,7690
86
86
  aws_lambda_powertools/shared/headers_serializer.py,sha256=1eRQ-FO6jNskTXWRa25OXI5Klu3yH6HAHjGGZULB8FE,5411
87
87
  aws_lambda_powertools/shared/json_encoder.py,sha256=JQeWNu-4M7_xI_hqYExrxsb3OcEH4uTxjfVE4Of8Nn8,666
88
88
  aws_lambda_powertools/shared/lazy_import.py,sha256=TbXQm2bcwXdZrYdBaJJXIswyLlumM85RJ_A_0w-h-GU,2019
89
- aws_lambda_powertools/shared/types.py,sha256=APkI38HbiTpSF19NSNii8Ydx73vmVUVotgEQ9jHruEI,124
89
+ aws_lambda_powertools/shared/types.py,sha256=EZ_tbX3F98LA4Zcra1hTEjzRacpZAtggK957Zcv1oKg,135
90
90
  aws_lambda_powertools/shared/user_agent.py,sha256=DrCMFQuT4a4iIrpcWpAIjY37EFqR9-QxlxDGD-Nn9Gg,7081
91
- aws_lambda_powertools/shared/version.py,sha256=rsIBlvYBVzDn9F76coRytlIyNqBqYjG6bFhKwvhhjwg,85
91
+ aws_lambda_powertools/shared/version.py,sha256=bwIxCL_6yUUonXez0hY55Oiu7p7ngY35b-rjI4E41Ys,85
92
92
  aws_lambda_powertools/tracing/__init__.py,sha256=f4bMThOPBPWTPVcYqcAIErAJPerMsf3H_Z4gCXCsK9I,141
93
- aws_lambda_powertools/tracing/base.py,sha256=DbLD8OSK05KLdSV36oNA5wDSGv8KbcOD19qMUqoXh58,4513
93
+ aws_lambda_powertools/tracing/base.py,sha256=WSO986XGBOe9K0F2SnG6ustJokIrtO0m0mcL8N7mfno,4544
94
94
  aws_lambda_powertools/tracing/extensions.py,sha256=APOfXOq-hRBKaK5WyfIyrd_6M1_9SWJZ3zxLA9jDZzU,492
95
- aws_lambda_powertools/tracing/tracer.py,sha256=bLTdP3NmJQc3VYdcP-tZJ3fdvR8jNTPT8RBuUVtPQqY,32457
95
+ aws_lambda_powertools/tracing/tracer.py,sha256=WEZMAL3T-Y5CfBbtXpE102sYE8uzJsjPapwn67097K0,32488
96
96
  aws_lambda_powertools/utilities/__init__.py,sha256=BhnoYxIaDboi8oCsEMAizR2Bp-EaJJ-OcdMa9q07thc,39
97
97
  aws_lambda_powertools/utilities/batch/__init__.py,sha256=mjFmfhJwot_3miZrstDcMKH7LzM_0aD35z-581HgZfY,1073
98
- aws_lambda_powertools/utilities/batch/base.py,sha256=FAYRjITKFHtRLmADX1xF92WQUPLyqzYXgvLvFtQE4vU,25292
99
- aws_lambda_powertools/utilities/batch/decorators.py,sha256=gYNV0Dcacz5bH9yWL7mTMoBm_Gc0-YoPstjy_fH2fwo,9365
98
+ aws_lambda_powertools/utilities/batch/base.py,sha256=Y9CQ9Y6pERKlQYqmAndg28HqLtxGukaQBqMcMH2D52w,25324
99
+ aws_lambda_powertools/utilities/batch/decorators.py,sha256=HK0DzPd9UWoyvIcH7feFYM3oqXzXlCkWmHyxkDTJR4U,9397
100
100
  aws_lambda_powertools/utilities/batch/exceptions.py,sha256=ZbWgItDimiSXmrDlejIpGc-4mez8XKgl3MB5bAPlrCo,1765
101
101
  aws_lambda_powertools/utilities/batch/sqs_fifo_partial_processor.py,sha256=MPE87ZithqQOcwzoZdYReOajc4mrbiKOsIXcXicznZE,4236
102
102
  aws_lambda_powertools/utilities/batch/types.py,sha256=XgUSbOIfzY4d2z3cFntQHAe6hcmxt6fbvSpa2KaMLeU,1112
103
103
  aws_lambda_powertools/utilities/data_classes/__init__.py,sha256=QrLQ-fJI2gH5-N9HmkRsEytED1DW-lIvygu94Ocl88I,3345
104
- aws_lambda_powertools/utilities/data_classes/active_mq_event.py,sha256=gJPzcSmw1JsPGKZHUkVGNjveuqQ6OpaibWy6WfJZyHQ,4373
104
+ aws_lambda_powertools/utilities/data_classes/active_mq_event.py,sha256=-AdONdHS6soJ9secO6sJ5EgiamiIUJRlgyymCe7z1io,4438
105
105
  aws_lambda_powertools/utilities/data_classes/alb_event.py,sha256=cHfLaAWwhSuIk-H52xIA4Mq1nx8b0tDxN0slPy0ZamQ,1836
106
106
  aws_lambda_powertools/utilities/data_classes/api_gateway_authorizer_event.py,sha256=dmoR9aIbhqRIrFKX__BFxvbkYl3fr72RbLct7hG5f04,27034
107
107
  aws_lambda_powertools/utilities/data_classes/api_gateway_proxy_event.py,sha256=X5SxZDjVROT4h9xxw3CqZ5YAPD6m1w48CSG4sPpUPe8,10412
@@ -119,50 +119,50 @@ aws_lambda_powertools/utilities/data_classes/cloudformation_custom_resource_even
119
119
  aws_lambda_powertools/utilities/data_classes/code_deploy_lifecycle_hook_event.py,sha256=chJSwmEj7GcKNlqY3HyWHOuhQIQSjqvA4fUxs-PxovA,464
120
120
  aws_lambda_powertools/utilities/data_classes/code_pipeline_job_event.py,sha256=Y5INxxycG87n55YvRq4h5TXMJNXXB3Ac38zvXg5f_h4,10530
121
121
  aws_lambda_powertools/utilities/data_classes/cognito_user_pool_event.py,sha256=oHYYcFYeX5bQp7avtrLtwizWqSmJzLA3qqVvZ4ybj94,40540
122
- aws_lambda_powertools/utilities/data_classes/common.py,sha256=PFQBhmGPvBtvdUtzk1wtEokFpatZkUl4s6C6x6lvCGU,19505
122
+ aws_lambda_powertools/utilities/data_classes/common.py,sha256=s3VqYE1yLsJxq1eQ9Oi4vm4GQlBxasSOIHlS1RuexEs,19564
123
123
  aws_lambda_powertools/utilities/data_classes/connect_contact_flow_event.py,sha256=4_L73ATO-M_2zUD3r0zS4c6I4zoLxTK9l8JQc-dATog,5468
124
- aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py,sha256=BrgOyFREC9gjj_ULhKB3L_7EbQ6ptV-8Was1TulPeWE,6102
124
+ aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py,sha256=j8OKsS60Ab8hmnnEtvELbUMsk0LGSiUpwh_bZ41fLuY,6167
125
125
  aws_lambda_powertools/utilities/data_classes/event_bridge_event.py,sha256=TeTtx2jOKyZSVdSPFrtxZUgv0Yt6HW_H7J5NNxy_mHo,2434
126
- aws_lambda_powertools/utilities/data_classes/event_source.py,sha256=hANsq_sZjFtDzV0ju47iSYwKcsn5Byk6ww0F2jUpMKw,1179
126
+ aws_lambda_powertools/utilities/data_classes/event_source.py,sha256=CKo1_TY0UcUVsh3PUk39z2WFVC2Bf4QgXWj93eEHbcY,1211
127
127
  aws_lambda_powertools/utilities/data_classes/iot_registry_event.py,sha256=wUa0Gr64maNGkd9qKNxtwFHawIJN-nj9X8uLFdINE7c,10842
128
- aws_lambda_powertools/utilities/data_classes/kafka_event.py,sha256=BwkrEfGvmv0LvVpMsQeIzuX08QeWl9dVFjrbgSYL8Bs,3764
129
- aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py,sha256=7BB_sN-zpVosNsbtTtyUrUMqJz62uwBC0BG75jNK7fg,10476
130
- aws_lambda_powertools/utilities/data_classes/kinesis_stream_event.py,sha256=8cv58z4RoBD7EZ6gdDGS4blXaxqVoU_4NceMDqcYmQA,3893
128
+ aws_lambda_powertools/utilities/data_classes/kafka_event.py,sha256=sOJgwH6NTNeOyBgq3q-7j_qSrk-hewS42Duz-um0d5A,3829
129
+ aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py,sha256=5H-Rt6LG80_jVkTlWxhutZH0cv4Xrhzm-fqwkpjPfQM,10508
130
+ aws_lambda_powertools/utilities/data_classes/kinesis_stream_event.py,sha256=O42TpHCJHM5mz_b3Z65cJJ2DB19sb-b3rxced6bQB_Y,3958
131
131
  aws_lambda_powertools/utilities/data_classes/lambda_function_url_event.py,sha256=dFhL3IYebW4WeJc1XJJYmF94gI_qYeay6EpT9b2mDZU,633
132
132
  aws_lambda_powertools/utilities/data_classes/rabbit_mq_event.py,sha256=30OBp80QTTGYdJb_YoIEFfsR5kmeftll2puB2nEw1jQ,3046
133
- aws_lambda_powertools/utilities/data_classes/s3_batch_operation_event.py,sha256=yZzS51gT1lm9_KnfvXLmxL0g57gsWGYvBCGFsVv9l8I,8617
134
- aws_lambda_powertools/utilities/data_classes/s3_event.py,sha256=Wn6J75YntBAPI61VwPXKh8R2f83hIf87XBOCFDiY3TU,10596
133
+ aws_lambda_powertools/utilities/data_classes/s3_batch_operation_event.py,sha256=os7ox3SzTqgwouo0zq8HidhPexfM4jDW62gAkonAowU,8682
134
+ aws_lambda_powertools/utilities/data_classes/s3_event.py,sha256=Qx8oXKn_ph4gErvsoWv_DzKTT5xKRKVYU52eM86hhCQ,10661
135
135
  aws_lambda_powertools/utilities/data_classes/s3_object_event.py,sha256=iccgwNIiZF879jQOGGRMuDHIFAthpMzD0Wa38eE2Dn8,12349
136
136
  aws_lambda_powertools/utilities/data_classes/secrets_manager_event.py,sha256=5G7Qg04-wCMNHSqKB1KWOGaaPfykEf9rdOxifYsqeMg,869
137
- aws_lambda_powertools/utilities/data_classes/ses_event.py,sha256=ViKTSB4N-7Kljfui1z0rWZ04NXezwer9DmVy68bxFcc,8831
137
+ aws_lambda_powertools/utilities/data_classes/ses_event.py,sha256=iQYVaAM3NTR7vLERcWfVFj868JjDANInGnylP2bZREI,8896
138
138
  aws_lambda_powertools/utilities/data_classes/shared_functions.py,sha256=zAv_JzSJy_k3ZhLKyARXoX6zH7exqw9pjTDsmGB7qxw,4426
139
- aws_lambda_powertools/utilities/data_classes/sns_event.py,sha256=bUL57gmObClTGrd_TFBLd1sNobnaurum0QkXyOJoNmI,3853
140
- aws_lambda_powertools/utilities/data_classes/sqs_event.py,sha256=seWIKCpPbzKpPdXZWvrs94C92Nj2XwfGC1vXcI5gdQA,8804
139
+ aws_lambda_powertools/utilities/data_classes/sns_event.py,sha256=jaYbt4a-XX51Iq-SLlwXmqOybinCVbek1zBzIPasqYs,3918
140
+ aws_lambda_powertools/utilities/data_classes/sqs_event.py,sha256=EwRNH88iAqlbg36cIUShpmFneT4hqJs0qS58ojgm0rg,8873
141
141
  aws_lambda_powertools/utilities/data_classes/transfer_family_event.py,sha256=gfPvQeur8bBXl5gq46sc_z3Oz3JTnRlM7iXUK5cbjic,6856
142
142
  aws_lambda_powertools/utilities/data_classes/vpc_lattice.py,sha256=SEZUvRTMsI-iQi7hcpqaKqYtJLYqIxX5ijqmeTSrf9E,6363
143
143
  aws_lambda_powertools/utilities/data_masking/__init__.py,sha256=Ez0MABo8ARkgWKSu8Dog4uFSkkZuHkW7DoWcexJGeyU,108
144
- aws_lambda_powertools/utilities/data_masking/base.py,sha256=Ny0fZNcLu0Qs6h40CCrMCy1J6C0Q0Zen8j0rtUT_Pyk,18571
144
+ aws_lambda_powertools/utilities/data_masking/base.py,sha256=z239-bkFYMf2g8qzzA_t-kvFAOulM-zl2woyDdxw3Qw,18602
145
145
  aws_lambda_powertools/utilities/data_masking/constants.py,sha256=hKeeWDE4g53zxCq6fOD0D1vUTjuqVXNrr9oXCv-7mGg,752
146
146
  aws_lambda_powertools/utilities/data_masking/exceptions.py,sha256=MGg6t5K9smOPcydmxMI3a_9D20u_zC3JCdd_eQpBisg,621
147
147
  aws_lambda_powertools/utilities/data_masking/provider/__init__.py,sha256=83eP8qT3OpY99T--QUIV9K37MmAIi8cbAMmkHyIGVHI,119
148
- aws_lambda_powertools/utilities/data_masking/provider/base.py,sha256=snsPh-e7rfmihKX4vui4V4sC6njZJv6JC1Tzyz5UHfg,5990
148
+ aws_lambda_powertools/utilities/data_masking/provider/base.py,sha256=DBSwpRapxA6KLfNx5VxgEqWBRG0d6lB8aBQBmPWzjmM,6090
149
149
  aws_lambda_powertools/utilities/data_masking/provider/kms/__init__.py,sha256=tP9PLaaf_hiET_bJGibeKEc0BWnFfVZBr5LiulUJsn4,161
150
- aws_lambda_powertools/utilities/data_masking/provider/kms/aws_encryption_sdk.py,sha256=YByUd5N6SGkQkGtf4OdDKB3yLpMEcpk0wFOfsfZLsaE,8867
150
+ aws_lambda_powertools/utilities/data_masking/provider/kms/aws_encryption_sdk.py,sha256=dSE1XQNqLj5EewjYF1JdPu9rFfbmEQ4colREmomho0c,8967
151
151
  aws_lambda_powertools/utilities/feature_flags/__init__.py,sha256=xd5YD3QeLbc6CfvIMb9Bnh3MYJ2XotI-buSI6vrisJE,619
152
152
  aws_lambda_powertools/utilities/feature_flags/appconfig.py,sha256=mvTy9A7FgN2LMQbkTLH8A71aJlqSY162VjiYOcinTSU,5171
153
153
  aws_lambda_powertools/utilities/feature_flags/base.py,sha256=fzqNgDSRYL7VslhHQvNnXN25CkYB2u5HZQiuZMV5NIU,1783
154
154
  aws_lambda_powertools/utilities/feature_flags/comparators.py,sha256=0UlbvonncX9W0w5gw8PCCADTEiX5JIWIPgh5W4y-WEY,6755
155
155
  aws_lambda_powertools/utilities/feature_flags/constants.py,sha256=L_k6jeaBmPeTeLhkOOOpRPynBz8qqUR3-Z92GvC0rIs,415
156
156
  aws_lambda_powertools/utilities/feature_flags/exceptions.py,sha256=i6i1xU9MBb-v9Na8Zvi7mDQsfoE9EmOCOtaLVhcUVds,440
157
- aws_lambda_powertools/utilities/feature_flags/feature_flags.py,sha256=SCRfGo7R5zlyPwDibhE6U0UdhTeCAeJhe6SvVNHEUeY,19527
157
+ aws_lambda_powertools/utilities/feature_flags/feature_flags.py,sha256=u-11L4Axfbw0GVUAb3X34AFpaOIExbAC7Jt6s4UxEYs,19553
158
158
  aws_lambda_powertools/utilities/feature_flags/schema.py,sha256=mOU8tr6iGtwY3QD5iorKC8OLwZ23VLKjHOapQp3C9o0,22682
159
159
  aws_lambda_powertools/utilities/feature_flags/types.py,sha256=UBMywajJ_umny7GAd9vYDMxpGqRNrcyBzXtMrGdXtkU,261
160
160
  aws_lambda_powertools/utilities/idempotency/__init__.py,sha256=9GEhuiB6lLalv37ynRxBVkpZ8kvtuPcQNRLrk9TkzF8,619
161
- aws_lambda_powertools/utilities/idempotency/base.py,sha256=enIl3lfDn4I6n3M9cacW-u9sxrEgXKHh-jPCTT1snBs,11425
161
+ aws_lambda_powertools/utilities/idempotency/base.py,sha256=M6LP1fqj2L-mYe9nWv2MTa0zH21WWH4PTpvkrSx803Q,11457
162
162
  aws_lambda_powertools/utilities/idempotency/config.py,sha256=h8UraMbewI39KoIIh7FpB_fXtIv_v0WjN1URtvLfeJQ,2868
163
163
  aws_lambda_powertools/utilities/idempotency/exceptions.py,sha256=HLQoBsxrmkkbQVxZ7CxKBwbVw5Tk9ko7VKbkh9qOJmc,2914
164
164
  aws_lambda_powertools/utilities/idempotency/hook.py,sha256=XHj6q0dP65C8Cj-TPJ9a8OZB7LyISNJCuEHc8OzhLZg,450
165
- aws_lambda_powertools/utilities/idempotency/idempotency.py,sha256=olyu7R-YZny6oVABrOGuUhNN856D_nfrzfaGnH0ojjk,7397
165
+ aws_lambda_powertools/utilities/idempotency/idempotency.py,sha256=_t_OmCzL8vBcmrif_9PrAnoCkfBMnG3p2T3sVGHhUqw,7429
166
166
  aws_lambda_powertools/utilities/idempotency/persistence/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
167
  aws_lambda_powertools/utilities/idempotency/persistence/base.py,sha256=slYzih7C-tpAUugXdM2DMemNVA_HnxsbtpsvZKiH3gY,16022
168
168
  aws_lambda_powertools/utilities/idempotency/persistence/datarecord.py,sha256=brtO34whh_ioHkB6GfIjcIUyvzBI7BrEiwQVwFjEVXc,3644
@@ -170,7 +170,7 @@ aws_lambda_powertools/utilities/idempotency/persistence/dynamodb.py,sha256=H0dm8
170
170
  aws_lambda_powertools/utilities/idempotency/persistence/redis.py,sha256=KN3XfUZzGwEqkkXZB7OGadYGdf7IiwwChtVzZRuZUQE,21588
171
171
  aws_lambda_powertools/utilities/idempotency/serialization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
172
172
  aws_lambda_powertools/utilities/idempotency/serialization/base.py,sha256=E6ZO7uGOJnhepSkS4NkUbPhw9BNU1581HRmdgEaXe8k,1445
173
- aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py,sha256=aqOLtuN-yWLjQak1b0GHYZC9UnYWftCW-xuuNw4UCQM,953
173
+ aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py,sha256=QhPDPoa-MHAqo8APjSaQEENPeRiOnTovHWhQgCBkfIg,1018
174
174
  aws_lambda_powertools/utilities/idempotency/serialization/dataclass.py,sha256=YejzTHdQqL9YP5iU9y0hhFcirPH3Ts19xro0B1Zu948,1579
175
175
  aws_lambda_powertools/utilities/idempotency/serialization/functions.py,sha256=Vs3MZxu2rO5Y55mkjMBFD-PlBBEIQ78qz1C7riR6_yY,1977
176
176
  aws_lambda_powertools/utilities/idempotency/serialization/no_op.py,sha256=9m5-EGZVGdmqN-69jCgDUwteRu7ZK4A3gOiZxkLgdoY,456
@@ -179,7 +179,7 @@ aws_lambda_powertools/utilities/jmespath_utils/__init__.py,sha256=Br89UButW4sLv2
179
179
  aws_lambda_powertools/utilities/jmespath_utils/envelopes.py,sha256=jZJYbUldrZgCWl-PL8oRmC9p6G6D-3812kJmJfLkM6Q,817
180
180
  aws_lambda_powertools/utilities/parameters/__init__.py,sha256=KVJWu7pyunw9to8VkTZ0fy6MCR9iW0tUCjAJVqgdwdw,771
181
181
  aws_lambda_powertools/utilities/parameters/appconfig.py,sha256=CqFVXUKMjKsGX0eUClPxQNlLdPTJbbYOTU_7Vz8b8TY,8363
182
- aws_lambda_powertools/utilities/parameters/base.py,sha256=-NK9hx9nQWchDFtZaOiMC-40dD5TG2lAt52Hwi1bV-Q,12716
182
+ aws_lambda_powertools/utilities/parameters/base.py,sha256=kTzLaVcp64mM6CwfP3Tz4kkMFvUwLexg9DVJ1zkFUtw,12743
183
183
  aws_lambda_powertools/utilities/parameters/constants.py,sha256=_OiNs_1-fSpNLAHjKqsZDe9ztq5AwtFMJS18GWYbNzY,662
184
184
  aws_lambda_powertools/utilities/parameters/dynamodb.py,sha256=uSf6Rfb6-WNXJ88eEalqWlO8U2b8HitCNEZBJ_ruQmo,8722
185
185
  aws_lambda_powertools/utilities/parameters/exceptions.py,sha256=0h5CeZIEo0RU9GhnP3qprnLiUoaIYZHhMek3i-gcFcE,465
@@ -235,12 +235,12 @@ aws_lambda_powertools/utilities/parser/models/vpc_lattice.py,sha256=mgfNtM1lV2ED
235
235
  aws_lambda_powertools/utilities/parser/models/vpc_latticev2.py,sha256=Syirb_VqzDKMF3i3-mhz7W555j9Qbb_btKNDYAT988E,1852
236
236
  aws_lambda_powertools/utilities/parser/parser.py,sha256=XbKuTn10XWaG3TF4jVloZMzf1gmfdHEk8SIBlKyNqKw,7488
237
237
  aws_lambda_powertools/utilities/parser/types.py,sha256=jyubFUfm99CVOFoO7wWeZxiBhGM77IWl3wGqviS9pfM,457
238
- aws_lambda_powertools/utilities/serialization.py,sha256=xxxgDPQUoIsyATHQ5MxeATqye_MKqMCGXv18TgulrFo,1412
238
+ aws_lambda_powertools/utilities/serialization.py,sha256=66p_JgBihEe_0QWeo0IkkMgfW2pLMNm4deNUmCwcep4,1439
239
239
  aws_lambda_powertools/utilities/streaming/__init__.py,sha256=OwtgB4DIfev9MVysAth2fthFvdY0FIq7OXfBAOQHQWA,277
240
- aws_lambda_powertools/utilities/streaming/_s3_seekable_io.py,sha256=lpFk8_Xfe1hoFKJsG8WH79RTa-g4o4R9lOcIJuaEj8U,6656
240
+ aws_lambda_powertools/utilities/streaming/_s3_seekable_io.py,sha256=MuCPQoFvJX6XrjUVrxq01sihF7VVC_-SRfJzzz31ePk,6687
241
241
  aws_lambda_powertools/utilities/streaming/compat.py,sha256=2Vwt88uJ8W8EeBfrI0fSir6ey8pfb3dyHlGTbctIfZc,185
242
242
  aws_lambda_powertools/utilities/streaming/constants.py,sha256=VfaLdz7UwN4I0-QcMpprJIZQaYXRVP5TjJ7QNFENEew,60
243
- aws_lambda_powertools/utilities/streaming/s3_object.py,sha256=ajiiLanlEohieyby-mqzobrPoCsk3qLFb3tEHPNfa48,9698
243
+ aws_lambda_powertools/utilities/streaming/s3_object.py,sha256=1hfTEaL7OpxTyZjwPtCo7wkagAyIpIQrI1nWGNLcCck,9756
244
244
  aws_lambda_powertools/utilities/streaming/transformations/__init__.py,sha256=j3Ly_9A6Mef3emQ3n7RMT0hgXVT4OHg7sSGBvntKtn8,430
245
245
  aws_lambda_powertools/utilities/streaming/transformations/base.py,sha256=l_nNvKTXYDl866tjKacaMpqf1E_QEBWYGxizagjLpUM,865
246
246
  aws_lambda_powertools/utilities/streaming/transformations/csv.py,sha256=N4A87s2PEcnUdhU_Ck-CTCEl3s8R1v1v5lZKLWc28E0,2312
@@ -253,12 +253,12 @@ aws_lambda_powertools/utilities/typing/lambda_client_context_mobile_client.py,sh
253
253
  aws_lambda_powertools/utilities/typing/lambda_cognito_identity.py,sha256=LQehWw_Y2FpjYZ4XhlX1jRYjpWWmO3ipA71k36J_gAU,522
254
254
  aws_lambda_powertools/utilities/typing/lambda_context.py,sha256=-ju80VcEVxDNF4R8rANzBa84px61rJlsXNiUtfHo3eE,2756
255
255
  aws_lambda_powertools/utilities/validation/__init__.py,sha256=00FomBSdVcHqggC4Oi8G-irhUgcbgZwYcNUdvU-yfv8,480
256
- aws_lambda_powertools/utilities/validation/base.py,sha256=zWeXxN-QkzC-5zE2QZdCRNfqMotJD2QKdyVVxFT8Rrk,2494
256
+ aws_lambda_powertools/utilities/validation/base.py,sha256=5hPPEuNUTqmcxSDtuiu2z0JWPrl62LFNBayXxXdjjt8,2478
257
257
  aws_lambda_powertools/utilities/validation/envelopes.py,sha256=YD5HOFx6IClQgii0nPI7XW98Xjynf3LVbJSeeOqfbD8,438
258
258
  aws_lambda_powertools/utilities/validation/exceptions.py,sha256=PKy_19zQMBJGCMMFl-sMkcm-cc0v3zZBn_bhGE4wKNo,2084
259
- aws_lambda_powertools/utilities/validation/validator.py,sha256=x_1qpuKJBuWpgNU-zCD3Di-vXrZfyUu7oA5RmjZjr84,10034
259
+ aws_lambda_powertools/utilities/validation/validator.py,sha256=khCqFhACSdn0nKyYRRPiC5Exht956hTfSfhlV3IRmpg,10099
260
260
  aws_lambda_powertools/warnings/__init__.py,sha256=vqDVeZz8wGtD8WGYNSkQE7AHwqtIrPGRxuoJR_BBnSs,1193
261
- aws_lambda_powertools-3.10.1a4.dist-info/LICENSE,sha256=vMHS2eBgmwPUIMPb7LQ4p7ib_FPVQXarVjAasflrTwo,951
262
- aws_lambda_powertools-3.10.1a4.dist-info/METADATA,sha256=AC17X83vjp1E9D9QIU__AlMj_LArrHgRRsvBU_pt-cQ,11187
263
- aws_lambda_powertools-3.10.1a4.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
264
- aws_lambda_powertools-3.10.1a4.dist-info/RECORD,,
261
+ aws_lambda_powertools-3.10.1a6.dist-info/LICENSE,sha256=vMHS2eBgmwPUIMPb7LQ4p7ib_FPVQXarVjAasflrTwo,951
262
+ aws_lambda_powertools-3.10.1a6.dist-info/METADATA,sha256=cRaj_q56HGJgSxltKy6DXAkDHhsS6m5wHxnJX7k1_Sc,11187
263
+ aws_lambda_powertools-3.10.1a6.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
264
+ aws_lambda_powertools-3.10.1a6.dist-info/RECORD,,