Skip to content

Support Python 3.8 through 3.12#15

Open
wuzp15 wants to merge 2 commits into
SpinQTech:mainfrom
wuzp15:codex/python-3.8-3.12
Open

Support Python 3.8 through 3.12#15
wuzp15 wants to merge 2 commits into
SpinQTech:mainfrom
wuzp15:codex/python-3.8-3.12

Conversation

@wuzp15

@wuzp15 wuzp15 commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Summary

  • declare support for Python 3.8 through 3.12 and use isolated PEP 517 build requirements
  • update CMake/pybind11 discovery for current Python versions
  • replace reliance on python-igraph's private binary layout with a public graph-data boundary
  • include the native CMake, C++, wrapper, and regression-test sources in source distributions
  • document the supported Python range and add compatibility tests for graph transfer, native simulation, and adjoint autograd

Root cause

Installation on newer Python versions was blocked by obsolete dependency pins and legacy CMake Python discovery. The native backends also depended on python-igraph implementation details, preventing migration to current igraph releases. Separately, source distributions omitted files required to build the native extension.

Impact

pip install from the source distribution can now build SpinQit on supported Python versions without preinstalling build tools into the target environment. Python 3.8 remains supported while Python 3.9 through 3.12 can use compatible current dependencies.

Validation

On Windows x86-64 with Visual Studio 2022 Build Tools, the exact source distribution from this branch was tested in clean Conda environments using Python 3.8.20, 3.9.25, 3.10.20, 3.11.15, and 3.12.13. For every version:

  • built a version-specific win_amd64 wheel from the source distribution
  • installed the wheel with its full dependency set
  • passed all 3 Python compatibility tests, including adjoint autograd through the native simulator
  • passed all 5 native optimizer/compiler regression tests
  • passed pip check with no broken requirements

The regression tests are included; disposable reproduction and environment artifacts are not.

@wuzp15
wuzp15 marked this pull request as ready for review July 23, 2026 05:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant