From 783a8d0e5ca0333931e9ff0af93b6b0bf93e86e6 Mon Sep 17 00:00:00 2001 From: Leandro Damascena Date: Tue, 15 Apr 2025 23:37:07 +0100 Subject: [PATCH] Using generics types --- aws_lambda_powertools/utilities/idempotency/base.py | 4 +++- aws_lambda_powertools/utilities/idempotency/idempotency.py | 4 +++- .../utilities/idempotency/serialization/custom_dict.py | 5 ++++- tests/functional/idempotency/_boto3/conftest.py | 2 ++ tests/unit/idempotency/test_dynamodb_persistence.py | 2 ++ 5 files changed, 14 insertions(+), 3 deletions(-) diff --git a/aws_lambda_powertools/utilities/idempotency/base.py b/aws_lambda_powertools/utilities/idempotency/base.py index 1ab1b9fa570..e1a7d78da40 100644 --- a/aws_lambda_powertools/utilities/idempotency/base.py +++ b/aws_lambda_powertools/utilities/idempotency/base.py @@ -9,7 +9,7 @@ import datetime import logging from copy import deepcopy -from typing import TYPE_CHECKING, Any, Callable +from typing import TYPE_CHECKING, Any from aws_lambda_powertools.utilities.idempotency.exceptions import ( IdempotencyAlreadyInProgressError, @@ -29,6 +29,8 @@ ) if TYPE_CHECKING: + from collections.abc import Callable + from aws_lambda_powertools.utilities.idempotency.config import ( IdempotencyConfig, ) diff --git a/aws_lambda_powertools/utilities/idempotency/idempotency.py b/aws_lambda_powertools/utilities/idempotency/idempotency.py index 6aec2572fb1..f59d7df7179 100644 --- a/aws_lambda_powertools/utilities/idempotency/idempotency.py +++ b/aws_lambda_powertools/utilities/idempotency/idempotency.py @@ -9,7 +9,7 @@ import os import warnings from inspect import isclass -from typing import TYPE_CHECKING, Any, Callable, cast +from typing import TYPE_CHECKING, Any, cast from aws_lambda_powertools.middleware_factory import lambda_handler_decorator from aws_lambda_powertools.shared import constants @@ -23,6 +23,8 @@ ) if TYPE_CHECKING: + from collections.abc import Callable + from aws_lambda_powertools.utilities.idempotency.persistence.base import ( BasePersistenceLayer, ) diff --git a/aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py b/aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py index 3483f86b3a3..116178f6955 100644 --- a/aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py +++ b/aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py @@ -1,9 +1,12 @@ from __future__ import annotations -from typing import Any, Callable +from typing import TYPE_CHECKING, Any from aws_lambda_powertools.utilities.idempotency.serialization.base import BaseIdempotencySerializer +if TYPE_CHECKING: + from collections.abc import Callable + class CustomDictSerializer(BaseIdempotencySerializer): def __init__(self, to_dict: Callable[[Any], dict], from_dict: Callable[[dict], Any]): diff --git a/tests/functional/idempotency/_boto3/conftest.py b/tests/functional/idempotency/_boto3/conftest.py index 0b113c08753..cfc1d994619 100644 --- a/tests/functional/idempotency/_boto3/conftest.py +++ b/tests/functional/idempotency/_boto3/conftest.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import datetime import json from decimal import Decimal diff --git a/tests/unit/idempotency/test_dynamodb_persistence.py b/tests/unit/idempotency/test_dynamodb_persistence.py index b27ef00550c..e9fb5785e44 100644 --- a/tests/unit/idempotency/test_dynamodb_persistence.py +++ b/tests/unit/idempotency/test_dynamodb_persistence.py @@ -1,3 +1,5 @@ +from __future__ import annotations + from dataclasses import dataclass from aws_lambda_powertools.utilities.idempotency import DynamoDBPersistenceLayer