aws-lambda-powertools 3.10.1a5__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 (35) hide show
  1. aws_lambda_powertools/middleware_factory/__init__.py +1 -1
  2. aws_lambda_powertools/middleware_factory/factory.py +4 -1
  3. aws_lambda_powertools/shared/dynamodb_deserializer.py +4 -1
  4. aws_lambda_powertools/shared/functions.py +4 -1
  5. aws_lambda_powertools/shared/types.py +3 -2
  6. aws_lambda_powertools/shared/version.py +1 -1
  7. aws_lambda_powertools/utilities/data_classes/active_mq_event.py +4 -1
  8. aws_lambda_powertools/utilities/data_classes/common.py +4 -1
  9. aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py +4 -1
  10. aws_lambda_powertools/utilities/data_classes/event_source.py +3 -1
  11. aws_lambda_powertools/utilities/data_classes/kafka_event.py +4 -1
  12. aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py +3 -1
  13. aws_lambda_powertools/utilities/data_classes/kinesis_stream_event.py +4 -1
  14. aws_lambda_powertools/utilities/data_classes/s3_batch_operation_event.py +4 -1
  15. aws_lambda_powertools/utilities/data_classes/s3_event.py +4 -1
  16. aws_lambda_powertools/utilities/data_classes/ses_event.py +4 -1
  17. aws_lambda_powertools/utilities/data_classes/sns_event.py +4 -1
  18. aws_lambda_powertools/utilities/data_classes/sqs_event.py +5 -2
  19. aws_lambda_powertools/utilities/data_masking/base.py +2 -1
  20. aws_lambda_powertools/utilities/data_masking/provider/base.py +7 -2
  21. aws_lambda_powertools/utilities/data_masking/provider/kms/aws_encryption_sdk.py +7 -2
  22. aws_lambda_powertools/utilities/feature_flags/feature_flags.py +4 -2
  23. aws_lambda_powertools/utilities/idempotency/base.py +3 -1
  24. aws_lambda_powertools/utilities/idempotency/idempotency.py +3 -1
  25. aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py +4 -1
  26. aws_lambda_powertools/utilities/parameters/base.py +2 -1
  27. aws_lambda_powertools/utilities/serialization.py +2 -1
  28. aws_lambda_powertools/utilities/streaming/_s3_seekable_io.py +2 -1
  29. aws_lambda_powertools/utilities/streaming/s3_object.py +3 -1
  30. aws_lambda_powertools/utilities/validation/base.py +1 -1
  31. aws_lambda_powertools/utilities/validation/validator.py +4 -1
  32. {aws_lambda_powertools-3.10.1a5.dist-info → aws_lambda_powertools-3.10.1a6.dist-info}/METADATA +1 -1
  33. {aws_lambda_powertools-3.10.1a5.dist-info → aws_lambda_powertools-3.10.1a6.dist-info}/RECORD +35 -35
  34. {aws_lambda_powertools-3.10.1a5.dist-info → aws_lambda_powertools-3.10.1a6.dist-info}/LICENSE +0 -0
  35. {aws_lambda_powertools-3.10.1a5.dist-info → aws_lambda_powertools-3.10.1a6.dist-info}/WHEEL +0 -0
@@ -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.1a5"
3
+ VERSION = "3.10.1a6"
@@ -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.1a5
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
@@ -72,23 +72,23 @@ 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=_bGD-WpodRbAZdOe9rIXvu4tC5sRpqwOBowgqR9JE-c,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
93
  aws_lambda_powertools/tracing/base.py,sha256=WSO986XGBOe9K0F2SnG6ustJokIrtO0m0mcL8N7mfno,4544
94
94
  aws_lambda_powertools/tracing/extensions.py,sha256=APOfXOq-hRBKaK5WyfIyrd_6M1_9SWJZ3zxLA9jDZzU,492
@@ -101,7 +101,7 @@ aws_lambda_powertools/utilities/batch/exceptions.py,sha256=ZbWgItDimiSXmrDlejIpG
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.1a5.dist-info/LICENSE,sha256=vMHS2eBgmwPUIMPb7LQ4p7ib_FPVQXarVjAasflrTwo,951
262
- aws_lambda_powertools-3.10.1a5.dist-info/METADATA,sha256=SF9EuBFvLAG7SP-aY3yF5BDMLi6jM1Ege6GRRa2c44Y,11187
263
- aws_lambda_powertools-3.10.1a5.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
264
- aws_lambda_powertools-3.10.1a5.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,,