From bbb5d1cd7dc1aef140c7d9f5c26d4067d5a013ff Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Thu, 26 Mar 2026 14:13:19 -0400 Subject: [PATCH] python: use importlib if available pkg_resources is deprecated for newer versions of Python and importlib has been available since 3.7. Use importlib instead when available. Signed-off-by: Patrick Williams Upstream-Status: Submitted [https://github.com/AspeedTech-BMC/socsec/pull/21] --- requirements.txt | 1 + setup.py | 4 ++++ socsec/__init__.py | 12 +++++++++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index b3110f7b..c67461a6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,3 +6,4 @@ coverage==5.3.1 ecdsa==0.18.0 xlrd==1.2.0 cryptography==44.0.2 +importlib-resources; python_version < "3.9" diff --git a/setup.py b/setup.py index 611a486c..3c882800 100644 --- a/setup.py +++ b/setup.py @@ -1,3 +1,7 @@ +try: + from importlib import resources as importlib_resources +except ImportError: + import importlib_resources from socsec import __version__ import setuptools diff --git a/socsec/__init__.py b/socsec/__init__.py index 8a1b1cc9..5da77ecb 100644 --- a/socsec/__init__.py +++ b/socsec/__init__.py @@ -21,7 +21,17 @@ from bitarray import bitarray import os from ecdsa.keys import VerifyingKey -from pkg_resources import resource_filename as pkgdata +try: + from importlib import resources as importlib_resources +except ImportError: + import importlib_resources + +def pkgdata(package, resource): + try: + return str(importlib_resources.files(package).joinpath(resource)) + except AttributeError: + with importlib_resources.path(package, resource) as p: + return str(p) import struct from Crypto.PublicKey import RSA import binascii -- 2.52.0