Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/scripts/tests/test_lintcommit.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@

sys.path.insert(0, os.path.dirname(os.path.dirname(__file__)))

import pytest
from lintcommit import lint_range, validate_message, validate_subject

# region validate_subject: valid subjects
Expand Down
2 changes: 1 addition & 1 deletion packages/aws-durable-execution-sdk-python-examples/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
try:
import boto3

from aws_durable_execution_sdk_python.lambda_service import LambdaClient
from aws_durable_execution_sdk_python.lambda_service import LambdaClient # noqa: F401

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

# noqa: F401 exempts this line from the unused imports rule, I assume because we want to keep LambdaClient available for users importing this?

How did we decide which imports to exempt from this rule? Just wondering if this PR automatically removed anything that we wanted to keep.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. LambdaClient is there as a fail-fast check. It's in the try/except ImportError block so the CLI dies early if the SDK isn't installed, rather than blowing up later.

  2. I asked Kiro to update rules in pyproject.toml, which I think enabled rules and removed all unnecessary imports. There was one import that was not directly used in file but was used at runtime, I found it after pushing changes to this PR and added noqa for it (mock-path resolution for the os one in serialization.py).

except ImportError:
sys.exit(1)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ target-version = "py311"

[tool.ruff.lint]
preview = true
select = ["TID252"] # Enforce absolute imports (ban relative imports)
select = ["F", "TID252"] # Pyflakes (unused imports, undefined names, etc.) + absolute imports

[tool.ruff.lint.isort]
known-first-party = ["aws_durable_execution_sdk_python"]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
"""Demonstrates createCallback mixed with steps, waits, and other operations."""

import time
from typing import Any

from aws_durable_execution_sdk_python.config import CallbackConfig, Duration
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Demonstrates createCallback with custom serialization/deserialization for Date objects."""

import json
from datetime import datetime, timezone
from datetime import datetime
from typing import Any, Optional

from aws_durable_execution_sdk_python.config import CallbackConfig, Duration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@
from aws_durable_execution_sdk_python.context import DurableContext
from aws_durable_execution_sdk_python.execution import durable_execution
from aws_durable_execution_sdk_python.filesystem_serdes import (
FileSystemSerDesConfig,
FileSystemSerDesMode,
FileSystemSerDes,
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ def handler(_event: Any, context: DurableContext) -> dict[str, Any]:
)

context.logger.info(
f"Starting map with config: min_successful=2, tolerated_failure_percentage=50"
"Starting map with config: min_successful=2, tolerated_failure_percentage=50"
)
context.logger.info(
f"Items pattern: {', '.join(['FAIL' if i['shouldFail'] else 'SUCCESS' for i in items])}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import json
from datetime import datetime
from typing import Any, Optional, TypedDict
from typing import Any, TypedDict

from aws_durable_execution_sdk_python.config import Duration, WaitForCallbackConfig
from aws_durable_execution_sdk_python.context import DurableContext
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ def submitter(callback_id: str, _context) -> None:
),
)

result: str = context.wait_for_callback(
context.wait_for_callback(
submitter,
name="retry-submitter-callback",
config=config,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
"""Tests for create_callback_mixed_ops."""

import json
import time

import pytest
from aws_durable_execution_sdk_python.execution import InvocationStatus
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
"""Tests for create_callback_serdes."""

import json
from datetime import datetime, timezone

import pytest
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
from aws_durable_execution_sdk_python.execution import InvocationStatus
from aws_durable_execution_sdk_python.lambda_service import (
OperationStatus,
OperationType,
)

from src.map import map_operations
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
"""Tests for wait_for_callback_multiple_invocations."""

import json
import time

import pytest
from aws_durable_execution_sdk_python.execution import InvocationStatus
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
"""Tests for wait_for_callback_serdes."""

import json
from datetime import datetime, timezone

import pytest
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
"""Tests for wait_for_callback_submitter_retry_success."""

import json

import pytest
from aws_durable_execution_sdk_python.execution import InvocationStatus

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
"""Tests for wait_for_callback_failing_submitter."""

import pytest
from aws_durable_execution_sdk_python.execution import InvocationStatus

from src.wait_for_callback import wait_for_callback_submitter_failure_catchable
from test.conftest import deserialize_operation_payload
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
"""Tests for wait_for_condition."""

import pytest
from aws_durable_execution_sdk_python.execution import InvocationStatus

from src.wait_for_condition import wait_for_condition
from test.conftest import deserialize_operation_payload


@pytest.mark.example
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ target-version = "py311"

[tool.ruff.lint]
preview = true
select = ["TID252"]
select = ["F", "TID252"] # Pyflakes (unused imports, undefined names, etc.) + absolute imports

[tool.ruff.lint.isort]
known-first-party = ["aws_durable_execution_sdk_python_otel"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
from opentelemetry.sdk.trace import IdGenerator, RandomIdGenerator

from aws_durable_execution_sdk_python_otel.deterministic_id_generator import (
HASHED_ID_PATTERN,
DeterministicIdGenerator,
_parse_xray_root_trace_id,
_to_otel_trace_id,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ target-version = "py311"

[tool.ruff.lint]
preview = false
select = ["TID252"] # Enforce absolute imports (ban relative imports)
select = ["F", "TID252"] # Pyflakes (unused imports, undefined names, etc.) + absolute imports

[tool.ruff.lint.isort]
known-first-party = ["aws_durable_execution_sdk_python_testing"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
from typing import Any
from urllib.parse import urljoin

import aws_durable_execution_sdk_python
import boto3 # type: ignore
from urllib.error import HTTPError, URLError
from urllib.request import Request, urlopen
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
from __future__ import annotations

import logging
import time
import uuid
from datetime import UTC, datetime
from typing import TYPE_CHECKING
Expand All @@ -24,7 +23,6 @@
)

from aws_durable_execution_sdk_python_testing.exceptions import (
ExecutionAlreadyStartedException,
IllegalStateException,
InvalidParameterValueException,
ResourceNotFoundException,
Expand All @@ -34,7 +32,6 @@
CheckpointDurableExecutionResponse,
CheckpointUpdatedExecutionState,
EventCreationContext,
EventType,
GetDurableExecutionHistoryResponse,
GetDurableExecutionResponse,
GetDurableExecutionStateResponse,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import json
import logging
import os
import time
from dataclasses import dataclass, field
from typing import (
Expand All @@ -16,7 +15,6 @@
cast,
)

import aws_durable_execution_sdk_python
import boto3 # type: ignore
from botocore.exceptions import ClientError # type: ignore
from aws_durable_execution_sdk_python.execution import (
Expand Down Expand Up @@ -688,7 +686,7 @@ def wait_for_callback(
)
if callback_id:
return callback_id
except ResourceNotFoundException as e:
except ResourceNotFoundException:
pass
except Exception as e:
msg = f"Failed to fetch execution history: {e}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

from __future__ import annotations

import base64
import json
import logging
from abc import ABC, abstractmethod
Expand All @@ -26,7 +25,6 @@
ListDurableExecutionsResponse,
SendDurableExecutionCallbackFailureRequest,
SendDurableExecutionCallbackFailureResponse,
SendDurableExecutionCallbackHeartbeatRequest,
SendDurableExecutionCallbackHeartbeatResponse,
SendDurableExecutionCallbackSuccessResponse,
StartDurableExecutionInput,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,10 @@
from __future__ import annotations

import json
import os
import os # noqa: F401 - accessed via module namespace in tests (mock.patch)
from typing import Any, Protocol
from datetime import datetime

import aws_durable_execution_sdk_python
import botocore.loaders # type: ignore
from botocore.model import ServiceModel # type: ignore
from botocore.parsers import create_parser # type: ignore
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
ExecutionDetails,
)
from aws_durable_execution_sdk_python_testing.exceptions import (
ExecutionAlreadyStartedException,
IllegalStateException,
InvalidParameterValueException,
ResourceNotFoundException,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
InProcessInvoker,
LambdaInvoker,
_LAMBDA_CLIENT_CONFIG,
create_lambda_client,
create_test_lambda_context,
)
from aws_durable_execution_sdk_python_testing.model import (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1319,9 +1319,6 @@ def test_cloud_runner_run_bad_status_code(mock_boto3):
@patch("aws_durable_execution_sdk_python_testing.runner.boto3")
def test_cloud_runner_run_function_error(mock_boto3):
"""Test DurableFunctionCloudTestRunner.run with function error."""
from aws_durable_execution_sdk_python_testing.exceptions import (
DurableFunctionsTestError,
)
from aws_durable_execution_sdk_python_testing.runner import (
DurableFunctionCloudTestRunner,
)
Expand Down Expand Up @@ -1412,8 +1409,6 @@ def test_durable_function_test_result_from_execution_history_filters_execution_t
"""Test from_execution_history filters out EXECUTION type operations."""
import datetime

from aws_durable_execution_sdk_python.execution import InvocationStatus

from aws_durable_execution_sdk_python_testing.model import (
Event,
GetDurableExecutionHistoryResponse,
Expand Down Expand Up @@ -1485,8 +1480,6 @@ def test_durable_function_test_result_from_execution_history_with_parent_operati
"""Test from_execution_history filters operations with parent_id."""
import datetime

from aws_durable_execution_sdk_python.execution import InvocationStatus

from aws_durable_execution_sdk_python_testing.model import (
Event,
GetDurableExecutionHistoryResponse,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@
FileSystemExecutionStore,
)

from datetime import datetime, timezone


@pytest.fixture
def temp_storage_dir():
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@

from __future__ import annotations

import base64
import json
from typing import TYPE_CHECKING, Any
from unittest.mock import Mock

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

from __future__ import annotations

import datetime
import json
from unittest.mock import Mock, patch

Expand Down
2 changes: 1 addition & 1 deletion packages/aws-durable-execution-sdk-python/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ target-version = "py311"

[tool.ruff.lint]
preview = true
select = ["TID252"] # Enforce absolute imports (ban relative imports)
select = ["F", "TID252"] # Pyflakes (unused imports, undefined names, etc.) + absolute imports

[tool.ruff.lint.isort]
known-first-party = ["aws_durable_execution_sdk_python"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
TimedSuspendExecution,
)
from aws_durable_execution_sdk_python.identifier import OperationIdentifier
from aws_durable_execution_sdk_python.lambda_service import ErrorObject, OperationType
from aws_durable_execution_sdk_python.lambda_service import ErrorObject
from aws_durable_execution_sdk_python.operation.child import child_handler


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
from aws_durable_execution_sdk_python.identifier import OperationIdentifier
from aws_durable_execution_sdk_python.lambda_service import (
OperationSubType,
OperationType,
)
from aws_durable_execution_sdk_python.logger import Logger, LogInfo
from aws_durable_execution_sdk_python.operation.callback import (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
BackgroundThreadError,
BotoClientError,
CheckpointError,
DurableExecutionsError,
ExecutionError,
InvocationError,
SuspendExecution,
Expand All @@ -26,7 +25,6 @@
InvocationStatus,
LambdaClient,
Operation,
OperationType,
OperationUpdate,
)
from aws_durable_execution_sdk_python.plugin import (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
from urllib.parse import quote

from aws_durable_execution_sdk_python.constants import CHECKPOINT_SIZE_LIMIT_BYTES
from aws_durable_execution_sdk_python.preview import build_preview
from aws_durable_execution_sdk_python.serdes import (
EXTENDED_TYPES_SERDES,
SerDes,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,16 @@
ExecutionError,
InvalidStateError,
StepInterruptedError,
SuspendExecution,
)
from aws_durable_execution_sdk_python.lambda_service import (
ErrorObject,
OperationUpdate,
OperationType,
)
from aws_durable_execution_sdk_python.logger import Logger, LogInfo
from aws_durable_execution_sdk_python.operation.base import (
CheckResult,
OperationExecutor,
)
from aws_durable_execution_sdk_python.plugin import UserFunctionStartInfo
from aws_durable_execution_sdk_python.retries import RetryDecision, RetryPresets
from aws_durable_execution_sdk_python.serdes import deserialize, serialize
from aws_durable_execution_sdk_python.suspend import (
Expand Down
Loading