Skip to content

Commit 61b5b7d

Browse files
refactor(logger): use standard collections for types (#6471)
* Using generics types * Using generics types * Using generics types --------- Co-authored-by: Ana Falcão <[email protected]>
1 parent 40272b6 commit 61b5b7d

13 files changed

+38
-12
lines changed

aws_lambda_powertools/logging/buffer/functions.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22

33
import sys
44
import time
5-
from typing import TYPE_CHECKING, Any, Mapping
5+
from typing import TYPE_CHECKING, Any
66

77
if TYPE_CHECKING:
88
import logging
9+
from collections.abc import Mapping
910

1011

1112
def _create_buffer_record(

aws_lambda_powertools/logging/formatter.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@
1111
from contextvars import ContextVar
1212
from datetime import datetime, timezone
1313
from functools import partial
14-
from typing import TYPE_CHECKING, Any, Callable, Generator, Iterable
14+
from typing import TYPE_CHECKING, Any
1515

1616
from aws_lambda_powertools.shared import constants
1717
from aws_lambda_powertools.shared.functions import powertools_dev_is_set
1818

1919
if TYPE_CHECKING:
20+
from collections.abc import Callable, Generator, Iterable
21+
2022
from aws_lambda_powertools.logging.types import LogRecord, LogStackTrace
2123

2224
RESERVED_LOG_ATTRS = (
@@ -68,7 +70,7 @@ def append_context_keys(self, **additional_keys: Any) -> Generator[None, None, N
6870
yield
6971

7072
# 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.
7274
def thread_safe_append_keys(self, **additional_keys) -> None:
7375
raise NotImplementedError()
7476

aws_lambda_powertools/logging/formatters/datadog.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
from __future__ import annotations
22

3-
from typing import TYPE_CHECKING, Any, Callable
3+
from typing import TYPE_CHECKING, Any
44

55
from aws_lambda_powertools.logging.formatter import LambdaPowertoolsFormatter
66

77
if TYPE_CHECKING:
8+
from collections.abc import Callable
9+
810
from aws_lambda_powertools.logging.types import LogRecord
911

1012

aws_lambda_powertools/logging/logger.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import sys
1515
import warnings
1616
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
1818

1919
from aws_lambda_powertools.logging.buffer.cache import LoggerBufferCache
2020
from aws_lambda_powertools.logging.buffer.functions import _check_minimum_buffer_log_level, _create_buffer_record
@@ -45,6 +45,8 @@
4545
from aws_lambda_powertools.warnings import PowertoolsUserWarning
4646

4747
if TYPE_CHECKING:
48+
from collections.abc import Callable, Generator, Iterable, Mapping
49+
4850
from aws_lambda_powertools.logging.buffer.config import LoggerBufferConfig
4951
from aws_lambda_powertools.shared.types import AnyCallableT
5052

aws_lambda_powertools/logging/utils.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
from __future__ import annotations
22

33
import logging
4-
from typing import TYPE_CHECKING, Callable
4+
from typing import TYPE_CHECKING
55

66
if TYPE_CHECKING:
7+
from collections.abc import Callable
8+
79
from aws_lambda_powertools.logging.logger import Logger
810

911
PACKAGE_LOGGER = "aws_lambda_powertools"

tests/functional/logger/required_dependencies/test_logger.py

+9-6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from __future__ import annotations
2+
13
import functools
24
import inspect
35
import io
@@ -9,8 +11,9 @@
911
import string
1012
import sys
1113
from collections import namedtuple
14+
from collections.abc import Callable, Iterable
1215
from datetime import datetime, timezone
13-
from typing import Any, Callable, Dict, Iterable, List, Optional, Union
16+
from typing import Any
1417

1518
import pytest
1619

@@ -855,12 +858,12 @@ def test_logger_custom_powertools_formatter_clear_state(stdout, service_name, la
855858
class CustomFormatter(LambdaPowertoolsFormatter):
856859
def __init__(
857860
self,
858-
json_serializer: Optional[Callable[[Dict], str]] = None,
859-
json_deserializer: Optional[Callable[[Union[Dict, str, bool, int, float]], str]] = None,
860-
json_default: Optional[Callable[[Any], Any]] = None,
861-
datefmt: Optional[str] = None,
861+
json_serializer: Callable[[dict], str] | None = None,
862+
json_deserializer: Callable[[dict, str, bool, int, float], str] | None = None,
863+
json_default: Callable[[Any], Any] | None = None,
864+
datefmt: str | None = None,
862865
use_datetime_directive: bool = False,
863-
log_record_order: Optional[List[str]] = None,
866+
log_record_order: list[str] | None = None,
864867
utc: bool = False,
865868
**kwargs,
866869
):

tests/functional/logger/required_dependencies/test_logger_powertools_formatter.py

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
"""aws_lambda_logging tests."""
22

3+
from __future__ import annotations
4+
35
import io
46
import json
57
import os

tests/functional/logger/required_dependencies/test_logger_utils.py

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from __future__ import annotations
2+
13
import io
24
import json
35
import logging

tests/functional/logger/required_dependencies/test_logger_with_package_logger.py

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from __future__ import annotations
2+
13
import io
24
import json
35
import logging

tests/functional/logger/required_dependencies/test_powertools_logger_buffer.py

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
"""aws_lambda_logging tests."""
22

3+
from __future__ import annotations
4+
35
import io
46
import json
57
import random

tests/unit/logger/required_dependencies/test_logger_buffer_cache.py

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from __future__ import annotations
2+
13
import pytest
24

35
from aws_lambda_powertools.logging.buffer.cache import LoggerBufferCache

tests/unit/logger/required_dependencies/test_logger_buffer_config.py

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from __future__ import annotations
2+
13
import pytest
24

35
from aws_lambda_powertools.logging.buffer import LoggerBufferConfig

tests/unit/logger/required_dependencies/test_logger_buffer_functions.py

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from __future__ import annotations
2+
13
from aws_lambda_powertools.logging.buffer.functions import _check_minimum_buffer_log_level
24

35

0 commit comments

Comments
 (0)