diff --git a/.github/workflows/ci_tests.yaml b/.github/workflows/ci_tests.yaml index 7ec273ba2..1a3229683 100644 --- a/.github/workflows/ci_tests.yaml +++ b/.github/workflows/ci_tests.yaml @@ -25,11 +25,7 @@ jobs: matrix: os: - ubuntu-latest - # Windows fails due to "No module named 'Wrappers'" - # This SHOULD be fixed once Dafny generates fully-qualified import statements - # (i.e. doo files, per-package module names) - # Disable for now - # - windows-latest + - windows-latest - macos-12 python: - 3.8 diff --git a/examples/src/aws_kms_discovery_keyring_example.py b/examples/src/aws_kms_discovery_keyring_example.py index 4695e8783..d78121bc3 100644 --- a/examples/src/aws_kms_discovery_keyring_example.py +++ b/examples/src/aws_kms_discovery_keyring_example.py @@ -32,7 +32,6 @@ For more information on how to use KMS Discovery keyrings, see https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-kms-keyring.html#kms-keyring-discovery """ -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders @@ -49,11 +48,6 @@ from aws_encryption_sdk import CommitmentPolicy from aws_encryption_sdk.exceptions import AWSEncryptionSDKClientError -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_discovery_multi_keyring_example.py b/examples/src/aws_kms_discovery_multi_keyring_example.py index 60d74ff31..9381a740b 100644 --- a/examples/src/aws_kms_discovery_multi_keyring_example.py +++ b/examples/src/aws_kms_discovery_multi_keyring_example.py @@ -29,7 +29,6 @@ For more information on how to use KMS Discovery keyrings, see https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-kms-keyring.html#kms-keyring-discovery """ -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders @@ -45,11 +44,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_keyring_example.py b/examples/src/aws_kms_keyring_example.py index b166aab99..8977e3750 100644 --- a/examples/src/aws_kms_keyring_example.py +++ b/examples/src/aws_kms_keyring_example.py @@ -17,7 +17,6 @@ For more information on how to use KMS keyrings, see https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-kms-keyring.html """ -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders @@ -29,11 +28,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_mrk_discovery_keyring_example.py b/examples/src/aws_kms_mrk_discovery_keyring_example.py index 8ba80b621..23d6cb322 100644 --- a/examples/src/aws_kms_mrk_discovery_keyring_example.py +++ b/examples/src/aws_kms_mrk_discovery_keyring_example.py @@ -34,7 +34,6 @@ For more information on how to use KMS Discovery keyrings, see https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-kms-keyring.html#kms-keyring-discovery """ -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders @@ -50,11 +49,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_mrk_discovery_multi_keyring_example.py b/examples/src/aws_kms_mrk_discovery_multi_keyring_example.py index 47cb80f1d..adb249e2a 100644 --- a/examples/src/aws_kms_mrk_discovery_multi_keyring_example.py +++ b/examples/src/aws_kms_mrk_discovery_multi_keyring_example.py @@ -36,7 +36,6 @@ For more information on how to use KMS Discovery keyrings, see https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-kms-keyring.html#kms-keyring-discovery """ -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders @@ -52,11 +51,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_mrk_keyring_example.py b/examples/src/aws_kms_mrk_keyring_example.py index 65d8be71b..edb3cc410 100644 --- a/examples/src/aws_kms_mrk_keyring_example.py +++ b/examples/src/aws_kms_mrk_keyring_example.py @@ -21,7 +21,6 @@ For more info on KMS MRK (multi-region keys), see the KMS documentation: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html """ -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders @@ -33,11 +32,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_mrk_multi_keyring_example.py b/examples/src/aws_kms_mrk_multi_keyring_example.py index 9c87008fe..6b1e64eec 100644 --- a/examples/src/aws_kms_mrk_multi_keyring_example.py +++ b/examples/src/aws_kms_mrk_multi_keyring_example.py @@ -27,7 +27,6 @@ For more info on KMS MRK (multi-region keys), see the KMS documentation: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html """ -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders @@ -39,11 +38,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_multi_keyring_example.py b/examples/src/aws_kms_multi_keyring_example.py index 715181646..7cba36167 100644 --- a/examples/src/aws_kms_multi_keyring_example.py +++ b/examples/src/aws_kms_multi_keyring_example.py @@ -36,7 +36,6 @@ For more information on how to use Multi keyrings, see https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-multi-keyring.html """ -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders @@ -48,11 +47,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_rsa_keyring_example.py b/examples/src/aws_kms_rsa_keyring_example.py index 337dd14b6..fd05fc20b 100644 --- a/examples/src/aws_kms_rsa_keyring_example.py +++ b/examples/src/aws_kms_rsa_keyring_example.py @@ -14,7 +14,6 @@ # For more information on how to use KMS keyrings, see # https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-kms-keyring.html """ -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders @@ -27,11 +26,6 @@ from aws_encryption_sdk import CommitmentPolicy from aws_encryption_sdk.identifiers import AlgorithmSuite -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/branch_key_id_supplier_example.py b/examples/src/branch_key_id_supplier_example.py index b3d26497b..b25d9abeb 100644 --- a/examples/src/branch_key_id_supplier_example.py +++ b/examples/src/branch_key_id_supplier_example.py @@ -25,15 +25,15 @@ def get_branch_key_id( """Returns branch key ID from the tenant ID in input's encryption context.""" encryption_context: Dict[str, str] = param.encryption_context - if b"tenant" not in encryption_context: + if "tenant" not in encryption_context: raise ValueError("EncryptionContext invalid, does not contain expected tenant key value pair.") - tenant_key_id: str = encryption_context.get(b"tenant") + tenant_key_id: str = encryption_context.get("tenant") branch_key_id: str - if tenant_key_id == b"TenantA": + if tenant_key_id == "TenantA": branch_key_id = self.branch_key_id_for_tenant_A - elif tenant_key_id == b"TenantB": + elif tenant_key_id == "TenantB": branch_key_id = self.branch_key_id_for_tenant_B else: raise ValueError(f"Item does not contain valid tenant ID: {tenant_key_id=}") diff --git a/examples/src/default_cryptographic_materials_manager_example.py b/examples/src/default_cryptographic_materials_manager_example.py index bfffc36d9..15a9f22cf 100644 --- a/examples/src/default_cryptographic_materials_manager_example.py +++ b/examples/src/default_cryptographic_materials_manager_example.py @@ -18,8 +18,6 @@ For more information on Cryptographic Material Managers, see https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/concepts.html#crypt-materials-manager """ -import sys - import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders from aws_cryptographic_materialproviders.mpl.config import MaterialProvidersConfig @@ -33,11 +31,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/file_streaming_example.py b/examples/src/file_streaming_example.py index 72decde60..3f547d220 100644 --- a/examples/src/file_streaming_example.py +++ b/examples/src/file_streaming_example.py @@ -25,7 +25,6 @@ """ import filecmp import secrets -import sys from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders from aws_cryptographic_materialproviders.mpl.config import MaterialProvidersConfig @@ -36,11 +35,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) - def encrypt_and_decrypt_with_keyring( plaintext_filename: str, diff --git a/examples/src/hierarchical_keyring_example.py b/examples/src/hierarchical_keyring_example.py index c781f4f40..00dadf9d8 100644 --- a/examples/src/hierarchical_keyring_example.py +++ b/examples/src/hierarchical_keyring_example.py @@ -31,7 +31,6 @@ This example also requires using a KMS Key. You need the following access on this key: - GenerateDataKeyWithoutPlaintext - Decrypt """ -import sys import boto3 # Ignore missing MPL for pylint, but the MPL is required for this example @@ -55,11 +54,6 @@ from .branch_key_id_supplier_example import ExampleBranchKeyIdSupplier -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -module_root_dir = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(module_root_dir) - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/legacy/module_.py b/examples/src/legacy/module_.py deleted file mode 100644 index 3e8d3062a..000000000 --- a/examples/src/legacy/module_.py +++ /dev/null @@ -1 +0,0 @@ -"""Should remove this once PYTHONPATH issues are resolved by adding doo files.""" diff --git a/examples/src/migration/migration_set_commitment_policy_example.py b/examples/src/migration/migration_set_commitment_policy_example.py index 4bd0bc372..3851df0e2 100644 --- a/examples/src/migration/migration_set_commitment_policy_example.py +++ b/examples/src/migration/migration_set_commitment_policy_example.py @@ -20,7 +20,6 @@ For more information on setting your commitment policy, see https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/concepts.html#commitment-policy """ -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders @@ -32,11 +31,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/module_.py b/examples/src/module_.py deleted file mode 100644 index 3e8d3062a..000000000 --- a/examples/src/module_.py +++ /dev/null @@ -1 +0,0 @@ -"""Should remove this once PYTHONPATH issues are resolved by adding doo files.""" diff --git a/examples/src/multi_keyring_example.py b/examples/src/multi_keyring_example.py index b12ab61a3..20af7ba81 100644 --- a/examples/src/multi_keyring_example.py +++ b/examples/src/multi_keyring_example.py @@ -37,7 +37,6 @@ https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-multi-keyring.html """ import secrets -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders @@ -54,11 +53,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/raw_aes_keyring_example.py b/examples/src/raw_aes_keyring_example.py index d8634f774..ab9603af6 100644 --- a/examples/src/raw_aes_keyring_example.py +++ b/examples/src/raw_aes_keyring_example.py @@ -23,7 +23,6 @@ https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-raw-aes-keyring.html """ import secrets -import sys from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders from aws_cryptographic_materialproviders.mpl.config import MaterialProvidersConfig @@ -34,11 +33,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/raw_rsa_keyring_example.py b/examples/src/raw_rsa_keyring_example.py index 4a38fd166..1200a7c72 100644 --- a/examples/src/raw_rsa_keyring_example.py +++ b/examples/src/raw_rsa_keyring_example.py @@ -33,7 +33,6 @@ For more information on how to use Raw RSA keyrings, see https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-raw-rsa-keyring.html """ -import sys from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders from aws_cryptographic_materialproviders.mpl.config import MaterialProvidersConfig @@ -48,11 +47,6 @@ from aws_encryption_sdk import CommitmentPolicy from aws_encryption_sdk.exceptions import AWSEncryptionSDKClientError -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/required_encryption_context_cmm.py b/examples/src/required_encryption_context_cmm.py index 1d5140e6d..edbb3f414 100644 --- a/examples/src/required_encryption_context_cmm.py +++ b/examples/src/required_encryption_context_cmm.py @@ -6,7 +6,6 @@ on encrypt such that they will not be stored on the message, but WILL be included in the header signature. On decrypt, the client MUST supply the key/value pair(s) that were not stored to successfully decrypt the message. """ -import sys import boto3 # Ignore missing MPL for pylint, but the MPL is required for this example @@ -25,11 +24,6 @@ from aws_encryption_sdk import CommitmentPolicy from aws_encryption_sdk.exceptions import AWSEncryptionSDKClientError -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks -module_root_dir = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(module_root_dir) - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/set_encryption_algorithm_suite_example.py b/examples/src/set_encryption_algorithm_suite_example.py index 200570083..75eaee85a 100644 --- a/examples/src/set_encryption_algorithm_suite_example.py +++ b/examples/src/set_encryption_algorithm_suite_example.py @@ -39,7 +39,6 @@ https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-raw-aes-keyring.html """ import secrets -import sys from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders from aws_cryptographic_materialproviders.mpl.config import MaterialProvidersConfig @@ -51,11 +50,6 @@ from aws_encryption_sdk import CommitmentPolicy from aws_encryption_sdk.identifiers import AlgorithmSuite -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/performance_tests/requirements_mpl.txt b/performance_tests/requirements_mpl.txt index 209e10f2c..28d7dc356 100644 --- a/performance_tests/requirements_mpl.txt +++ b/performance_tests/requirements_mpl.txt @@ -1 +1 @@ -aws-cryptographic-material-providers @ git+https://github.com/aws/aws-cryptographic-material-providers-library.git@lucmcdon/python-mpl#subdirectory=AwsCryptographicMaterialProviders/runtimes/python \ No newline at end of file +aws-cryptographic-material-providers @ git+https://github.com/aws/aws-cryptographic-material-providers-library.git@lucmcdon/python-mpl-v2#subdirectory=AwsCryptographicMaterialProviders/runtimes/python \ No newline at end of file diff --git a/requirements_mpl.txt b/requirements_mpl.txt index 209e10f2c..28d7dc356 100644 --- a/requirements_mpl.txt +++ b/requirements_mpl.txt @@ -1 +1 @@ -aws-cryptographic-material-providers @ git+https://github.com/aws/aws-cryptographic-material-providers-library.git@lucmcdon/python-mpl#subdirectory=AwsCryptographicMaterialProviders/runtimes/python \ No newline at end of file +aws-cryptographic-material-providers @ git+https://github.com/aws/aws-cryptographic-material-providers-library.git@lucmcdon/python-mpl-v2#subdirectory=AwsCryptographicMaterialProviders/runtimes/python \ No newline at end of file diff --git a/setup.py b/setup.py index 8ed2fe4e0..c069bade1 100644 --- a/setup.py +++ b/setup.py @@ -45,7 +45,7 @@ def get_requirements(): extras_require={ "MPL": ["aws-cryptographic-material-providers @" \ "git+https://github.com/aws/aws-cryptographic-material-providers-library.git@" \ - "lucmcdon/python-mpl#subdirectory=AwsCryptographicMaterialProviders/runtimes/python"], + "lucmcdon/python-mpl-v2#subdirectory=AwsCryptographicMaterialProviders/runtimes/python"], }, classifiers=[ "Development Status :: 5 - Production/Stable", diff --git a/test_vector_handlers/requirements_mpl.txt b/test_vector_handlers/requirements_mpl.txt index c7927a851..1aab5f534 100644 --- a/test_vector_handlers/requirements_mpl.txt +++ b/test_vector_handlers/requirements_mpl.txt @@ -1 +1 @@ -amazon-cryptographic-material-providers-test-vectors @ git+https://github.com/aws/aws-cryptographic-material-providers-library.git@lucmcdon/python-mpl#subdirectory=TestVectorsAwsCryptographicMaterialProviders/runtimes/python \ No newline at end of file +amazon-cryptographic-material-providers-test-vectors @ git+https://github.com/aws/aws-cryptographic-material-providers-library.git@lucmcdon/python-mpl-v2#subdirectory=TestVectorsAwsCryptographicMaterialProviders/runtimes/python \ No newline at end of file diff --git a/test_vector_handlers/src/awses_test_vectors/manifests/full_message/decrypt.py b/test_vector_handlers/src/awses_test_vectors/manifests/full_message/decrypt.py index 8c500caba..c2a233ca6 100644 --- a/test_vector_handlers/src/awses_test_vectors/manifests/full_message/decrypt.py +++ b/test_vector_handlers/src/awses_test_vectors/manifests/full_message/decrypt.py @@ -8,6 +8,8 @@ import json import os from enum import Enum +import contextlib +import io import attr import aws_encryption_sdk @@ -126,8 +128,19 @@ def match(self, name, decrypt_fn): # The ESDK implementations are not consistent in the types of errors they produce # or the exact error messages they use. The most important thing to test is that decryption # fails in some way, and hence the overly-broad implicit try/catch here. + with pytest.raises(Exception): - decrypt_fn() + # Here, an exception is expected. + # However, when the expected exception is raised, + # the Python environment will write stderrs to console. + # Redirect stderr to null-like sink + # so local and CI build logs are cleaner, + # and any actual issues are easier to see. + # If an exception is not raised as expected, + # `pytest.raises` will fail. + tmp_file = io.StringIO() + with contextlib.redirect_stderr(tmp_file): + decrypt_fn() except BaseException: # Translate the exception just to attach context. raise RuntimeError( diff --git a/test_vector_handlers/src/awses_test_vectors/manifests/mpl_keyring.py b/test_vector_handlers/src/awses_test_vectors/manifests/mpl_keyring.py index ec35147c0..566bd7f55 100644 --- a/test_vector_handlers/src/awses_test_vectors/manifests/mpl_keyring.py +++ b/test_vector_handlers/src/awses_test_vectors/manifests/mpl_keyring.py @@ -31,7 +31,7 @@ from aws_cryptographic_materialproviders.mpl.models import CreateMultiKeyringInput import _dafny -import UTF8 +from standard_library.internaldafny.generated import UTF8 # Ignore pylint not being able to read a module that requires the MPL # pylint: disable=no-name-in-module