Skip to content

Commit 07a8db9

Browse files
committed
refactor(examples): add from __future__ import annotations
and update code according to ruff rules TCH, UP006, UP007, UP037 and FA100.
1 parent 2d59b7a commit 07a8db9

File tree

382 files changed

+2217
-554
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

382 files changed

+2217
-554
lines changed

examples/batch_processing/src/advanced_accessing_lambda_context.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,25 @@
1-
from typing import Optional
1+
from __future__ import annotations
2+
3+
from typing import TYPE_CHECKING
24

35
from aws_lambda_powertools import Logger, Tracer
46
from aws_lambda_powertools.utilities.batch import (
57
BatchProcessor,
68
EventType,
79
process_partial_response,
810
)
9-
from aws_lambda_powertools.utilities.data_classes.sqs_event import SQSRecord
10-
from aws_lambda_powertools.utilities.typing import LambdaContext
11+
12+
if TYPE_CHECKING:
13+
from aws_lambda_powertools.utilities.data_classes.sqs_event import SQSRecord
14+
from aws_lambda_powertools.utilities.typing import LambdaContext
1115

1216
processor = BatchProcessor(event_type=EventType.SQS)
1317
tracer = Tracer()
1418
logger = Logger()
1519

1620

1721
@tracer.capture_method
18-
def record_handler(record: SQSRecord, lambda_context: Optional[LambdaContext] = None):
22+
def record_handler(record: SQSRecord, lambda_context: LambdaContext | None = None):
1923
if lambda_context is not None:
2024
remaining_time = lambda_context.get_remaining_time_in_millis()
2125
logger.info(remaining_time)

examples/batch_processing/src/advanced_accessing_lambda_context_decorator.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,25 @@
1-
from typing import Optional
1+
from __future__ import annotations
2+
3+
from typing import TYPE_CHECKING
24

35
from aws_lambda_powertools import Logger, Tracer
46
from aws_lambda_powertools.utilities.batch import (
57
BatchProcessor,
68
EventType,
79
batch_processor,
810
)
9-
from aws_lambda_powertools.utilities.data_classes.sqs_event import SQSRecord
10-
from aws_lambda_powertools.utilities.typing import LambdaContext
11+
12+
if TYPE_CHECKING:
13+
from aws_lambda_powertools.utilities.data_classes.sqs_event import SQSRecord
14+
from aws_lambda_powertools.utilities.typing import LambdaContext
1115

1216
processor = BatchProcessor(event_type=EventType.SQS)
1317
tracer = Tracer()
1418
logger = Logger()
1519

1620

1721
@tracer.capture_method
18-
def record_handler(record: SQSRecord, lambda_context: Optional[LambdaContext] = None):
22+
def record_handler(record: SQSRecord, lambda_context: LambdaContext | None = None):
1923
if lambda_context is not None:
2024
remaining_time = lambda_context.get_remaining_time_in_millis()
2125
logger.info(remaining_time)

examples/batch_processing/src/advanced_accessing_lambda_context_manager.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
1-
from typing import Optional
1+
from __future__ import annotations
2+
3+
from typing import TYPE_CHECKING
24

35
from aws_lambda_powertools import Logger, Tracer
46
from aws_lambda_powertools.utilities.batch import BatchProcessor, EventType
5-
from aws_lambda_powertools.utilities.data_classes.sqs_event import SQSRecord
6-
from aws_lambda_powertools.utilities.typing import LambdaContext
7+
8+
if TYPE_CHECKING:
9+
from aws_lambda_powertools.utilities.data_classes.sqs_event import SQSRecord
10+
from aws_lambda_powertools.utilities.typing import LambdaContext
711

812
processor = BatchProcessor(event_type=EventType.SQS)
913
tracer = Tracer()
1014
logger = Logger()
1115

1216

1317
@tracer.capture_method
14-
def record_handler(record: SQSRecord, lambda_context: Optional[LambdaContext] = None):
18+
def record_handler(record: SQSRecord, lambda_context: LambdaContext | None = None):
1519
if lambda_context is not None:
1620
remaining_time = lambda_context.get_remaining_time_in_millis()
1721
logger.info(remaining_time)

examples/batch_processing/src/context_manager_access.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
from __future__ import annotations
22

33
import json
4-
from typing import List, Tuple
4+
from typing import TYPE_CHECKING
55

66
from typing_extensions import Literal
77

88
from aws_lambda_powertools import Logger, Tracer
99
from aws_lambda_powertools.utilities.batch import BatchProcessor, EventType
10-
from aws_lambda_powertools.utilities.data_classes.sqs_event import SQSRecord
11-
from aws_lambda_powertools.utilities.typing import LambdaContext
10+
11+
if TYPE_CHECKING:
12+
from aws_lambda_powertools.utilities.data_classes.sqs_event import SQSRecord
13+
from aws_lambda_powertools.utilities.typing import LambdaContext
1214

1315
processor = BatchProcessor(event_type=EventType.SQS)
1416
tracer = Tracer()
@@ -28,7 +30,7 @@ def record_handler(record: SQSRecord):
2830
def lambda_handler(event, context: LambdaContext):
2931
batch = event["Records"] # (1)!
3032
with processor(records=batch, handler=record_handler):
31-
processed_messages: List[Tuple] = processor.process()
33+
processed_messages: list[tuple] = processor.process()
3234

3335
for message in processed_messages:
3436
status: Literal["success", "fail"] = message[0]

examples/batch_processing/src/custom_partial_processor.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1+
from __future__ import annotations
2+
13
import copy
24
import os
35
import sys
46
from random import randint
5-
from typing import Any
7+
from typing import TYPE_CHECKING, Any
68

79
import boto3
810

@@ -11,7 +13,9 @@
1113
BasePartialProcessor,
1214
process_partial_response,
1315
)
14-
from aws_lambda_powertools.utilities.batch.types import PartialItemFailureResponse
16+
17+
if TYPE_CHECKING:
18+
from aws_lambda_powertools.utilities.batch.types import PartialItemFailureResponse
1519

1620
table_name = os.getenv("TABLE_NAME", "table_store_batch")
1721

examples/batch_processing/src/disable_tracing.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
1+
from __future__ import annotations
2+
13
import json
4+
from typing import TYPE_CHECKING
25

36
from aws_lambda_powertools import Logger, Tracer
47
from aws_lambda_powertools.utilities.batch import (
58
BatchProcessor,
69
EventType,
710
process_partial_response,
811
)
9-
from aws_lambda_powertools.utilities.data_classes.sqs_event import SQSRecord
10-
from aws_lambda_powertools.utilities.typing import LambdaContext
12+
13+
if TYPE_CHECKING:
14+
from aws_lambda_powertools.utilities.data_classes.sqs_event import SQSRecord
15+
from aws_lambda_powertools.utilities.typing import LambdaContext
1116

1217
processor = BatchProcessor(event_type=EventType.SQS)
1318
tracer = Tracer()

examples/batch_processing/src/extending_processor_handlers.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1+
from __future__ import annotations
2+
13
import json
2-
from typing import Any, Dict
4+
from typing import TYPE_CHECKING, Any
35

46
from aws_lambda_powertools import Logger, Metrics, Tracer
57
from aws_lambda_powertools.metrics import MetricUnit
@@ -10,13 +12,15 @@
1012
FailureResponse,
1113
process_partial_response,
1214
)
13-
from aws_lambda_powertools.utilities.batch.base import SuccessResponse
14-
from aws_lambda_powertools.utilities.data_classes.sqs_event import SQSRecord
15-
from aws_lambda_powertools.utilities.typing import LambdaContext
15+
16+
if TYPE_CHECKING:
17+
from aws_lambda_powertools.utilities.batch.base import SuccessResponse
18+
from aws_lambda_powertools.utilities.data_classes.sqs_event import SQSRecord
19+
from aws_lambda_powertools.utilities.typing import LambdaContext
1620

1721

1822
class MyProcessor(BatchProcessor):
19-
def success_handler(self, record: Dict[str, Any], result: Any) -> SuccessResponse:
23+
def success_handler(self, record: dict[str, Any], result: Any) -> SuccessResponse:
2024
metrics.add_metric(name="BatchRecordSuccesses", unit=MetricUnit.Count, value=1)
2125
return super().success_handler(record, result)
2226

examples/batch_processing/src/getting_started_async.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
1+
from __future__ import annotations
2+
3+
from typing import TYPE_CHECKING
4+
15
import httpx # external dependency
26

37
from aws_lambda_powertools.utilities.batch import (
48
AsyncBatchProcessor,
59
EventType,
610
async_process_partial_response,
711
)
8-
from aws_lambda_powertools.utilities.data_classes.sqs_event import SQSRecord
9-
from aws_lambda_powertools.utilities.typing import LambdaContext
12+
13+
if TYPE_CHECKING:
14+
from aws_lambda_powertools.utilities.data_classes.sqs_event import SQSRecord
15+
from aws_lambda_powertools.utilities.typing import LambdaContext
1016

1117
processor = AsyncBatchProcessor(event_type=EventType.SQS)
1218

examples/batch_processing/src/getting_started_dynamodb.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,20 @@
1+
from __future__ import annotations
2+
13
import json
4+
from typing import TYPE_CHECKING
25

36
from aws_lambda_powertools import Logger, Tracer
47
from aws_lambda_powertools.utilities.batch import (
58
BatchProcessor,
69
EventType,
710
process_partial_response,
811
)
9-
from aws_lambda_powertools.utilities.data_classes.dynamo_db_stream_event import (
10-
DynamoDBRecord,
11-
)
12-
from aws_lambda_powertools.utilities.typing import LambdaContext
12+
13+
if TYPE_CHECKING:
14+
from aws_lambda_powertools.utilities.data_classes.dynamo_db_stream_event import (
15+
DynamoDBRecord,
16+
)
17+
from aws_lambda_powertools.utilities.typing import LambdaContext
1318

1419
processor = BatchProcessor(event_type=EventType.DynamoDBStreams) # (1)!
1520
tracer = Tracer()

examples/batch_processing/src/getting_started_dynamodb_context_manager.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
1+
from __future__ import annotations
2+
13
import json
4+
from typing import TYPE_CHECKING
25

36
from aws_lambda_powertools import Logger, Tracer
47
from aws_lambda_powertools.utilities.batch import BatchProcessor, EventType
5-
from aws_lambda_powertools.utilities.data_classes.dynamo_db_stream_event import (
6-
DynamoDBRecord,
7-
)
8-
from aws_lambda_powertools.utilities.typing import LambdaContext
8+
9+
if TYPE_CHECKING:
10+
from aws_lambda_powertools.utilities.data_classes.dynamo_db_stream_event import (
11+
DynamoDBRecord,
12+
)
13+
from aws_lambda_powertools.utilities.typing import LambdaContext
914

1015
processor = BatchProcessor(event_type=EventType.DynamoDBStreams)
1116
tracer = Tracer()

examples/batch_processing/src/getting_started_dynamodb_decorator.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,20 @@
1+
from __future__ import annotations
2+
13
import json
4+
from typing import TYPE_CHECKING
25

36
from aws_lambda_powertools import Logger, Tracer
47
from aws_lambda_powertools.utilities.batch import (
58
BatchProcessor,
69
EventType,
710
batch_processor,
811
)
9-
from aws_lambda_powertools.utilities.data_classes.dynamo_db_stream_event import (
10-
DynamoDBRecord,
11-
)
12-
from aws_lambda_powertools.utilities.typing import LambdaContext
12+
13+
if TYPE_CHECKING:
14+
from aws_lambda_powertools.utilities.data_classes.dynamo_db_stream_event import (
15+
DynamoDBRecord,
16+
)
17+
from aws_lambda_powertools.utilities.typing import LambdaContext
1318

1419
processor = BatchProcessor(event_type=EventType.DynamoDBStreams)
1520
tracer = Tracer()

examples/batch_processing/src/getting_started_error_handling.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,24 @@
1+
from __future__ import annotations
2+
3+
from typing import TYPE_CHECKING
4+
15
from aws_lambda_powertools import Logger, Tracer
26
from aws_lambda_powertools.utilities.batch import (
37
BatchProcessor,
48
EventType,
59
process_partial_response,
610
)
7-
from aws_lambda_powertools.utilities.data_classes.sqs_event import SQSRecord
8-
from aws_lambda_powertools.utilities.typing import LambdaContext
11+
12+
if TYPE_CHECKING:
13+
from aws_lambda_powertools.utilities.data_classes.sqs_event import SQSRecord
14+
from aws_lambda_powertools.utilities.typing import LambdaContext
915

1016
processor = BatchProcessor(event_type=EventType.SQS)
1117
tracer = Tracer()
1218
logger = Logger()
1319

1420

15-
class InvalidPayload(Exception):
16-
...
21+
class InvalidPayload(Exception): ...
1722

1823

1924
@tracer.capture_method

examples/batch_processing/src/getting_started_kinesis.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,19 @@
1+
from __future__ import annotations
2+
3+
from typing import TYPE_CHECKING
4+
15
from aws_lambda_powertools import Logger, Tracer
26
from aws_lambda_powertools.utilities.batch import (
37
BatchProcessor,
48
EventType,
59
process_partial_response,
610
)
7-
from aws_lambda_powertools.utilities.data_classes.kinesis_stream_event import (
8-
KinesisStreamRecord,
9-
)
10-
from aws_lambda_powertools.utilities.typing import LambdaContext
11+
12+
if TYPE_CHECKING:
13+
from aws_lambda_powertools.utilities.data_classes.kinesis_stream_event import (
14+
KinesisStreamRecord,
15+
)
16+
from aws_lambda_powertools.utilities.typing import LambdaContext
1117

1218
processor = BatchProcessor(event_type=EventType.KinesisDataStreams) # (1)!
1319
tracer = Tracer()

examples/batch_processing/src/getting_started_kinesis_context_manager.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
1+
from __future__ import annotations
2+
3+
from typing import TYPE_CHECKING
4+
15
from aws_lambda_powertools import Logger, Tracer
26
from aws_lambda_powertools.utilities.batch import BatchProcessor, EventType
3-
from aws_lambda_powertools.utilities.data_classes.kinesis_stream_event import (
4-
KinesisStreamRecord,
5-
)
6-
from aws_lambda_powertools.utilities.typing import LambdaContext
7+
8+
if TYPE_CHECKING:
9+
from aws_lambda_powertools.utilities.data_classes.kinesis_stream_event import (
10+
KinesisStreamRecord,
11+
)
12+
from aws_lambda_powertools.utilities.typing import LambdaContext
713

814
processor = BatchProcessor(event_type=EventType.KinesisDataStreams)
915
tracer = Tracer()

examples/batch_processing/src/getting_started_kinesis_decorator.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,19 @@
1+
from __future__ import annotations
2+
3+
from typing import TYPE_CHECKING
4+
15
from aws_lambda_powertools import Logger, Tracer
26
from aws_lambda_powertools.utilities.batch import (
37
BatchProcessor,
48
EventType,
59
batch_processor,
610
)
7-
from aws_lambda_powertools.utilities.data_classes.kinesis_stream_event import (
8-
KinesisStreamRecord,
9-
)
10-
from aws_lambda_powertools.utilities.typing import LambdaContext
11+
12+
if TYPE_CHECKING:
13+
from aws_lambda_powertools.utilities.data_classes.kinesis_stream_event import (
14+
KinesisStreamRecord,
15+
)
16+
from aws_lambda_powertools.utilities.typing import LambdaContext
1117

1218
processor = BatchProcessor(event_type=EventType.KinesisDataStreams)
1319
tracer = Tracer()

examples/batch_processing/src/getting_started_sqs.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
1+
from __future__ import annotations
2+
3+
from typing import TYPE_CHECKING
4+
15
from aws_lambda_powertools import Logger, Tracer
26
from aws_lambda_powertools.utilities.batch import (
37
BatchProcessor,
48
EventType,
59
process_partial_response,
610
)
7-
from aws_lambda_powertools.utilities.data_classes.sqs_event import SQSRecord
8-
from aws_lambda_powertools.utilities.typing import LambdaContext
11+
12+
if TYPE_CHECKING:
13+
from aws_lambda_powertools.utilities.data_classes.sqs_event import SQSRecord
14+
from aws_lambda_powertools.utilities.typing import LambdaContext
915

1016
processor = BatchProcessor(event_type=EventType.SQS) # (1)!
1117
tracer = Tracer()

0 commit comments

Comments
 (0)