From 4748e6db176c9397fbe4def4987c3bc51f637d44 Mon Sep 17 00:00:00 2001 From: faratech Date: Sun, 13 Jul 2025 22:33:54 +0000 Subject: [PATCH 1/2] Add Python 3.13 support - Remove upper bound constraint on construct dependency - The constraint 'construct<2.10' was preventing installation on Python 3.13 due to newer construct versions having imp module compatibility issues - Add explicit Python version classifiers including 3.13 - Add python_requires constraint for better dependency resolution - Tested successfully on Python 3.13 with construct 2.10.70 Fixes installation error: 'ModuleNotFoundError: No module named imp' The imp module was removed in Python 3.12+, and newer construct versions handle this properly, so removing the upper bound allows compatible versions to be installed automatically. --- setup.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index a970d94..4a0c6b7 100644 --- a/setup.py +++ b/setup.py @@ -10,11 +10,19 @@ author_email = 'brendandg@gatech.edu', url = 'https://github.com/moyix/pdbparse/', packages = ['pdbparse'], - install_requires = ['construct>=2.9', 'construct<2.10', 'pefile'], + install_requires = ['construct>=2.9', 'pefile'], classifiers = [ 'License :: OSI Approved :: GNU General Public License (GPL)', 'Operating System :: OS Independent', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', + 'Programming Language :: Python :: 3.12', + 'Programming Language :: Python :: 3.13', ], + python_requires='>=3.8', ext_modules = [Extension('pdbparse._undname', sources = ['src/undname.c', 'src/undname_py.c'])], include_package_data=True, scripts = [ From 5eeff2bc11a5063f130216f929706631e8302be2 Mon Sep 17 00:00:00 2001 From: faratech Date: Sun, 13 Jul 2025 22:37:08 +0000 Subject: [PATCH 2/2] Update .gitignore to exclude build artifacts - Add *.egg-info/ directories - Add *.so shared libraries - Add build/ and dist/ directories --- .gitignore | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitignore b/.gitignore index 48ce80b..7051739 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,9 @@ .idea __pycache__ + +# Build artifacts +*.egg-info/ +*.so +build/ +dist/