From e04f76c5f39406cdd614bc6ece36722a0776ea03 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Sat, 9 Sep 2023 21:32:18 +0500 Subject: [PATCH 01/29] Made typehints and imports compatible to Python3.7 --- src/dynamodb_encryption_sdk/structures.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/dynamodb_encryption_sdk/structures.py b/src/dynamodb_encryption_sdk/structures.py index 522f1d14..728fe520 100644 --- a/src/dynamodb_encryption_sdk/structures.py +++ b/src/dynamodb_encryption_sdk/structures.py @@ -22,13 +22,6 @@ from .identifiers import CryptoAction -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Dict, Iterable, List, Optional, Set, Text # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass - - __all__ = ("EncryptionContext", "AttributeActions", "TableIndex", "TableInfo") From 30367f348eb57bb8994e35d4046ad7dbcfab023a Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Tue, 12 Sep 2023 21:28:28 +0500 Subject: [PATCH 02/29] import typings --- src/dynamodb_encryption_sdk/structures.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/dynamodb_encryption_sdk/structures.py b/src/dynamodb_encryption_sdk/structures.py index 728fe520..53c99e96 100644 --- a/src/dynamodb_encryption_sdk/structures.py +++ b/src/dynamodb_encryption_sdk/structures.py @@ -21,6 +21,7 @@ from dynamodb_encryption_sdk.internal.validators import dictionary_validator, iterable_validator from .identifiers import CryptoAction +from typing import Dict, Iterable, List, Optional, Set, Text __all__ = ("EncryptionContext", "AttributeActions", "TableIndex", "TableInfo") From b4e40e32428f21a905975640a990ba03f129b5c1 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Wed, 20 Sep 2023 22:28:23 +0500 Subject: [PATCH 03/29] removed-typehints-and-imports --- .../delegated_keys/__init__.py | 6 +--- .../delegated_keys/jce.py | 6 +--- .../encrypted/__init__.py | 6 +--- .../encrypted/client.py | 6 +--- src/dynamodb_encryption_sdk/encrypted/item.py | 7 ++-- .../encrypted/resource.py | 6 +--- .../encrypted/table.py | 6 +--- .../internal/crypto/authentication.py | 8 ++--- .../internal/crypto/encryption.py | 10 +++--- .../crypto/jce_bridge/authentication.py | 7 ++-- .../internal/crypto/jce_bridge/primitives.py | 6 +--- .../internal/dynamodb_types.py | 36 +++++++++---------- .../formatting/deserialize/attribute.py | 8 ++--- .../formatting/material_description.py | 9 ++--- .../internal/formatting/serialize/__init__.py | 7 ++-- .../formatting/serialize/attribute.py | 8 ++--- .../internal/identifiers.py | 7 ++-- src/dynamodb_encryption_sdk/internal/utils.py | 7 ++-- .../material_providers/aws_kms.py | 9 ++--- .../material_providers/most_recent.py | 6 +--- .../material_providers/static.py | 6 +--- .../material_providers/store/__init__.py | 7 +--- .../material_providers/store/meta.py | 6 +--- .../material_providers/wrapped.py | 12 +------ .../materials/__init__.py | 8 ++--- src/dynamodb_encryption_sdk/materials/raw.py | 7 +--- .../materials/wrapped.py | 7 +--- src/dynamodb_encryption_sdk/transform.py | 7 ++-- 28 files changed, 58 insertions(+), 173 deletions(-) diff --git a/src/dynamodb_encryption_sdk/delegated_keys/__init__.py b/src/dynamodb_encryption_sdk/delegated_keys/__init__.py index d301543a..510cb9bf 100644 --- a/src/dynamodb_encryption_sdk/delegated_keys/__init__.py +++ b/src/dynamodb_encryption_sdk/delegated_keys/__init__.py @@ -17,11 +17,7 @@ from dynamodb_encryption_sdk.identifiers import EncryptionKeyType # noqa pylint: disable=unused-import -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Dict, Optional, Text # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Dict, Optional, Text __all__ = ("DelegatedKey",) diff --git a/src/dynamodb_encryption_sdk/delegated_keys/jce.py b/src/dynamodb_encryption_sdk/delegated_keys/jce.py index 4edc6b2c..f935fa69 100644 --- a/src/dynamodb_encryption_sdk/delegated_keys/jce.py +++ b/src/dynamodb_encryption_sdk/delegated_keys/jce.py @@ -28,11 +28,7 @@ from . import DelegatedKey -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Dict, Optional, Text # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Dict, Optional, Text __all__ = ("JceNameLocalDelegatedKey",) diff --git a/src/dynamodb_encryption_sdk/encrypted/__init__.py b/src/dynamodb_encryption_sdk/encrypted/__init__.py index e3e89ec1..5a3af820 100644 --- a/src/dynamodb_encryption_sdk/encrypted/__init__.py +++ b/src/dynamodb_encryption_sdk/encrypted/__init__.py @@ -21,11 +21,7 @@ from dynamodb_encryption_sdk.materials import CryptographicMaterials # noqa pylint: disable=unused-import from dynamodb_encryption_sdk.structures import AttributeActions, EncryptionContext -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Dict # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Dict __all__ = ("CryptoConfig",) diff --git a/src/dynamodb_encryption_sdk/encrypted/client.py b/src/dynamodb_encryption_sdk/encrypted/client.py index d3858a00..e50ebaed 100644 --- a/src/dynamodb_encryption_sdk/encrypted/client.py +++ b/src/dynamodb_encryption_sdk/encrypted/client.py @@ -34,11 +34,7 @@ from .item import decrypt_dynamodb_item, decrypt_python_item, encrypt_dynamodb_item, encrypt_python_item -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Any, Callable, Dict, Iterator, Optional # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Any, Callable, Dict, Iterator, Optional __all__ = ("EncryptedClient", "EncryptedPaginator") diff --git a/src/dynamodb_encryption_sdk/encrypted/item.py b/src/dynamodb_encryption_sdk/encrypted/item.py index b491a34a..c2889ecd 100644 --- a/src/dynamodb_encryption_sdk/encrypted/item.py +++ b/src/dynamodb_encryption_sdk/encrypted/item.py @@ -11,11 +11,7 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. """Top-level functions for encrypting and decrypting DynamoDB items.""" -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from dynamodb_encryption_sdk.internal import dynamodb_types # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from dynamodb_encryption_sdk.internal import dynamodb_types from dynamodb_encryption_sdk.exceptions import DecryptionError, EncryptionError from dynamodb_encryption_sdk.identifiers import CryptoAction @@ -34,6 +30,7 @@ from . import CryptoConfig # noqa pylint: disable=unused-import + __all__ = ("encrypt_dynamodb_item", "encrypt_python_item", "decrypt_dynamodb_item", "decrypt_python_item") diff --git a/src/dynamodb_encryption_sdk/encrypted/resource.py b/src/dynamodb_encryption_sdk/encrypted/resource.py index f5ecf6c6..ae316850 100644 --- a/src/dynamodb_encryption_sdk/encrypted/resource.py +++ b/src/dynamodb_encryption_sdk/encrypted/resource.py @@ -29,11 +29,7 @@ from .item import decrypt_python_item, encrypt_python_item from .table import EncryptedTable -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Optional # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Optional __all__ = ("EncryptedResource", "EncryptedTablesCollectionManager") diff --git a/src/dynamodb_encryption_sdk/encrypted/table.py b/src/dynamodb_encryption_sdk/encrypted/table.py index 1cef41a0..7ddf5e15 100644 --- a/src/dynamodb_encryption_sdk/encrypted/table.py +++ b/src/dynamodb_encryption_sdk/encrypted/table.py @@ -30,11 +30,7 @@ from .client import EncryptedClient from .item import decrypt_python_item, encrypt_python_item -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Optional # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Optional __all__ = ("EncryptedTable",) diff --git a/src/dynamodb_encryption_sdk/internal/crypto/authentication.py b/src/dynamodb_encryption_sdk/internal/crypto/authentication.py index d5247688..b2cf0b4e 100644 --- a/src/dynamodb_encryption_sdk/internal/crypto/authentication.py +++ b/src/dynamodb_encryption_sdk/internal/crypto/authentication.py @@ -26,13 +26,9 @@ from dynamodb_encryption_sdk.internal.identifiers import TEXT_ENCODING, SignatureValues, Tag from dynamodb_encryption_sdk.structures import AttributeActions # noqa pylint: disable=unused-import -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Text # noqa pylint: disable=unused-import +from typing import Text - from dynamodb_encryption_sdk.internal import dynamodb_types # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from dynamodb_encryption_sdk.internal import dynamodb_types __all__ = ("sign_item", "verify_item_signature") diff --git a/src/dynamodb_encryption_sdk/internal/crypto/encryption.py b/src/dynamodb_encryption_sdk/internal/crypto/encryption.py index 3737d520..4d865955 100644 --- a/src/dynamodb_encryption_sdk/internal/crypto/encryption.py +++ b/src/dynamodb_encryption_sdk/internal/crypto/encryption.py @@ -16,19 +16,17 @@ No guarantee is provided on the modules and APIs within this namespace staying consistent. Directly reference at your own risk. """ -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Text # noqa pylint: disable=unused-import - from dynamodb_encryption_sdk.internal import dynamodb_types # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Text + +from dynamodb_encryption_sdk.internal import dynamodb_types from dynamodb_encryption_sdk.delegated_keys import DelegatedKey # noqa pylint: disable=unused-import from dynamodb_encryption_sdk.internal.formatting.deserialize.attribute import deserialize_attribute from dynamodb_encryption_sdk.internal.formatting.serialize.attribute import serialize_attribute from dynamodb_encryption_sdk.internal.identifiers import Tag + __all__ = ("encrypt_attribute", "decrypt_attribute") diff --git a/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/authentication.py b/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/authentication.py index b2244ac7..3570b013 100644 --- a/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/authentication.py +++ b/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/authentication.py @@ -32,11 +32,8 @@ from .primitives import load_rsa_key -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Any, Callable, Text # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Any, Callable, Text + __all__ = ("JavaAuthenticator", "JavaMac", "JavaSignature", "JAVA_AUTHENTICATOR") _LOGGER = logging.getLogger(LOGGER_NAME) diff --git a/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/primitives.py b/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/primitives.py index 564bed80..a1893806 100644 --- a/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/primitives.py +++ b/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/primitives.py @@ -38,11 +38,7 @@ from dynamodb_encryption_sdk.internal.identifiers import MinimumKeySizes from dynamodb_encryption_sdk.internal.validators import callable_validator -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Any, Callable, Text # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Any, Callable, Text __all__ = ( diff --git a/src/dynamodb_encryption_sdk/internal/dynamodb_types.py b/src/dynamodb_encryption_sdk/internal/dynamodb_types.py index 0509a59b..4593b535 100644 --- a/src/dynamodb_encryption_sdk/internal/dynamodb_types.py +++ b/src/dynamodb_encryption_sdk/internal/dynamodb_types.py @@ -5,24 +5,20 @@ namespace staying consistent. Directly reference at your own risk. """ # constant naming for types so pylint: disable=invalid-name -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Any, AnyStr, ByteString, Dict, List, Text +from typing import Any, AnyStr, ByteString, Dict, List, Text - # https://github.com/aws/aws-dynamodb-encryption-python/issues/66 - ATTRIBUTE = Dict[Text, Any] # narrow this down - ITEM = Dict[Text, ATTRIBUTE] - RAW_ATTRIBUTE = ITEM - NULL = bool # DynamoDB TypeSerializer converts none to {'NULL': True} - BOOLEAN = bool - # https://github.com/aws/aws-dynamodb-encryption-python/issues/66 - NUMBER = int # This misses long on Python 2...figure out something for this - # https://github.com/aws/aws-dynamodb-encryption-python/issues/66 - STRING = AnyStr # can be unicode but should not be bytes - BINARY = ByteString - BINARY_ATTRIBUTE = Dict[Text, BINARY] - SET = List # DynamoDB TypeSerializer converts sets into lists - MAP = RAW_ATTRIBUTE - LIST = List[RAW_ATTRIBUTE] -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +# https://github.com/aws/aws-dynamodb-encryption-python/issues/66 +ATTRIBUTE = Dict[Text, Any] # narrow this down +ITEM = Dict[Text, ATTRIBUTE] +RAW_ATTRIBUTE = ITEM +NULL = bool # DynamoDB TypeSerializer converts none to {'NULL': True} +BOOLEAN = bool +# https://github.com/aws/aws-dynamodb-encryption-python/issues/66 +NUMBER = int # This misses long on Python 2...figure out something for this +# https://github.com/aws/aws-dynamodb-encryption-python/issues/66 +STRING = AnyStr # can be unicode but should not be bytes +BINARY = ByteString +BINARY_ATTRIBUTE = Dict[Text, BINARY] +SET = List # DynamoDB TypeSerializer converts sets into lists +MAP = RAW_ATTRIBUTE +LIST = List[RAW_ATTRIBUTE] \ No newline at end of file diff --git a/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py b/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py index 41058916..dac78cd1 100644 --- a/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py +++ b/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py @@ -30,13 +30,9 @@ from dynamodb_encryption_sdk.internal.identifiers import TEXT_ENCODING, Tag, TagValues from dynamodb_encryption_sdk.internal.str_ops import to_str -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Callable, Dict, List, Text, Union # noqa pylint: disable=unused-import +from typing import Callable, Dict, List, Text, Union - from dynamodb_encryption_sdk.internal import dynamodb_types # noqa pylint: disable=unused-import,ungrouped-imports -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from dynamodb_encryption_sdk.internal import dynamodb_types __all__ = ("deserialize_attribute",) diff --git a/src/dynamodb_encryption_sdk/internal/formatting/material_description.py b/src/dynamodb_encryption_sdk/internal/formatting/material_description.py index 1f6af4a2..ff80e3e8 100644 --- a/src/dynamodb_encryption_sdk/internal/formatting/material_description.py +++ b/src/dynamodb_encryption_sdk/internal/formatting/material_description.py @@ -28,13 +28,8 @@ from .deserialize import decode_value, unpack_value from .serialize import encode_value -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Dict, Text # noqa pylint: disable=unused-import - - from dynamodb_encryption_sdk.internal import dynamodb_types # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Dict, Text +from dynamodb_encryption_sdk.internal import dynamodb_types __all__ = ("serialize", "deserialize") diff --git a/src/dynamodb_encryption_sdk/internal/formatting/serialize/__init__.py b/src/dynamodb_encryption_sdk/internal/formatting/serialize/__init__.py index 1c7f7ee2..c57e73db 100644 --- a/src/dynamodb_encryption_sdk/internal/formatting/serialize/__init__.py +++ b/src/dynamodb_encryption_sdk/internal/formatting/serialize/__init__.py @@ -18,11 +18,8 @@ """ import struct -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Sized # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Sized + __all__ = ("encode_length", "encode_value") diff --git a/src/dynamodb_encryption_sdk/internal/formatting/serialize/attribute.py b/src/dynamodb_encryption_sdk/internal/formatting/serialize/attribute.py index 1ca416a1..51511780 100644 --- a/src/dynamodb_encryption_sdk/internal/formatting/serialize/attribute.py +++ b/src/dynamodb_encryption_sdk/internal/formatting/serialize/attribute.py @@ -27,13 +27,9 @@ from dynamodb_encryption_sdk.internal.identifiers import Tag, TagValues from dynamodb_encryption_sdk.internal.str_ops import to_bytes -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Callable # noqa pylint: disable=unused-import +from typing import Callable - from dynamodb_encryption_sdk.internal import dynamodb_types # noqa pylint: disable=unused-import,ungrouped-imports -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from dynamodb_encryption_sdk.internal import dynamodb_types __all__ = ("serialize_attribute",) diff --git a/src/dynamodb_encryption_sdk/internal/identifiers.py b/src/dynamodb_encryption_sdk/internal/identifiers.py index 94d7bd41..bc905065 100644 --- a/src/dynamodb_encryption_sdk/internal/identifiers.py +++ b/src/dynamodb_encryption_sdk/internal/identifiers.py @@ -18,11 +18,8 @@ """ from enum import Enum -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Optional, Text # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Optional, Text + __all__ = ( "ReservedAttributes", diff --git a/src/dynamodb_encryption_sdk/internal/utils.py b/src/dynamodb_encryption_sdk/internal/utils.py index 27fe6b0a..ed065b3a 100644 --- a/src/dynamodb_encryption_sdk/internal/utils.py +++ b/src/dynamodb_encryption_sdk/internal/utils.py @@ -28,11 +28,8 @@ from dynamodb_encryption_sdk.structures import CryptoAction, EncryptionContext, TableInfo from dynamodb_encryption_sdk.transform import dict_to_ddb -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Any, Bool, Callable, Dict, Iterable, Text # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Any, Bool, Callable, Dict, Iterable, Text + __all__ = ( "TableInfoCache", diff --git a/src/dynamodb_encryption_sdk/material_providers/aws_kms.py b/src/dynamodb_encryption_sdk/material_providers/aws_kms.py index ea7a55f2..d7bc5284 100644 --- a/src/dynamodb_encryption_sdk/material_providers/aws_kms.py +++ b/src/dynamodb_encryption_sdk/material_providers/aws_kms.py @@ -36,13 +36,8 @@ from . import CryptographicMaterialsProvider -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Dict, Optional, Text, Tuple # noqa pylint: disable=unused-import - - from dynamodb_encryption_sdk.internal import dynamodb_types # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Dict, Optional, Text, Tuple +from dynamodb_encryption_sdk.internal import dynamodb_types __all__ = ("AwsKmsCryptographicMaterialsProvider",) diff --git a/src/dynamodb_encryption_sdk/material_providers/most_recent.py b/src/dynamodb_encryption_sdk/material_providers/most_recent.py index 1606f6c0..a965b76a 100644 --- a/src/dynamodb_encryption_sdk/material_providers/most_recent.py +++ b/src/dynamodb_encryption_sdk/material_providers/most_recent.py @@ -28,11 +28,7 @@ from . import CryptographicMaterialsProvider from .store import ProviderStore -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Any, Text # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Any, Text __all__ = ("CachingMostRecentProvider",) diff --git a/src/dynamodb_encryption_sdk/material_providers/static.py b/src/dynamodb_encryption_sdk/material_providers/static.py index 966002cb..3cdcb4d8 100644 --- a/src/dynamodb_encryption_sdk/material_providers/static.py +++ b/src/dynamodb_encryption_sdk/material_providers/static.py @@ -19,11 +19,7 @@ from . import CryptographicMaterialsProvider -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Optional # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Optional __all__ = ("StaticCryptographicMaterialsProvider",) diff --git a/src/dynamodb_encryption_sdk/material_providers/store/__init__.py b/src/dynamodb_encryption_sdk/material_providers/store/__init__.py index e03b57b9..d2f9d18f 100644 --- a/src/dynamodb_encryption_sdk/material_providers/store/__init__.py +++ b/src/dynamodb_encryption_sdk/material_providers/store/__init__.py @@ -19,12 +19,7 @@ from dynamodb_encryption_sdk.material_providers import ( # noqa pylint: disable=unused-import CryptographicMaterialsProvider, ) - -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Dict, Optional, Text # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Dict, Optional, Text __all__ = ("ProviderStore",) diff --git a/src/dynamodb_encryption_sdk/material_providers/store/meta.py b/src/dynamodb_encryption_sdk/material_providers/store/meta.py index 46d7410f..26d1a209 100644 --- a/src/dynamodb_encryption_sdk/material_providers/store/meta.py +++ b/src/dynamodb_encryption_sdk/material_providers/store/meta.py @@ -29,11 +29,7 @@ from . import ProviderStore -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Dict, Optional, Text, Tuple # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Dict, Optional, Text, Tuple __all__ = ("MetaStore",) diff --git a/src/dynamodb_encryption_sdk/material_providers/wrapped.py b/src/dynamodb_encryption_sdk/material_providers/wrapped.py index 13f6a346..120fb356 100644 --- a/src/dynamodb_encryption_sdk/material_providers/wrapped.py +++ b/src/dynamodb_encryption_sdk/material_providers/wrapped.py @@ -22,17 +22,7 @@ from . import CryptographicMaterialsProvider -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Dict, Optional, Text # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass - -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Optional # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Dict, Optional, Text __all__ = ("WrappedCryptographicMaterialsProvider",) diff --git a/src/dynamodb_encryption_sdk/materials/__init__.py b/src/dynamodb_encryption_sdk/materials/__init__.py index 09c4a470..50cba2f6 100644 --- a/src/dynamodb_encryption_sdk/materials/__init__.py +++ b/src/dynamodb_encryption_sdk/materials/__init__.py @@ -17,13 +17,9 @@ from dynamodb_encryption_sdk.delegated_keys import DelegatedKey # noqa pylint: disable=unused-import -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Dict, Text # noqa pylint: disable=unused-import +from typing import Dict, Text - from mypy_extensions import NoReturn # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from mypy_extensions import NoReturn __all__ = ("CryptographicMaterials", "EncryptionMaterials", "DecryptionMaterials") diff --git a/src/dynamodb_encryption_sdk/materials/raw.py b/src/dynamodb_encryption_sdk/materials/raw.py index 7c2e85e4..4eb367bf 100644 --- a/src/dynamodb_encryption_sdk/materials/raw.py +++ b/src/dynamodb_encryption_sdk/materials/raw.py @@ -30,12 +30,7 @@ from dynamodb_encryption_sdk.delegated_keys import DelegatedKey from dynamodb_encryption_sdk.internal.validators import dictionary_validator from dynamodb_encryption_sdk.materials import DecryptionMaterials, EncryptionMaterials - -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Dict, Optional, Text # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Dict, Optional, Text __all__ = ("RawEncryptionMaterials", "RawDecryptionMaterials") diff --git a/src/dynamodb_encryption_sdk/materials/wrapped.py b/src/dynamodb_encryption_sdk/materials/wrapped.py index f85924ea..16332866 100644 --- a/src/dynamodb_encryption_sdk/materials/wrapped.py +++ b/src/dynamodb_encryption_sdk/materials/wrapped.py @@ -24,12 +24,7 @@ from dynamodb_encryption_sdk.internal.identifiers import MaterialDescriptionKeys from dynamodb_encryption_sdk.internal.validators import dictionary_validator from dynamodb_encryption_sdk.materials import CryptographicMaterials - -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Dict, Optional, Text # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Dict, Optional, Text __all__ = ("WrappedCryptographicMaterials",) diff --git a/src/dynamodb_encryption_sdk/transform.py b/src/dynamodb_encryption_sdk/transform.py index 347024d3..5724a655 100644 --- a/src/dynamodb_encryption_sdk/transform.py +++ b/src/dynamodb_encryption_sdk/transform.py @@ -11,14 +11,11 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. """Helper tools for translating between native and DynamoDB items.""" -try: # Python 3.5.0 and 3.5.1 have incompatible typing modules - from typing import Any, Dict # noqa pylint: disable=unused-import -except ImportError: # pragma: no cover - # We only actually need these imports when running the mypy checks - pass +from typing import Any, Dict from boto3.dynamodb.types import TypeDeserializer, TypeSerializer + __all__ = ("dict_to_ddb", "ddb_to_dict") From 1c729badcf22435abf5c82924348b67c8a5e53a7 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Sat, 23 Sep 2023 02:56:36 +0500 Subject: [PATCH 04/29] removed-typehints-and-imports --- src/dynamodb_encryption_sdk/delegated_keys/__init__.py | 3 +-- src/dynamodb_encryption_sdk/delegated_keys/jce.py | 3 +-- src/dynamodb_encryption_sdk/encrypted/__init__.py | 3 +-- src/dynamodb_encryption_sdk/encrypted/client.py | 3 +-- src/dynamodb_encryption_sdk/encrypted/resource.py | 3 +-- src/dynamodb_encryption_sdk/encrypted/table.py | 3 +-- .../internal/crypto/authentication.py | 3 +-- .../internal/crypto/jce_bridge/authentication.py | 3 +-- .../internal/crypto/jce_bridge/primitives.py | 3 +-- src/dynamodb_encryption_sdk/internal/dynamodb_types.py | 2 +- .../internal/formatting/deserialize/attribute.py | 3 +-- .../internal/formatting/material_description.py | 5 ++--- .../internal/formatting/serialize/attribute.py | 2 +- src/dynamodb_encryption_sdk/internal/utils.py | 6 +++--- src/dynamodb_encryption_sdk/material_providers/aws_kms.py | 5 ++--- .../material_providers/most_recent.py | 2 +- src/dynamodb_encryption_sdk/material_providers/static.py | 3 +-- .../material_providers/store/__init__.py | 2 +- .../material_providers/store/meta.py | 3 +-- src/dynamodb_encryption_sdk/material_providers/wrapped.py | 3 +-- src/dynamodb_encryption_sdk/materials/__init__.py | 6 ++---- src/dynamodb_encryption_sdk/materials/raw.py | 2 +- src/dynamodb_encryption_sdk/materials/wrapped.py | 2 +- src/dynamodb_encryption_sdk/structures.py | 2 +- 24 files changed, 29 insertions(+), 46 deletions(-) diff --git a/src/dynamodb_encryption_sdk/delegated_keys/__init__.py b/src/dynamodb_encryption_sdk/delegated_keys/__init__.py index 510cb9bf..3ce0563d 100644 --- a/src/dynamodb_encryption_sdk/delegated_keys/__init__.py +++ b/src/dynamodb_encryption_sdk/delegated_keys/__init__.py @@ -13,12 +13,11 @@ """Delegated keys.""" import abc +from typing import Dict, Optional, Text import six from dynamodb_encryption_sdk.identifiers import EncryptionKeyType # noqa pylint: disable=unused-import -from typing import Dict, Optional, Text - __all__ = ("DelegatedKey",) diff --git a/src/dynamodb_encryption_sdk/delegated_keys/jce.py b/src/dynamodb_encryption_sdk/delegated_keys/jce.py index f935fa69..04ea3dc6 100644 --- a/src/dynamodb_encryption_sdk/delegated_keys/jce.py +++ b/src/dynamodb_encryption_sdk/delegated_keys/jce.py @@ -16,6 +16,7 @@ import logging import os +from typing import Dict, Optional, Text import attr import six from cryptography.hazmat.backends import default_backend @@ -28,8 +29,6 @@ from . import DelegatedKey -from typing import Dict, Optional, Text - __all__ = ("JceNameLocalDelegatedKey",) _LOGGER = logging.getLogger(LOGGER_NAME) diff --git a/src/dynamodb_encryption_sdk/encrypted/__init__.py b/src/dynamodb_encryption_sdk/encrypted/__init__.py index 5a3af820..ddcce024 100644 --- a/src/dynamodb_encryption_sdk/encrypted/__init__.py +++ b/src/dynamodb_encryption_sdk/encrypted/__init__.py @@ -13,6 +13,7 @@ """Resources for encrypting items.""" import copy +from typing import Dict import attr from dynamodb_encryption_sdk.exceptions import InvalidArgumentError @@ -21,8 +22,6 @@ from dynamodb_encryption_sdk.materials import CryptographicMaterials # noqa pylint: disable=unused-import from dynamodb_encryption_sdk.structures import AttributeActions, EncryptionContext -from typing import Dict - __all__ = ("CryptoConfig",) diff --git a/src/dynamodb_encryption_sdk/encrypted/client.py b/src/dynamodb_encryption_sdk/encrypted/client.py index e50ebaed..dc9dbf03 100644 --- a/src/dynamodb_encryption_sdk/encrypted/client.py +++ b/src/dynamodb_encryption_sdk/encrypted/client.py @@ -13,6 +13,7 @@ """High-level helper class to provide a familiar interface to encrypted tables.""" from functools import partial +from typing import Any, Callable, Dict, Iterator, Optional import attr import botocore @@ -34,8 +35,6 @@ from .item import decrypt_dynamodb_item, decrypt_python_item, encrypt_dynamodb_item, encrypt_python_item -from typing import Any, Callable, Dict, Iterator, Optional - __all__ = ("EncryptedClient", "EncryptedPaginator") diff --git a/src/dynamodb_encryption_sdk/encrypted/resource.py b/src/dynamodb_encryption_sdk/encrypted/resource.py index ae316850..08f9f2ed 100644 --- a/src/dynamodb_encryption_sdk/encrypted/resource.py +++ b/src/dynamodb_encryption_sdk/encrypted/resource.py @@ -13,6 +13,7 @@ """High-level helper class to provide a familiar interface to encrypted tables.""" from functools import partial +from typing import Optional import attr from boto3.resources.base import ServiceResource from boto3.resources.collection import CollectionManager @@ -29,8 +30,6 @@ from .item import decrypt_python_item, encrypt_python_item from .table import EncryptedTable -from typing import Optional - __all__ = ("EncryptedResource", "EncryptedTablesCollectionManager") diff --git a/src/dynamodb_encryption_sdk/encrypted/table.py b/src/dynamodb_encryption_sdk/encrypted/table.py index 7ddf5e15..3a9a98ad 100644 --- a/src/dynamodb_encryption_sdk/encrypted/table.py +++ b/src/dynamodb_encryption_sdk/encrypted/table.py @@ -13,6 +13,7 @@ """High-level helper class to provide a familiar interface to encrypted tables.""" from functools import partial +from typing import Optional import attr from boto3.dynamodb.table import BatchWriter from boto3.resources.base import ServiceResource @@ -30,8 +31,6 @@ from .client import EncryptedClient from .item import decrypt_python_item, encrypt_python_item -from typing import Optional - __all__ = ("EncryptedTable",) diff --git a/src/dynamodb_encryption_sdk/internal/crypto/authentication.py b/src/dynamodb_encryption_sdk/internal/crypto/authentication.py index b2cf0b4e..7ff8d15c 100644 --- a/src/dynamodb_encryption_sdk/internal/crypto/authentication.py +++ b/src/dynamodb_encryption_sdk/internal/crypto/authentication.py @@ -16,6 +16,7 @@ No guarantee is provided on the modules and APIs within this namespace staying consistent. Directly reference at your own risk. """ +from typing import Text from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import hashes @@ -26,8 +27,6 @@ from dynamodb_encryption_sdk.internal.identifiers import TEXT_ENCODING, SignatureValues, Tag from dynamodb_encryption_sdk.structures import AttributeActions # noqa pylint: disable=unused-import -from typing import Text - from dynamodb_encryption_sdk.internal import dynamodb_types diff --git a/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/authentication.py b/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/authentication.py index 3570b013..d676cc10 100644 --- a/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/authentication.py +++ b/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/authentication.py @@ -19,6 +19,7 @@ import abc import logging +from typing import Any, Callable, Text import attr import six from cryptography.hazmat.backends import default_backend @@ -32,8 +33,6 @@ from .primitives import load_rsa_key -from typing import Any, Callable, Text - __all__ = ("JavaAuthenticator", "JavaMac", "JavaSignature", "JAVA_AUTHENTICATOR") _LOGGER = logging.getLogger(LOGGER_NAME) diff --git a/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/primitives.py b/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/primitives.py index a1893806..1529aa0a 100644 --- a/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/primitives.py +++ b/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/primitives.py @@ -20,6 +20,7 @@ import logging import os +from typing import Any, Callable, Text import attr import six from cryptography.hazmat.backends import default_backend @@ -38,8 +39,6 @@ from dynamodb_encryption_sdk.internal.identifiers import MinimumKeySizes from dynamodb_encryption_sdk.internal.validators import callable_validator -from typing import Any, Callable, Text - __all__ = ( "JavaPadding", diff --git a/src/dynamodb_encryption_sdk/internal/dynamodb_types.py b/src/dynamodb_encryption_sdk/internal/dynamodb_types.py index 4593b535..01b4becb 100644 --- a/src/dynamodb_encryption_sdk/internal/dynamodb_types.py +++ b/src/dynamodb_encryption_sdk/internal/dynamodb_types.py @@ -21,4 +21,4 @@ BINARY_ATTRIBUTE = Dict[Text, BINARY] SET = List # DynamoDB TypeSerializer converts sets into lists MAP = RAW_ATTRIBUTE -LIST = List[RAW_ATTRIBUTE] \ No newline at end of file +LIST = List[RAW_ATTRIBUTE] diff --git a/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py b/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py index dac78cd1..5bec6423 100644 --- a/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py +++ b/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py @@ -22,6 +22,7 @@ import struct from decimal import Decimal +from typing import Callable, Dict, List, Text, Union from boto3.dynamodb.types import Binary from dynamodb_encryption_sdk.exceptions import DeserializationError @@ -30,8 +31,6 @@ from dynamodb_encryption_sdk.internal.identifiers import TEXT_ENCODING, Tag, TagValues from dynamodb_encryption_sdk.internal.str_ops import to_str -from typing import Callable, Dict, List, Text, Union - from dynamodb_encryption_sdk.internal import dynamodb_types diff --git a/src/dynamodb_encryption_sdk/internal/formatting/material_description.py b/src/dynamodb_encryption_sdk/internal/formatting/material_description.py index ff80e3e8..3859cfb4 100644 --- a/src/dynamodb_encryption_sdk/internal/formatting/material_description.py +++ b/src/dynamodb_encryption_sdk/internal/formatting/material_description.py @@ -20,17 +20,16 @@ import logging import struct +from typing import Dict, Text from dynamodb_encryption_sdk.exceptions import InvalidMaterialDescriptionError, InvalidMaterialDescriptionVersionError from dynamodb_encryption_sdk.identifiers import LOGGER_NAME from dynamodb_encryption_sdk.internal.identifiers import Tag from dynamodb_encryption_sdk.internal.str_ops import to_bytes, to_str +from dynamodb_encryption_sdk.internal import dynamodb_types from .deserialize import decode_value, unpack_value from .serialize import encode_value -from typing import Dict, Text -from dynamodb_encryption_sdk.internal import dynamodb_types - __all__ = ("serialize", "deserialize") _LOGGER = logging.getLogger(LOGGER_NAME) diff --git a/src/dynamodb_encryption_sdk/internal/formatting/serialize/attribute.py b/src/dynamodb_encryption_sdk/internal/formatting/serialize/attribute.py index 51511780..e008ea18 100644 --- a/src/dynamodb_encryption_sdk/internal/formatting/serialize/attribute.py +++ b/src/dynamodb_encryption_sdk/internal/formatting/serialize/attribute.py @@ -19,6 +19,7 @@ import io import logging +from typing import Callable from boto3.dynamodb.types import DYNAMODB_CONTEXT, Binary from dynamodb_encryption_sdk.exceptions import SerializationError @@ -27,7 +28,6 @@ from dynamodb_encryption_sdk.internal.identifiers import Tag, TagValues from dynamodb_encryption_sdk.internal.str_ops import to_bytes -from typing import Callable from dynamodb_encryption_sdk.internal import dynamodb_types diff --git a/src/dynamodb_encryption_sdk/internal/utils.py b/src/dynamodb_encryption_sdk/internal/utils.py index ed065b3a..817a98f2 100644 --- a/src/dynamodb_encryption_sdk/internal/utils.py +++ b/src/dynamodb_encryption_sdk/internal/utils.py @@ -19,6 +19,7 @@ import copy from functools import partial +from typing import Any, bool, Callable, Dict, Iterable, Text import attr import botocore.client @@ -28,7 +29,6 @@ from dynamodb_encryption_sdk.structures import CryptoAction, EncryptionContext, TableInfo from dynamodb_encryption_sdk.transform import dict_to_ddb -from typing import Any, Bool, Callable, Dict, Iterable, Text __all__ = ( @@ -363,7 +363,7 @@ def _process_batch_write_response(request, response, table_crypto_config): def _item_keys_match(crypto_config, item1, item2): - # type: (CryptoConfig, Dict, Dict) -> Bool + # type: (CryptoConfig, Dict, Dict) -> bool """Determines whether the values in the primary and sort keys (if they exist) are the same :param CryptoConfig crypto_config: CryptoConfig used in encrypting the given items @@ -384,7 +384,7 @@ def _item_keys_match(crypto_config, item1, item2): def _item_attributes_match(crypto_config, plaintext_item, encrypted_item): - # type: (CryptoConfig, Dict, Dict) -> Bool + # type: (CryptoConfig, Dict, Dict) -> bool """Determines whether the unencrypted values in the plaintext items attributes are the same as those in the encrypted item. Essentially this uses brute force to cover when we don't know the primary and sort index attribute names, since they can't be encrypted. diff --git a/src/dynamodb_encryption_sdk/material_providers/aws_kms.py b/src/dynamodb_encryption_sdk/material_providers/aws_kms.py index d7bc5284..7e5bac1c 100644 --- a/src/dynamodb_encryption_sdk/material_providers/aws_kms.py +++ b/src/dynamodb_encryption_sdk/material_providers/aws_kms.py @@ -17,6 +17,7 @@ import logging from enum import Enum +from typing import Dict, Optional, Text, Tuple import attr import boto3 import botocore @@ -34,10 +35,8 @@ from dynamodb_encryption_sdk.materials.raw import RawDecryptionMaterials, RawEncryptionMaterials from dynamodb_encryption_sdk.structures import EncryptionContext # noqa pylint: disable=unused-import -from . import CryptographicMaterialsProvider - -from typing import Dict, Optional, Text, Tuple from dynamodb_encryption_sdk.internal import dynamodb_types +from . import CryptographicMaterialsProvider __all__ = ("AwsKmsCryptographicMaterialsProvider",) diff --git a/src/dynamodb_encryption_sdk/material_providers/most_recent.py b/src/dynamodb_encryption_sdk/material_providers/most_recent.py index a965b76a..1961f002 100644 --- a/src/dynamodb_encryption_sdk/material_providers/most_recent.py +++ b/src/dynamodb_encryption_sdk/material_providers/most_recent.py @@ -17,6 +17,7 @@ from enum import Enum from threading import Lock, RLock +from typing import Any, Text import attr import six @@ -28,7 +29,6 @@ from . import CryptographicMaterialsProvider from .store import ProviderStore -from typing import Any, Text __all__ = ("CachingMostRecentProvider",) diff --git a/src/dynamodb_encryption_sdk/material_providers/static.py b/src/dynamodb_encryption_sdk/material_providers/static.py index 3cdcb4d8..43913c26 100644 --- a/src/dynamodb_encryption_sdk/material_providers/static.py +++ b/src/dynamodb_encryption_sdk/material_providers/static.py @@ -11,6 +11,7 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. """Cryptographic materials provider for use with pre-configured encryption and decryption materials.""" +from typing import Optional import attr from dynamodb_encryption_sdk.materials import CryptographicMaterials # noqa pylint: disable=unused-import @@ -19,8 +20,6 @@ from . import CryptographicMaterialsProvider -from typing import Optional - __all__ = ("StaticCryptographicMaterialsProvider",) diff --git a/src/dynamodb_encryption_sdk/material_providers/store/__init__.py b/src/dynamodb_encryption_sdk/material_providers/store/__init__.py index d2f9d18f..646cae02 100644 --- a/src/dynamodb_encryption_sdk/material_providers/store/__init__.py +++ b/src/dynamodb_encryption_sdk/material_providers/store/__init__.py @@ -13,13 +13,13 @@ """Cryptographic materials provider stores.""" import abc +from typing import Dict, Optional, Text import six from dynamodb_encryption_sdk.exceptions import NoKnownVersionError from dynamodb_encryption_sdk.material_providers import ( # noqa pylint: disable=unused-import CryptographicMaterialsProvider, ) -from typing import Dict, Optional, Text __all__ = ("ProviderStore",) diff --git a/src/dynamodb_encryption_sdk/material_providers/store/meta.py b/src/dynamodb_encryption_sdk/material_providers/store/meta.py index 26d1a209..6226e0d6 100644 --- a/src/dynamodb_encryption_sdk/material_providers/store/meta.py +++ b/src/dynamodb_encryption_sdk/material_providers/store/meta.py @@ -14,6 +14,7 @@ import logging from enum import Enum +from typing import Dict, Optional, Text, Tuple import attr import botocore from boto3.dynamodb.conditions import Attr, Key @@ -29,8 +30,6 @@ from . import ProviderStore -from typing import Dict, Optional, Text, Tuple - __all__ = ("MetaStore",) _LOGGER = logging.getLogger(LOGGER_NAME) diff --git a/src/dynamodb_encryption_sdk/material_providers/wrapped.py b/src/dynamodb_encryption_sdk/material_providers/wrapped.py index 120fb356..b702a809 100644 --- a/src/dynamodb_encryption_sdk/material_providers/wrapped.py +++ b/src/dynamodb_encryption_sdk/material_providers/wrapped.py @@ -11,6 +11,7 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. """Cryptographic materials provider to use ephemeral content encryption keys wrapped by delegated keys.""" +from typing import Dict, Optional, Text import attr import six @@ -22,8 +23,6 @@ from . import CryptographicMaterialsProvider -from typing import Dict, Optional, Text - __all__ = ("WrappedCryptographicMaterialsProvider",) diff --git a/src/dynamodb_encryption_sdk/materials/__init__.py b/src/dynamodb_encryption_sdk/materials/__init__.py index 50cba2f6..03a7e6a1 100644 --- a/src/dynamodb_encryption_sdk/materials/__init__.py +++ b/src/dynamodb_encryption_sdk/materials/__init__.py @@ -13,13 +13,11 @@ """Cryptographic materials are containers that provide delegated keys for cryptographic operations.""" import abc -import six - -from dynamodb_encryption_sdk.delegated_keys import DelegatedKey # noqa pylint: disable=unused-import - from typing import Dict, Text +import six from mypy_extensions import NoReturn +from dynamodb_encryption_sdk.delegated_keys import DelegatedKey # noqa pylint: disable=unused-import __all__ = ("CryptographicMaterials", "EncryptionMaterials", "DecryptionMaterials") diff --git a/src/dynamodb_encryption_sdk/materials/raw.py b/src/dynamodb_encryption_sdk/materials/raw.py index 4eb367bf..4670dfa4 100644 --- a/src/dynamodb_encryption_sdk/materials/raw.py +++ b/src/dynamodb_encryption_sdk/materials/raw.py @@ -24,13 +24,13 @@ """ import copy +from typing import Dict, Optional, Text import attr import six from dynamodb_encryption_sdk.delegated_keys import DelegatedKey from dynamodb_encryption_sdk.internal.validators import dictionary_validator from dynamodb_encryption_sdk.materials import DecryptionMaterials, EncryptionMaterials -from typing import Dict, Optional, Text __all__ = ("RawEncryptionMaterials", "RawDecryptionMaterials") diff --git a/src/dynamodb_encryption_sdk/materials/wrapped.py b/src/dynamodb_encryption_sdk/materials/wrapped.py index 16332866..9aa739c3 100644 --- a/src/dynamodb_encryption_sdk/materials/wrapped.py +++ b/src/dynamodb_encryption_sdk/materials/wrapped.py @@ -14,6 +14,7 @@ import base64 import copy +from typing import Dict, Optional, Text import attr import six @@ -24,7 +25,6 @@ from dynamodb_encryption_sdk.internal.identifiers import MaterialDescriptionKeys from dynamodb_encryption_sdk.internal.validators import dictionary_validator from dynamodb_encryption_sdk.materials import CryptographicMaterials -from typing import Dict, Optional, Text __all__ = ("WrappedCryptographicMaterials",) diff --git a/src/dynamodb_encryption_sdk/structures.py b/src/dynamodb_encryption_sdk/structures.py index 53c99e96..bb5e49b8 100644 --- a/src/dynamodb_encryption_sdk/structures.py +++ b/src/dynamodb_encryption_sdk/structures.py @@ -13,6 +13,7 @@ """Common structures used by the DynamoDB Encryption Client.""" import copy +from typing import Dict, Iterable, List, Optional, Set, Text import attr import six @@ -21,7 +22,6 @@ from dynamodb_encryption_sdk.internal.validators import dictionary_validator, iterable_validator from .identifiers import CryptoAction -from typing import Dict, Iterable, List, Optional, Set, Text __all__ = ("EncryptionContext", "AttributeActions", "TableIndex", "TableInfo") From 8879ec305159bffbd219dd773c883956ea723f3c Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Sun, 24 Sep 2023 14:27:53 +0500 Subject: [PATCH 05/29] fixed-bool-imports --- src/dynamodb_encryption_sdk/internal/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dynamodb_encryption_sdk/internal/utils.py b/src/dynamodb_encryption_sdk/internal/utils.py index 817a98f2..9306b91a 100644 --- a/src/dynamodb_encryption_sdk/internal/utils.py +++ b/src/dynamodb_encryption_sdk/internal/utils.py @@ -19,7 +19,7 @@ import copy from functools import partial -from typing import Any, bool, Callable, Dict, Iterable, Text +from typing import Any, Callable, Dict, Iterable, Text import attr import botocore.client From 2a175354f0e97df5c4c221e279322b030cb8c4e3 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Sun, 24 Sep 2023 18:07:57 +0500 Subject: [PATCH 06/29] fixed-isort-import-position-for-material-description --- .../internal/formatting/material_description.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/dynamodb_encryption_sdk/internal/formatting/material_description.py b/src/dynamodb_encryption_sdk/internal/formatting/material_description.py index 3859cfb4..b7a380fe 100644 --- a/src/dynamodb_encryption_sdk/internal/formatting/material_description.py +++ b/src/dynamodb_encryption_sdk/internal/formatting/material_description.py @@ -21,12 +21,13 @@ import struct from typing import Dict, Text + +from dynamodb_encryption_sdk.internal import dynamodb_types from dynamodb_encryption_sdk.exceptions import InvalidMaterialDescriptionError, InvalidMaterialDescriptionVersionError from dynamodb_encryption_sdk.identifiers import LOGGER_NAME from dynamodb_encryption_sdk.internal.identifiers import Tag from dynamodb_encryption_sdk.internal.str_ops import to_bytes, to_str -from dynamodb_encryption_sdk.internal import dynamodb_types from .deserialize import decode_value, unpack_value from .serialize import encode_value From a0d833bea98b7ff71a4e6df71c479d1e3bbcc3a8 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Sun, 24 Sep 2023 20:01:11 +0500 Subject: [PATCH 07/29] fixed-import-positions-in-material_description --- .../internal/formatting/material_description.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/dynamodb_encryption_sdk/internal/formatting/material_description.py b/src/dynamodb_encryption_sdk/internal/formatting/material_description.py index b7a380fe..48868e0d 100644 --- a/src/dynamodb_encryption_sdk/internal/formatting/material_description.py +++ b/src/dynamodb_encryption_sdk/internal/formatting/material_description.py @@ -22,16 +22,15 @@ from typing import Dict, Text -from dynamodb_encryption_sdk.internal import dynamodb_types from dynamodb_encryption_sdk.exceptions import InvalidMaterialDescriptionError, InvalidMaterialDescriptionVersionError from dynamodb_encryption_sdk.identifiers import LOGGER_NAME +from dynamodb_encryption_sdk.internal import dynamodb_types from dynamodb_encryption_sdk.internal.identifiers import Tag from dynamodb_encryption_sdk.internal.str_ops import to_bytes, to_str from .deserialize import decode_value, unpack_value from .serialize import encode_value - __all__ = ("serialize", "deserialize") _LOGGER = logging.getLogger(LOGGER_NAME) _MATERIAL_DESCRIPTION_VERSION = b"\00" * 4 From cfc10fdd7616faf79c6e542a3ad015cb7dd81fd0 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Sun, 24 Sep 2023 20:04:12 +0500 Subject: [PATCH 08/29] fixed-import-positions-in-material_description-of-struct --- .../internal/formatting/material_description.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/dynamodb_encryption_sdk/internal/formatting/material_description.py b/src/dynamodb_encryption_sdk/internal/formatting/material_description.py index 48868e0d..4657a34c 100644 --- a/src/dynamodb_encryption_sdk/internal/formatting/material_description.py +++ b/src/dynamodb_encryption_sdk/internal/formatting/material_description.py @@ -19,7 +19,6 @@ import io import logging import struct - from typing import Dict, Text from dynamodb_encryption_sdk.exceptions import InvalidMaterialDescriptionError, InvalidMaterialDescriptionVersionError From e222c657e5849c6dec7eb9ce26453e3c5773a8a2 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Mon, 25 Sep 2023 18:20:43 +0500 Subject: [PATCH 09/29] fixed-isort-errors-in-structures --- src/dynamodb_encryption_sdk/structures.py | 2 +- src/dynamodb_encryption_sdk/transform.py | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/dynamodb_encryption_sdk/structures.py b/src/dynamodb_encryption_sdk/structures.py index bb5e49b8..16976b98 100644 --- a/src/dynamodb_encryption_sdk/structures.py +++ b/src/dynamodb_encryption_sdk/structures.py @@ -12,8 +12,8 @@ # language governing permissions and limitations under the License. """Common structures used by the DynamoDB Encryption Client.""" import copy - from typing import Dict, Iterable, List, Optional, Set, Text + import attr import six diff --git a/src/dynamodb_encryption_sdk/transform.py b/src/dynamodb_encryption_sdk/transform.py index 5724a655..d79b8504 100644 --- a/src/dynamodb_encryption_sdk/transform.py +++ b/src/dynamodb_encryption_sdk/transform.py @@ -15,7 +15,6 @@ from boto3.dynamodb.types import TypeDeserializer, TypeSerializer - __all__ = ("dict_to_ddb", "ddb_to_dict") From 2aca49111f43305c1457c40e307d89692e19f050 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Mon, 25 Sep 2023 18:28:56 +0500 Subject: [PATCH 10/29] fixed-positioning-of-imports-in-utils --- src/dynamodb_encryption_sdk/internal/identifiers.py | 2 -- src/dynamodb_encryption_sdk/internal/utils.py | 4 +--- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/src/dynamodb_encryption_sdk/internal/identifiers.py b/src/dynamodb_encryption_sdk/internal/identifiers.py index bc905065..facc1266 100644 --- a/src/dynamodb_encryption_sdk/internal/identifiers.py +++ b/src/dynamodb_encryption_sdk/internal/identifiers.py @@ -17,10 +17,8 @@ namespace staying consistent. Directly reference at your own risk. """ from enum import Enum - from typing import Optional, Text - __all__ = ( "ReservedAttributes", "Tag", diff --git a/src/dynamodb_encryption_sdk/internal/utils.py b/src/dynamodb_encryption_sdk/internal/utils.py index 9306b91a..59bd8a7e 100644 --- a/src/dynamodb_encryption_sdk/internal/utils.py +++ b/src/dynamodb_encryption_sdk/internal/utils.py @@ -18,9 +18,9 @@ """ import copy from functools import partial - from typing import Any, Callable, Dict, Iterable, Text import attr + import botocore.client from dynamodb_encryption_sdk.encrypted import CryptoConfig @@ -29,8 +29,6 @@ from dynamodb_encryption_sdk.structures import CryptoAction, EncryptionContext, TableInfo from dynamodb_encryption_sdk.transform import dict_to_ddb - - __all__ = ( "TableInfoCache", "crypto_config_from_kwargs", From 01b7ab7b874000474f789aa66c76b2ecbd22fa59 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Mon, 25 Sep 2023 19:26:41 +0500 Subject: [PATCH 11/29] fixed-import-positions-in-attributes --- .../internal/formatting/deserialize/attribute.py | 4 +--- src/dynamodb_encryption_sdk/internal/utils.py | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py b/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py index 5bec6423..dc6c2cd8 100644 --- a/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py +++ b/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py @@ -21,8 +21,8 @@ import logging import struct from decimal import Decimal - from typing import Callable, Dict, List, Text, Union + from boto3.dynamodb.types import Binary from dynamodb_encryption_sdk.exceptions import DeserializationError @@ -30,10 +30,8 @@ from dynamodb_encryption_sdk.internal.formatting.deserialize import decode_byte, decode_length, decode_tag, decode_value from dynamodb_encryption_sdk.internal.identifiers import TEXT_ENCODING, Tag, TagValues from dynamodb_encryption_sdk.internal.str_ops import to_str - from dynamodb_encryption_sdk.internal import dynamodb_types - __all__ = ("deserialize_attribute",) _LOGGER = logging.getLogger(LOGGER_NAME) diff --git a/src/dynamodb_encryption_sdk/internal/utils.py b/src/dynamodb_encryption_sdk/internal/utils.py index 59bd8a7e..cdb6266c 100644 --- a/src/dynamodb_encryption_sdk/internal/utils.py +++ b/src/dynamodb_encryption_sdk/internal/utils.py @@ -19,8 +19,8 @@ import copy from functools import partial from typing import Any, Callable, Dict, Iterable, Text -import attr +import attr import botocore.client from dynamodb_encryption_sdk.encrypted import CryptoConfig From d42bb97bd8b6092c25d5287d3140224a02434ed4 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Mon, 25 Sep 2023 19:32:41 +0500 Subject: [PATCH 12/29] fixed-position-of-imports-in-attributes-33 --- .../internal/formatting/deserialize/attribute.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py b/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py index dc6c2cd8..0816ad75 100644 --- a/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py +++ b/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py @@ -26,11 +26,11 @@ from boto3.dynamodb.types import Binary from dynamodb_encryption_sdk.exceptions import DeserializationError +from dynamodb_encryption_sdk.internal import dynamodb_types from dynamodb_encryption_sdk.identifiers import LOGGER_NAME from dynamodb_encryption_sdk.internal.formatting.deserialize import decode_byte, decode_length, decode_tag, decode_value from dynamodb_encryption_sdk.internal.identifiers import TEXT_ENCODING, Tag, TagValues from dynamodb_encryption_sdk.internal.str_ops import to_str -from dynamodb_encryption_sdk.internal import dynamodb_types __all__ = ("deserialize_attribute",) _LOGGER = logging.getLogger(LOGGER_NAME) From c6fc474d6cbf70b5883ff1064d4083c7f41505d9 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Mon, 25 Sep 2023 19:36:00 +0500 Subject: [PATCH 13/29] fixed-position-of-imports-in-attributes-31 --- .../internal/formatting/deserialize/attribute.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py b/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py index 0816ad75..5935da16 100644 --- a/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py +++ b/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py @@ -26,9 +26,9 @@ from boto3.dynamodb.types import Binary from dynamodb_encryption_sdk.exceptions import DeserializationError -from dynamodb_encryption_sdk.internal import dynamodb_types from dynamodb_encryption_sdk.identifiers import LOGGER_NAME from dynamodb_encryption_sdk.internal.formatting.deserialize import decode_byte, decode_length, decode_tag, decode_value +from dynamodb_encryption_sdk.internal import dynamodb_types from dynamodb_encryption_sdk.internal.identifiers import TEXT_ENCODING, Tag, TagValues from dynamodb_encryption_sdk.internal.str_ops import to_str From 61a5a16e437469d63644d4c8f82af5f0aacc1469 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Mon, 25 Sep 2023 19:40:21 +0500 Subject: [PATCH 14/29] fixed-position-of-imports-in-attribute-l30 --- .../internal/formatting/deserialize/attribute.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py b/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py index 5935da16..b8ef77b8 100644 --- a/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py +++ b/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py @@ -27,8 +27,8 @@ from dynamodb_encryption_sdk.exceptions import DeserializationError from dynamodb_encryption_sdk.identifiers import LOGGER_NAME +from dynamodb_encryption_sdk.identifiers import LOGGER_NAME from dynamodb_encryption_sdk.internal.formatting.deserialize import decode_byte, decode_length, decode_tag, decode_value -from dynamodb_encryption_sdk.internal import dynamodb_types from dynamodb_encryption_sdk.internal.identifiers import TEXT_ENCODING, Tag, TagValues from dynamodb_encryption_sdk.internal.str_ops import to_str From 80a436efe307cdc0abd3a9bd250efb7527d28ad1 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Mon, 25 Sep 2023 19:43:23 +0500 Subject: [PATCH 15/29] fixed-position-of-imports-in-attribute-dynamo --- .../internal/formatting/deserialize/attribute.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py b/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py index b8ef77b8..164ad303 100644 --- a/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py +++ b/src/dynamodb_encryption_sdk/internal/formatting/deserialize/attribute.py @@ -27,7 +27,7 @@ from dynamodb_encryption_sdk.exceptions import DeserializationError from dynamodb_encryption_sdk.identifiers import LOGGER_NAME -from dynamodb_encryption_sdk.identifiers import LOGGER_NAME +from dynamodb_encryption_sdk.internal import dynamodb_types from dynamodb_encryption_sdk.internal.formatting.deserialize import decode_byte, decode_length, decode_tag, decode_value from dynamodb_encryption_sdk.internal.identifiers import TEXT_ENCODING, Tag, TagValues from dynamodb_encryption_sdk.internal.str_ops import to_str From 77f18902a6189920221c8fed6e0bd4bcdb0f82e7 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Mon, 25 Sep 2023 20:10:03 +0500 Subject: [PATCH 16/29] fixed-import-positions --- .../internal/crypto/authentication.py | 5 ++--- src/dynamodb_encryption_sdk/internal/crypto/encryption.py | 4 +--- .../internal/formatting/serialize/__init__.py | 2 -- .../internal/formatting/serialize/attribute.py | 7 ++----- 4 files changed, 5 insertions(+), 13 deletions(-) diff --git a/src/dynamodb_encryption_sdk/internal/crypto/authentication.py b/src/dynamodb_encryption_sdk/internal/crypto/authentication.py index 7ff8d15c..622e03b5 100644 --- a/src/dynamodb_encryption_sdk/internal/crypto/authentication.py +++ b/src/dynamodb_encryption_sdk/internal/crypto/authentication.py @@ -17,19 +17,18 @@ namespace staying consistent. Directly reference at your own risk. """ from typing import Text + from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import hashes from dynamodb_encryption_sdk.delegated_keys import DelegatedKey # noqa pylint: disable=unused-import from dynamodb_encryption_sdk.encrypted import CryptoConfig # noqa pylint: disable=unused-import from dynamodb_encryption_sdk.identifiers import CryptoAction +from dynamodb_encryption_sdk.internal import dynamodb_types from dynamodb_encryption_sdk.internal.formatting.serialize.attribute import serialize_attribute from dynamodb_encryption_sdk.internal.identifiers import TEXT_ENCODING, SignatureValues, Tag from dynamodb_encryption_sdk.structures import AttributeActions # noqa pylint: disable=unused-import -from dynamodb_encryption_sdk.internal import dynamodb_types - - __all__ = ("sign_item", "verify_item_signature") diff --git a/src/dynamodb_encryption_sdk/internal/crypto/encryption.py b/src/dynamodb_encryption_sdk/internal/crypto/encryption.py index 4d865955..e8b72749 100644 --- a/src/dynamodb_encryption_sdk/internal/crypto/encryption.py +++ b/src/dynamodb_encryption_sdk/internal/crypto/encryption.py @@ -19,14 +19,12 @@ from typing import Text -from dynamodb_encryption_sdk.internal import dynamodb_types - from dynamodb_encryption_sdk.delegated_keys import DelegatedKey # noqa pylint: disable=unused-import +from dynamodb_encryption_sdk.internal import dynamodb_types from dynamodb_encryption_sdk.internal.formatting.deserialize.attribute import deserialize_attribute from dynamodb_encryption_sdk.internal.formatting.serialize.attribute import serialize_attribute from dynamodb_encryption_sdk.internal.identifiers import Tag - __all__ = ("encrypt_attribute", "decrypt_attribute") diff --git a/src/dynamodb_encryption_sdk/internal/formatting/serialize/__init__.py b/src/dynamodb_encryption_sdk/internal/formatting/serialize/__init__.py index c57e73db..07caf22b 100644 --- a/src/dynamodb_encryption_sdk/internal/formatting/serialize/__init__.py +++ b/src/dynamodb_encryption_sdk/internal/formatting/serialize/__init__.py @@ -17,10 +17,8 @@ namespace staying consistent. Directly reference at your own risk. """ import struct - from typing import Sized - __all__ = ("encode_length", "encode_value") diff --git a/src/dynamodb_encryption_sdk/internal/formatting/serialize/attribute.py b/src/dynamodb_encryption_sdk/internal/formatting/serialize/attribute.py index e008ea18..49a0097c 100644 --- a/src/dynamodb_encryption_sdk/internal/formatting/serialize/attribute.py +++ b/src/dynamodb_encryption_sdk/internal/formatting/serialize/attribute.py @@ -18,20 +18,17 @@ """ import io import logging - from typing import Callable + from boto3.dynamodb.types import DYNAMODB_CONTEXT, Binary from dynamodb_encryption_sdk.exceptions import SerializationError from dynamodb_encryption_sdk.identifiers import LOGGER_NAME +from dynamodb_encryption_sdk.internal import dynamodb_types from dynamodb_encryption_sdk.internal.formatting.serialize import encode_length, encode_value from dynamodb_encryption_sdk.internal.identifiers import Tag, TagValues from dynamodb_encryption_sdk.internal.str_ops import to_bytes - -from dynamodb_encryption_sdk.internal import dynamodb_types - - __all__ = ("serialize_attribute",) _LOGGER = logging.getLogger(LOGGER_NAME) _RESERVED = b"\x00" From bc55a8be8063f2e3bc8918abaf0f0dafd9ecf774 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Mon, 25 Sep 2023 22:22:17 +0500 Subject: [PATCH 17/29] fixed-position-of-imports-in-primitives --- .../internal/crypto/jce_bridge/primitives.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/primitives.py b/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/primitives.py index 1529aa0a..fba39ced 100644 --- a/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/primitives.py +++ b/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/primitives.py @@ -19,10 +19,11 @@ import abc import logging import os - from typing import Any, Callable, Text + import attr import six + from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import hashes, keywrap, padding as symmetric_padding, serialization from cryptography.hazmat.primitives.asymmetric import padding as asymmetric_padding, rsa @@ -39,7 +40,6 @@ from dynamodb_encryption_sdk.internal.identifiers import MinimumKeySizes from dynamodb_encryption_sdk.internal.validators import callable_validator - __all__ = ( "JavaPadding", "SimplePadding", From 50c5d480cbac847757e896920b9acdb345aaee76 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Mon, 25 Sep 2023 22:25:26 +0500 Subject: [PATCH 18/29] fixed-position-of-imports-in-primitives-L25 --- .../internal/crypto/jce_bridge/primitives.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/primitives.py b/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/primitives.py index fba39ced..2d6f667c 100644 --- a/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/primitives.py +++ b/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/primitives.py @@ -23,7 +23,6 @@ import attr import six - from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import hashes, keywrap, padding as symmetric_padding, serialization from cryptography.hazmat.primitives.asymmetric import padding as asymmetric_padding, rsa From b45298cef1688a3e1e91ee70891bc158ca2deb30 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Mon, 25 Sep 2023 22:56:38 +0500 Subject: [PATCH 19/29] fixed-import-positions-in-files --- src/dynamodb_encryption_sdk/delegated_keys/__init__.py | 3 +-- src/dynamodb_encryption_sdk/delegated_keys/jce.py | 3 +-- src/dynamodb_encryption_sdk/encrypted/__init__.py | 2 -- src/dynamodb_encryption_sdk/encrypted/client.py | 3 +-- src/dynamodb_encryption_sdk/encrypted/item.py | 4 +--- src/dynamodb_encryption_sdk/encrypted/resource.py | 3 +-- src/dynamodb_encryption_sdk/encrypted/table.py | 4 ++-- .../internal/crypto/jce_bridge/authentication.py | 3 +-- src/dynamodb_encryption_sdk/material_providers/aws_kms.py | 5 ++--- .../material_providers/most_recent.py | 4 +--- src/dynamodb_encryption_sdk/material_providers/static.py | 2 +- .../material_providers/store/__init__.py | 3 +-- src/dynamodb_encryption_sdk/material_providers/store/meta.py | 3 +-- src/dynamodb_encryption_sdk/material_providers/wrapped.py | 2 +- src/dynamodb_encryption_sdk/materials/__init__.py | 3 +-- src/dynamodb_encryption_sdk/materials/raw.py | 3 +-- src/dynamodb_encryption_sdk/materials/wrapped.py | 3 +-- 17 files changed, 18 insertions(+), 35 deletions(-) diff --git a/src/dynamodb_encryption_sdk/delegated_keys/__init__.py b/src/dynamodb_encryption_sdk/delegated_keys/__init__.py index 3ce0563d..ac0aa734 100644 --- a/src/dynamodb_encryption_sdk/delegated_keys/__init__.py +++ b/src/dynamodb_encryption_sdk/delegated_keys/__init__.py @@ -12,13 +12,12 @@ # language governing permissions and limitations under the License. """Delegated keys.""" import abc - from typing import Dict, Optional, Text + import six from dynamodb_encryption_sdk.identifiers import EncryptionKeyType # noqa pylint: disable=unused-import - __all__ = ("DelegatedKey",) diff --git a/src/dynamodb_encryption_sdk/delegated_keys/jce.py b/src/dynamodb_encryption_sdk/delegated_keys/jce.py index 04ea3dc6..c2be9b5c 100644 --- a/src/dynamodb_encryption_sdk/delegated_keys/jce.py +++ b/src/dynamodb_encryption_sdk/delegated_keys/jce.py @@ -15,8 +15,8 @@ import logging import os - from typing import Dict, Optional, Text + import attr import six from cryptography.hazmat.backends import default_backend @@ -29,7 +29,6 @@ from . import DelegatedKey - __all__ = ("JceNameLocalDelegatedKey",) _LOGGER = logging.getLogger(LOGGER_NAME) diff --git a/src/dynamodb_encryption_sdk/encrypted/__init__.py b/src/dynamodb_encryption_sdk/encrypted/__init__.py index ddcce024..d03f3f4a 100644 --- a/src/dynamodb_encryption_sdk/encrypted/__init__.py +++ b/src/dynamodb_encryption_sdk/encrypted/__init__.py @@ -13,7 +13,6 @@ """Resources for encrypting items.""" import copy -from typing import Dict import attr from dynamodb_encryption_sdk.exceptions import InvalidArgumentError @@ -22,7 +21,6 @@ from dynamodb_encryption_sdk.materials import CryptographicMaterials # noqa pylint: disable=unused-import from dynamodb_encryption_sdk.structures import AttributeActions, EncryptionContext - __all__ = ("CryptoConfig",) diff --git a/src/dynamodb_encryption_sdk/encrypted/client.py b/src/dynamodb_encryption_sdk/encrypted/client.py index dc9dbf03..e13533f3 100644 --- a/src/dynamodb_encryption_sdk/encrypted/client.py +++ b/src/dynamodb_encryption_sdk/encrypted/client.py @@ -12,8 +12,8 @@ # language governing permissions and limitations under the License. """High-level helper class to provide a familiar interface to encrypted tables.""" from functools import partial - from typing import Any, Callable, Dict, Iterator, Optional + import attr import botocore @@ -35,7 +35,6 @@ from .item import decrypt_dynamodb_item, decrypt_python_item, encrypt_dynamodb_item, encrypt_python_item - __all__ = ("EncryptedClient", "EncryptedPaginator") diff --git a/src/dynamodb_encryption_sdk/encrypted/item.py b/src/dynamodb_encryption_sdk/encrypted/item.py index c2889ecd..33c109cf 100644 --- a/src/dynamodb_encryption_sdk/encrypted/item.py +++ b/src/dynamodb_encryption_sdk/encrypted/item.py @@ -11,10 +11,9 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. """Top-level functions for encrypting and decrypting DynamoDB items.""" -from dynamodb_encryption_sdk.internal import dynamodb_types - from dynamodb_encryption_sdk.exceptions import DecryptionError, EncryptionError from dynamodb_encryption_sdk.identifiers import CryptoAction +from dynamodb_encryption_sdk.internal import dynamodb_types from dynamodb_encryption_sdk.internal.crypto.authentication import sign_item, verify_item_signature from dynamodb_encryption_sdk.internal.crypto.encryption import decrypt_attribute, encrypt_attribute from dynamodb_encryption_sdk.internal.formatting.material_description import ( @@ -30,7 +29,6 @@ from . import CryptoConfig # noqa pylint: disable=unused-import - __all__ = ("encrypt_dynamodb_item", "encrypt_python_item", "decrypt_dynamodb_item", "decrypt_python_item") diff --git a/src/dynamodb_encryption_sdk/encrypted/resource.py b/src/dynamodb_encryption_sdk/encrypted/resource.py index 08f9f2ed..f040ea7a 100644 --- a/src/dynamodb_encryption_sdk/encrypted/resource.py +++ b/src/dynamodb_encryption_sdk/encrypted/resource.py @@ -12,8 +12,8 @@ # language governing permissions and limitations under the License. """High-level helper class to provide a familiar interface to encrypted tables.""" from functools import partial - from typing import Optional + import attr from boto3.resources.base import ServiceResource from boto3.resources.collection import CollectionManager @@ -30,7 +30,6 @@ from .item import decrypt_python_item, encrypt_python_item from .table import EncryptedTable - __all__ = ("EncryptedResource", "EncryptedTablesCollectionManager") diff --git a/src/dynamodb_encryption_sdk/encrypted/table.py b/src/dynamodb_encryption_sdk/encrypted/table.py index 3a9a98ad..1474d8d3 100644 --- a/src/dynamodb_encryption_sdk/encrypted/table.py +++ b/src/dynamodb_encryption_sdk/encrypted/table.py @@ -12,9 +12,10 @@ # language governing permissions and limitations under the License. """High-level helper class to provide a familiar interface to encrypted tables.""" from functools import partial - from typing import Optional + import attr + from boto3.dynamodb.table import BatchWriter from boto3.resources.base import ServiceResource @@ -31,7 +32,6 @@ from .client import EncryptedClient from .item import decrypt_python_item, encrypt_python_item - __all__ = ("EncryptedTable",) diff --git a/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/authentication.py b/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/authentication.py index d676cc10..0d1b08e8 100644 --- a/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/authentication.py +++ b/src/dynamodb_encryption_sdk/internal/crypto/jce_bridge/authentication.py @@ -18,8 +18,8 @@ """ import abc import logging - from typing import Any, Callable, Text + import attr import six from cryptography.hazmat.backends import default_backend @@ -33,7 +33,6 @@ from .primitives import load_rsa_key - __all__ = ("JavaAuthenticator", "JavaMac", "JavaSignature", "JAVA_AUTHENTICATOR") _LOGGER = logging.getLogger(LOGGER_NAME) diff --git a/src/dynamodb_encryption_sdk/material_providers/aws_kms.py b/src/dynamodb_encryption_sdk/material_providers/aws_kms.py index 7e5bac1c..a22e58a4 100644 --- a/src/dynamodb_encryption_sdk/material_providers/aws_kms.py +++ b/src/dynamodb_encryption_sdk/material_providers/aws_kms.py @@ -16,9 +16,9 @@ import base64 import logging from enum import Enum - from typing import Dict, Optional, Text, Tuple import attr + import boto3 import botocore import six @@ -29,16 +29,15 @@ from dynamodb_encryption_sdk.delegated_keys.jce import JceNameLocalDelegatedKey from dynamodb_encryption_sdk.exceptions import UnknownRegionError, UnwrappingError, WrappingError from dynamodb_encryption_sdk.identifiers import LOGGER_NAME, USER_AGENT_SUFFIX, EncryptionKeyType, KeyEncodingType +from dynamodb_encryption_sdk.internal import dynamodb_types from dynamodb_encryption_sdk.internal.identifiers import TEXT_ENCODING, MaterialDescriptionKeys from dynamodb_encryption_sdk.internal.str_ops import to_bytes, to_str from dynamodb_encryption_sdk.internal.validators import dictionary_validator, iterable_validator from dynamodb_encryption_sdk.materials.raw import RawDecryptionMaterials, RawEncryptionMaterials from dynamodb_encryption_sdk.structures import EncryptionContext # noqa pylint: disable=unused-import -from dynamodb_encryption_sdk.internal import dynamodb_types from . import CryptographicMaterialsProvider - __all__ = ("AwsKmsCryptographicMaterialsProvider",) _LOGGER = logging.getLogger(LOGGER_NAME) diff --git a/src/dynamodb_encryption_sdk/material_providers/most_recent.py b/src/dynamodb_encryption_sdk/material_providers/most_recent.py index 1961f002..8a003f17 100644 --- a/src/dynamodb_encryption_sdk/material_providers/most_recent.py +++ b/src/dynamodb_encryption_sdk/material_providers/most_recent.py @@ -16,8 +16,8 @@ from collections import OrderedDict from enum import Enum from threading import Lock, RLock - from typing import Any, Text + import attr import six @@ -29,8 +29,6 @@ from . import CryptographicMaterialsProvider from .store import ProviderStore - - __all__ = ("CachingMostRecentProvider",) _LOGGER = logging.getLogger(LOGGER_NAME) #: Grace period during which we will return the latest local materials. This allows multiple diff --git a/src/dynamodb_encryption_sdk/material_providers/static.py b/src/dynamodb_encryption_sdk/material_providers/static.py index 43913c26..77af8478 100644 --- a/src/dynamodb_encryption_sdk/material_providers/static.py +++ b/src/dynamodb_encryption_sdk/material_providers/static.py @@ -12,6 +12,7 @@ # language governing permissions and limitations under the License. """Cryptographic materials provider for use with pre-configured encryption and decryption materials.""" from typing import Optional + import attr from dynamodb_encryption_sdk.materials import CryptographicMaterials # noqa pylint: disable=unused-import @@ -20,7 +21,6 @@ from . import CryptographicMaterialsProvider - __all__ = ("StaticCryptographicMaterialsProvider",) diff --git a/src/dynamodb_encryption_sdk/material_providers/store/__init__.py b/src/dynamodb_encryption_sdk/material_providers/store/__init__.py index 646cae02..1948c388 100644 --- a/src/dynamodb_encryption_sdk/material_providers/store/__init__.py +++ b/src/dynamodb_encryption_sdk/material_providers/store/__init__.py @@ -12,8 +12,8 @@ # language governing permissions and limitations under the License. """Cryptographic materials provider stores.""" import abc +from typing import Optional, Text -from typing import Dict, Optional, Text import six from dynamodb_encryption_sdk.exceptions import NoKnownVersionError @@ -21,7 +21,6 @@ CryptographicMaterialsProvider, ) - __all__ = ("ProviderStore",) diff --git a/src/dynamodb_encryption_sdk/material_providers/store/meta.py b/src/dynamodb_encryption_sdk/material_providers/store/meta.py index 6226e0d6..da545ba4 100644 --- a/src/dynamodb_encryption_sdk/material_providers/store/meta.py +++ b/src/dynamodb_encryption_sdk/material_providers/store/meta.py @@ -13,8 +13,8 @@ """Meta cryptographic provider store.""" import logging from enum import Enum - from typing import Dict, Optional, Text, Tuple + import attr import botocore from boto3.dynamodb.conditions import Attr, Key @@ -30,7 +30,6 @@ from . import ProviderStore - __all__ = ("MetaStore",) _LOGGER = logging.getLogger(LOGGER_NAME) diff --git a/src/dynamodb_encryption_sdk/material_providers/wrapped.py b/src/dynamodb_encryption_sdk/material_providers/wrapped.py index b702a809..416156c7 100644 --- a/src/dynamodb_encryption_sdk/material_providers/wrapped.py +++ b/src/dynamodb_encryption_sdk/material_providers/wrapped.py @@ -12,6 +12,7 @@ # language governing permissions and limitations under the License. """Cryptographic materials provider to use ephemeral content encryption keys wrapped by delegated keys.""" from typing import Dict, Optional, Text + import attr import six @@ -23,7 +24,6 @@ from . import CryptographicMaterialsProvider - __all__ = ("WrappedCryptographicMaterialsProvider",) diff --git a/src/dynamodb_encryption_sdk/materials/__init__.py b/src/dynamodb_encryption_sdk/materials/__init__.py index 03a7e6a1..3783e245 100644 --- a/src/dynamodb_encryption_sdk/materials/__init__.py +++ b/src/dynamodb_encryption_sdk/materials/__init__.py @@ -12,14 +12,13 @@ # language governing permissions and limitations under the License. """Cryptographic materials are containers that provide delegated keys for cryptographic operations.""" import abc - from typing import Dict, Text + import six from mypy_extensions import NoReturn from dynamodb_encryption_sdk.delegated_keys import DelegatedKey # noqa pylint: disable=unused-import - __all__ = ("CryptographicMaterials", "EncryptionMaterials", "DecryptionMaterials") diff --git a/src/dynamodb_encryption_sdk/materials/raw.py b/src/dynamodb_encryption_sdk/materials/raw.py index 4670dfa4..d2587339 100644 --- a/src/dynamodb_encryption_sdk/materials/raw.py +++ b/src/dynamodb_encryption_sdk/materials/raw.py @@ -23,8 +23,8 @@ that you use wrapped cryptographic materials instead. """ import copy - from typing import Dict, Optional, Text + import attr import six @@ -32,7 +32,6 @@ from dynamodb_encryption_sdk.internal.validators import dictionary_validator from dynamodb_encryption_sdk.materials import DecryptionMaterials, EncryptionMaterials - __all__ = ("RawEncryptionMaterials", "RawDecryptionMaterials") diff --git a/src/dynamodb_encryption_sdk/materials/wrapped.py b/src/dynamodb_encryption_sdk/materials/wrapped.py index 9aa739c3..74d2784c 100644 --- a/src/dynamodb_encryption_sdk/materials/wrapped.py +++ b/src/dynamodb_encryption_sdk/materials/wrapped.py @@ -13,8 +13,8 @@ """Cryptographic materials to use ephemeral content encryption keys wrapped by delegated keys.""" import base64 import copy - from typing import Dict, Optional, Text + import attr import six @@ -26,7 +26,6 @@ from dynamodb_encryption_sdk.internal.validators import dictionary_validator from dynamodb_encryption_sdk.materials import CryptographicMaterials - __all__ = ("WrappedCryptographicMaterials",) _DEFAULT_CONTENT_ENCRYPTION_ALGORITHM = "AES/256" _WRAPPING_TRANSFORMATION = {"AES": "AESWrap", "RSA": "RSA/ECB/OAEPWithSHA-256AndMGF1Padding"} From 25cbae9a3071b76a53f73697673ee3d6f6992ec0 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Mon, 25 Sep 2023 23:01:11 +0500 Subject: [PATCH 20/29] post-fixed-import-positions --- src/dynamodb_encryption_sdk/encrypted/table.py | 1 - src/dynamodb_encryption_sdk/material_providers/aws_kms.py | 2 +- src/dynamodb_encryption_sdk/materials/__init__.py | 1 + 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/dynamodb_encryption_sdk/encrypted/table.py b/src/dynamodb_encryption_sdk/encrypted/table.py index 1474d8d3..98386b81 100644 --- a/src/dynamodb_encryption_sdk/encrypted/table.py +++ b/src/dynamodb_encryption_sdk/encrypted/table.py @@ -15,7 +15,6 @@ from typing import Optional import attr - from boto3.dynamodb.table import BatchWriter from boto3.resources.base import ServiceResource diff --git a/src/dynamodb_encryption_sdk/material_providers/aws_kms.py b/src/dynamodb_encryption_sdk/material_providers/aws_kms.py index a22e58a4..73212999 100644 --- a/src/dynamodb_encryption_sdk/material_providers/aws_kms.py +++ b/src/dynamodb_encryption_sdk/material_providers/aws_kms.py @@ -17,8 +17,8 @@ import logging from enum import Enum from typing import Dict, Optional, Text, Tuple -import attr +import attr import boto3 import botocore import six diff --git a/src/dynamodb_encryption_sdk/materials/__init__.py b/src/dynamodb_encryption_sdk/materials/__init__.py index 3783e245..fcf1b7e6 100644 --- a/src/dynamodb_encryption_sdk/materials/__init__.py +++ b/src/dynamodb_encryption_sdk/materials/__init__.py @@ -17,6 +17,7 @@ import six from mypy_extensions import NoReturn + from dynamodb_encryption_sdk.delegated_keys import DelegatedKey # noqa pylint: disable=unused-import __all__ = ("CryptographicMaterials", "EncryptionMaterials", "DecryptionMaterials") From c22fe0312c7e51a8986862457ea45e576eb3c688 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Mon, 25 Sep 2023 23:03:06 +0500 Subject: [PATCH 21/29] fixed-import-position-in-materials --- src/dynamodb_encryption_sdk/materials/__init__.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/dynamodb_encryption_sdk/materials/__init__.py b/src/dynamodb_encryption_sdk/materials/__init__.py index fcf1b7e6..a4dbbc89 100644 --- a/src/dynamodb_encryption_sdk/materials/__init__.py +++ b/src/dynamodb_encryption_sdk/materials/__init__.py @@ -14,9 +14,8 @@ import abc from typing import Dict, Text -import six - from mypy_extensions import NoReturn +import six from dynamodb_encryption_sdk.delegated_keys import DelegatedKey # noqa pylint: disable=unused-import From c1be11539ea483d0b1c81dec4b16b0061e98490d Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Mon, 25 Sep 2023 23:05:21 +0500 Subject: [PATCH 22/29] fixed-import-position-in-materials-L18 --- src/dynamodb_encryption_sdk/materials/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/dynamodb_encryption_sdk/materials/__init__.py b/src/dynamodb_encryption_sdk/materials/__init__.py index a4dbbc89..ccae678e 100644 --- a/src/dynamodb_encryption_sdk/materials/__init__.py +++ b/src/dynamodb_encryption_sdk/materials/__init__.py @@ -15,6 +15,7 @@ from typing import Dict, Text from mypy_extensions import NoReturn + import six from dynamodb_encryption_sdk.delegated_keys import DelegatedKey # noqa pylint: disable=unused-import From f8cad212f3f3fc7e81a9c4a4893b65b5d23cab93 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Mon, 25 Sep 2023 23:07:39 +0500 Subject: [PATCH 23/29] fixed-import-position-in-materials-L17 --- src/dynamodb_encryption_sdk/materials/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/dynamodb_encryption_sdk/materials/__init__.py b/src/dynamodb_encryption_sdk/materials/__init__.py index ccae678e..fcf1b7e6 100644 --- a/src/dynamodb_encryption_sdk/materials/__init__.py +++ b/src/dynamodb_encryption_sdk/materials/__init__.py @@ -14,10 +14,10 @@ import abc from typing import Dict, Text -from mypy_extensions import NoReturn - import six +from mypy_extensions import NoReturn + from dynamodb_encryption_sdk.delegated_keys import DelegatedKey # noqa pylint: disable=unused-import __all__ = ("CryptographicMaterials", "EncryptionMaterials", "DecryptionMaterials") From 4acc0ae7dd8e62a9722536b5de6cc1619e8fed5b Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Mon, 25 Sep 2023 23:13:10 +0500 Subject: [PATCH 24/29] fixed-import-position-in-materials-L19 --- src/dynamodb_encryption_sdk/materials/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/dynamodb_encryption_sdk/materials/__init__.py b/src/dynamodb_encryption_sdk/materials/__init__.py index fcf1b7e6..e9d49e6e 100644 --- a/src/dynamodb_encryption_sdk/materials/__init__.py +++ b/src/dynamodb_encryption_sdk/materials/__init__.py @@ -16,10 +16,10 @@ import six -from mypy_extensions import NoReturn - from dynamodb_encryption_sdk.delegated_keys import DelegatedKey # noqa pylint: disable=unused-import +from mypy_extensions import NoReturn + __all__ = ("CryptographicMaterials", "EncryptionMaterials", "DecryptionMaterials") From 7c5a785a197e295453bcabd6eb10288c6abc44c2 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Mon, 25 Sep 2023 23:19:27 +0500 Subject: [PATCH 25/29] fixed-import-position-in-materials-dynamodb --- src/dynamodb_encryption_sdk/materials/__init__.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/dynamodb_encryption_sdk/materials/__init__.py b/src/dynamodb_encryption_sdk/materials/__init__.py index e9d49e6e..f2aac7f3 100644 --- a/src/dynamodb_encryption_sdk/materials/__init__.py +++ b/src/dynamodb_encryption_sdk/materials/__init__.py @@ -15,11 +15,10 @@ from typing import Dict, Text import six +from mypy_extensions import NoReturn from dynamodb_encryption_sdk.delegated_keys import DelegatedKey # noqa pylint: disable=unused-import -from mypy_extensions import NoReturn - __all__ = ("CryptographicMaterials", "EncryptionMaterials", "DecryptionMaterials") From 420ce0c0a9a16af5ed5678912b7e32f18822a5d9 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Tue, 26 Sep 2023 19:44:57 +0500 Subject: [PATCH 26/29] fixed-mypy-imports --- src/dynamodb_encryption_sdk/materials/__init__.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/dynamodb_encryption_sdk/materials/__init__.py b/src/dynamodb_encryption_sdk/materials/__init__.py index f2aac7f3..a67cb0c7 100644 --- a/src/dynamodb_encryption_sdk/materials/__init__.py +++ b/src/dynamodb_encryption_sdk/materials/__init__.py @@ -15,7 +15,7 @@ from typing import Dict, Text import six -from mypy_extensions import NoReturn +# from mypy_extensions import NoReturn from dynamodb_encryption_sdk.delegated_keys import DelegatedKey # noqa pylint: disable=unused-import @@ -82,7 +82,6 @@ class EncryptionMaterials(CryptographicMaterials): @property def decryption_key(self): - # type: () -> NoReturn """Encryption materials do not provide decryption keys. :raises NotImplementedError: because encryption materials do not contain decryption keys @@ -91,7 +90,6 @@ def decryption_key(self): @property def verification_key(self): - # type: () -> NoReturn """Encryption materials do not provide verification keys. :raises NotImplementedError: because encryption materials do not contain verification keys @@ -104,7 +102,6 @@ class DecryptionMaterials(CryptographicMaterials): @property def encryption_key(self): - # type: () -> NoReturn """Decryption materials do not provide encryption keys. :raises NotImplementedError: because decryption materials do not contain encryption keys @@ -113,7 +110,6 @@ def encryption_key(self): @property def signing_key(self): - # type: () -> NoReturn """Decryption materials do not provide signing keys. :raises NotImplementedError: because decryption materials do not contain signing keys From ca5c9c4afb49cc100d6c6d5c8fef7affe3093982 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Tue, 26 Sep 2023 20:53:20 +0500 Subject: [PATCH 27/29] fixed-import-positions-in-materials-init --- src/dynamodb_encryption_sdk/materials/__init__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/dynamodb_encryption_sdk/materials/__init__.py b/src/dynamodb_encryption_sdk/materials/__init__.py index a67cb0c7..3b9788d0 100644 --- a/src/dynamodb_encryption_sdk/materials/__init__.py +++ b/src/dynamodb_encryption_sdk/materials/__init__.py @@ -15,7 +15,6 @@ from typing import Dict, Text import six -# from mypy_extensions import NoReturn from dynamodb_encryption_sdk.delegated_keys import DelegatedKey # noqa pylint: disable=unused-import From d948af070e8f04fba2d23f5ff2855af0a3a0216a Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Tue, 26 Sep 2023 22:01:20 +0500 Subject: [PATCH 28/29] fixed-import-position-in-materials-init --- src/dynamodb_encryption_sdk/materials/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dynamodb_encryption_sdk/materials/__init__.py b/src/dynamodb_encryption_sdk/materials/__init__.py index 3b9788d0..29e65dc4 100644 --- a/src/dynamodb_encryption_sdk/materials/__init__.py +++ b/src/dynamodb_encryption_sdk/materials/__init__.py @@ -14,7 +14,7 @@ import abc from typing import Dict, Text -import six +import six from dynamodb_encryption_sdk.delegated_keys import DelegatedKey # noqa pylint: disable=unused-import From 7ac6b60b8cb7a22a2d5c2a1dba6a828a28596ae4 Mon Sep 17 00:00:00 2001 From: KhubaibAlam <74249716+khubaibalam2000@users.noreply.github.com> Date: Tue, 26 Sep 2023 22:11:45 +0500 Subject: [PATCH 29/29] fixed-import-positions --- src/dynamodb_encryption_sdk/materials/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dynamodb_encryption_sdk/materials/__init__.py b/src/dynamodb_encryption_sdk/materials/__init__.py index 29e65dc4..3b9788d0 100644 --- a/src/dynamodb_encryption_sdk/materials/__init__.py +++ b/src/dynamodb_encryption_sdk/materials/__init__.py @@ -14,7 +14,7 @@ import abc from typing import Dict, Text -import six +import six from dynamodb_encryption_sdk.delegated_keys import DelegatedKey # noqa pylint: disable=unused-import