import CyberSource
File "/site-packages/CyberSource/__init__.py", line 1559, in <module>
from .api.o_auth_api import OAuthApi
File "/site-packages/CyberSource/api/__init__.py", line 5, in <module>
from .batch_upload_with_mtls_api import BatchUploadWithMTLSApi
File "/site-packages/CyberSource/api/batch_upload_with_mtls_api.py", line 6, in <module>
from CyberSource.utilities.pgpBatchUpload.pgp_encryption import PgpEncryption
File "/site-packages/CyberSource/utilities/pgpBatchUpload/pgp_encryption.py", line 4, in <module>
import pgpy
File "/site-packages/pgpy/__init__.py", line 4, in <module>
from .pgp import PGPKey
File "/site-packages/pgpy/pgp.py", line 25, in <module>
from .constants import CompressionAlgorithm
File "/site-packages/pgpy/constants.py", line 5, in <module>
import imghdr
ModuleNotFoundError: No module named 'imghdr'
The
cybersource-rest-client-pythonpackage fails to initialize on Python 3.13 due to a transitive dependency issue with thepgpypackage.See also: SecurityInnovation/PGPy#462
Environment
Root Cause
imghdrmodule (https://peps.python.org/pep-0594/)pgpypackage (v0.6.0) importsimghdrin itsconstants.pyfilecybersource-rest-client-pythondepends onpgpy(defined insetup.py)BatchUploadWithMTLSApiis imported in the top-levelCyberSource/__init__.pyError Traceback
Impact