Skip to content

Restore Python bindings on current Python - #309

Merged
sobolevnrm merged 1 commit into
mainfrom
fix/python-bindings-300
Sep 13, 2026
Merged

sobolevnrm merged 1 commit into
mainfrom
fix/python-bindings-300

Conversation

@sobolevnrm

Copy link
Copy Markdown
Member

Closes #300.

Summary

  • update the vendored pybind11 dependency to v3.1.0
  • use vendored pybind11 when no installed CMake package is available
  • replace obsolete embedded PyString_* calls in the SWIG interface
  • install the SWIG module normally instead of copying into a sibling PDB2PQR checkout
  • initialize and share the pybind input parser implementation
  • update the legacy drivers for Python 3
  • add a Python 3.14 build/import/parser smoke test for both binding implementations

Validation

  • both _apbslib and apbs_pybind configure, build, and install locally with Python 3.14.7 and SWIG 4.5.1
  • both installed modules import and parse the real legacy INPUT string successfully
  • legacy main.py and noinput.py import successfully
  • Python suite: 205 passed, 5 skipped, 2 xfailed, 1 xpassed
  • independent read-only review found no blockers

@sobolevnrm
sobolevnrm force-pushed the fix/python-bindings-300 branch 2 times, most recently from 563c38f to bd4d087 Compare September 13, 2026 00:09
@sobolevnrm
sobolevnrm force-pushed the fix/python-bindings-300 branch from bd4d087 to 6c6c855 Compare September 13, 2026 00:19
@sobolevnrm
sobolevnrm merged commit ca516c5 into main Sep 13, 2026
11 checks passed
@sobolevnrm
sobolevnrm deleted the fix/python-bindings-300 branch September 13, 2026 00:37
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.

Replace removed Python 2 C API macros for SWIG 4.5.0 compatibility

1 participant