diff --git a/src/seedpass/core/compat.py b/src/seedpass/core/compat.py new file mode 100644 index 00000000..6f1b560b --- /dev/null +++ b/src/seedpass/core/compat.py @@ -0,0 +1,11 @@ +"""Compatibility layer for different Python versions.""" + +import sys + +# Ensure the ``imghdr`` module is available for ``pgpy`` on Python 3.13+ +try: # pragma: no cover - only executed on Python >= 3.13 + import imghdr # type: ignore +except ModuleNotFoundError: # pragma: no cover - fallback for removed module + from utils import imghdr_stub + + sys.modules.setdefault("imghdr", imghdr_stub) diff --git a/src/seedpass/core/password_generation.py b/src/seedpass/core/password_generation.py index 60d6a8de..08d69869 100644 --- a/src/seedpass/core/password_generation.py +++ b/src/seedpass/core/password_generation.py @@ -35,15 +35,7 @@ from cryptography.hazmat.primitives.asymmetric import ed25519 from cryptography.hazmat.backends import default_backend from bip_utils import Bip39SeedGenerator -# Ensure the ``imghdr`` module is available for ``pgpy`` on Python 3.13+ -try: # pragma: no cover - only executed on Python >= 3.13 - import imghdr # type: ignore -except ModuleNotFoundError: # pragma: no cover - fallback for removed module - from utils import imghdr_stub as imghdr # type: ignore - import sys - - sys.modules.setdefault("imghdr", imghdr) - +from . import compat # noqa: F401 from local_bip85.bip85 import BIP85 from constants import (