Skip to content

Commit

Permalink
fix: remove unnecessary typing-extensions for py3.8
Browse files Browse the repository at this point in the history
  • Loading branch information
nadobando committed Feb 3, 2021
1 parent 575a103 commit f584ed4
Show file tree
Hide file tree
Showing 9 changed files with 24 additions and 8 deletions.
3 changes: 2 additions & 1 deletion aws_lambda_powertools/utilities/parser/models/dynamodb.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
from typing import Any, Dict, List, Optional

from pydantic import BaseModel
from typing_extensions import Literal

from ..types import Literal


class DynamoDBStreamChangedRecordModel(BaseModel):
Expand Down
3 changes: 2 additions & 1 deletion aws_lambda_powertools/utilities/parser/models/kinesis.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@

from pydantic import BaseModel, validator
from pydantic.types import PositiveInt
from typing_extensions import Literal

from ..types import Literal

logger = logging.getLogger(__name__)

Expand Down
3 changes: 2 additions & 1 deletion aws_lambda_powertools/utilities/parser/models/s3.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
from pydantic.fields import Field
from pydantic.networks import IPvAnyNetwork
from pydantic.types import PositiveInt
from typing_extensions import Literal

from ..types import Literal


class S3EventRecordGlacierRestoreEventData(BaseModel):
Expand Down
3 changes: 2 additions & 1 deletion aws_lambda_powertools/utilities/parser/models/ses.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
from pydantic import BaseModel, Field
from pydantic.networks import EmailStr
from pydantic.types import PositiveInt
from typing_extensions import Literal

from ..types import Literal


class SesReceiptVerdict(BaseModel):
Expand Down
3 changes: 2 additions & 1 deletion aws_lambda_powertools/utilities/parser/models/sns.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@

from pydantic import BaseModel, root_validator
from pydantic.networks import HttpUrl
from typing_extensions import Literal

from ..types import Literal


class SnsMsgAttributeModel(BaseModel):
Expand Down
3 changes: 2 additions & 1 deletion aws_lambda_powertools/utilities/parser/models/sqs.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
from typing import Dict, List, Optional

from pydantic import BaseModel
from typing_extensions import Literal

from ..types import Literal


class SqsAttributesModel(BaseModel):
Expand Down
10 changes: 10 additions & 0 deletions aws_lambda_powertools/utilities/parser/types.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
"""Generics and other shared types used across parser"""
import sys
from typing import TypeVar

from pydantic import BaseModel

# Workaround for not importing typing_extensions on python ^3.8
if sys.version_info[0] > 3 or (sys.version_info[0] == 3 and sys.version_info[1] >= 8):
from typing import Literal # noqa: F401
else:
try:
from typing_extensions import Literal # noqa: F401
except ImportError:
raise Exception("please install typing-extensions or upgrade to Python >= 3.8")

Model = TypeVar("Model", bound=BaseModel)
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ boto3 = "^1.12"
jmespath = "^0.10.0"
pydantic = {version = "^1.6.0", optional = true }
email-validator = {version = "*", optional = true }
typing_extensions = {version = "^3.7.4.2", optional = true }
typing_extensions = {version = "^3.7.4.2", optional = true, python= "<3.8" }

[tool.poetry.dev-dependencies]
coverage = {extras = ["toml"], version = "^5.0.3"}
Expand Down
2 changes: 1 addition & 1 deletion tests/functional/parser/schemas.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
from typing import Dict, List, Optional

from pydantic import BaseModel
from typing_extensions import Literal

from aws_lambda_powertools.utilities.parser.models import (
DynamoDBStreamChangedRecordModel,
Expand All @@ -14,6 +13,7 @@
SqsModel,
SqsRecordModel,
)
from aws_lambda_powertools.utilities.parser.types import Literal


class MyDynamoBusiness(BaseModel):
Expand Down

0 comments on commit f584ed4

Please sign in to comment.