Skip to content

Remove boost dependency#229

Open
tskisner wants to merge 7 commits into
masterfrom
boostless_pybind11
Open

Remove boost dependency#229
tskisner wants to merge 7 commits into
masterfrom
boostless_pybind11

Conversation

@tskisner

@tskisner tskisner commented Dec 4, 2025

Copy link
Copy Markdown
Member

This PR replaces #212. This work performs the minimal replacement of boost::python with pybind11. It also:

  • Replaces large, fragile, ad-hoc setup.py with direct running of cmake from pyproject.toml, using scikit-build-core.

  • Incorporates a local copy of boost/math/quaternion.hpp with trig functions removed to lift any dependency on other boost parts.

  • Cleans up python imports (which had absolute imports of "so3g") and replaces with relative imports within the package.

  • Moves the python package into a python/so3g subdirectory, which makes discovery by the build system easier.

tskisner added 7 commits July 9, 2026 12:51
- Convert boost::python bindings to nanobind.  Keep interfaces as close
  as possible to the existing ones.  In particular, the direct CPython
  interface is NOT replaced with nanobind.ndarray<>.  Mainly only
  nb::object and nb::cast are used.

- Replace large, fragile, ad-hoc setup.py with direct running of cmake
  from pyproject.toml, using scikit-build-core.

- Incorporate a local copy of boost/math/quaternion.hpp with trig
  functions removed to lift any dependency on other boost parts.

- Clean up python imports (which had absolute imports of "so3g") and
  replace with relative imports within the package.
- propagate version to c++ from pyproject.toml
- Fix builds on MacOS / Clang

- Various code and binding fixes

- Update documentation
@tskisner tskisner force-pushed the boostless_pybind11 branch from 1d8df55 to 28b095f Compare July 9, 2026 19:55
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