Files
Tobias Pitters ec3e205ae1 Move to nanobind (#4366)
* WIP: try to use nanobind for cpp instead of numba

* WIP: replace njitted _compute_grey_code_row_values, tests passing

* update cutils

* add commands to build new nanobind extensions

* WIP: add more tests to figure out what went wrong in SHAP calculation

* WIP: maybe 1d working fine now!

* remove duplicated tests

* WIP: update cutils

* WIP: add more baselines

* add additivity to test_exact test

* update cutils and test exact

* update run_tests

* update run_tests

* CI: install nanobind on system-wide python

* update run_tests

* update cmakelists to use older cmake

* WIP: remove kernel lib and move function to c++

* remove kernel_lib

* copy the cutils binary to correct location

* Install cutils and cext modules via cmake

Co-authored-by: Zhihao Dai <zhihao.dai@eng.ox.ac.uk>

* Build for stable ABI py312+

- Restore `setuptools-scm` for version metadata.
- Update `_cext.cc` to enable new SABI build.

Co-authored-by: Zhihao Dai <zhihao.dai@eng.ox.ac.uk>

* Remove auto formatting

Co-authored-by: Zhihao Dai <zhihao.dai@eng.ox.ac.uk>

* Remove cython

Co-authored-by: Zhihao Dai <zhihao.dai@eng.ox.ac.uk>

* Update doc build CI

Co-authored-by: Zhihao Dai <zhihao.dai@eng.ox.ac.uk>

* Update #2

Co-authored-by: Zhihao Dai <zhihao.dai@eng.ox.ac.uk>

* Trigger CIs on "move-to-nanobind" branch

Co-authored-by: Zhihao Dai <zhihao.dai@eng.ox.ac.uk>

* Update tests CI

Co-authored-by: Zhihao Dai <zhihao.dai@eng.ox.ac.uk>

* Update build CI

Co-authored-by: Zhihao Dai <zhihao.dai@eng.ox.ac.uk>

* remove backup file

* add tmate for debugging ci

* move cutils to _cutils

* add stubs for c++ functions

* Add nanobind stub

Co-authored-by: Zhihao Dai <zhihao.dai@eng.ox.ac.uk>

* update ci file to set tmate before running tests

* update tmate position

* reintroduce manual stub

* add -P flag to stop python from adding cwd to path

* Restore ..cutils

Co-authored-by: Zhihao Dai <zhihao.dai@eng.ox.ac.uk>

* update ci

* Remove tmate

Co-authored-by: Zhihao Dai <zhihao.dai@eng.ox.ac.uk>

* update gpu extension to be build, add comment

* remove Makefile

* Allow tests on linux-aarch64 and macos-arm64

Co-authored-by: Zhihao Dai <zhihao.dai@eng.ox.ac.uk>

* Fix seg fault on macOS

Co-authored-by: Zhihao Dai <zhihao.dai@eng.ox.ac.uk>

* Write DYLD_LIBRARY_PATH to GITHUB_ENV

Co-authored-by: Zhihao Dai <zhihao.dai@eng.ox.ac.uk>

* Skip text masker test

Co-authored-by: Zhihao Dai <zhihao.dai@eng.ox.ac.uk>

* ignore mypy for stubs

* exclude docs/notebooks from sdist

* delete manifest.in

* remove move-to-nanobind branch in github workflows

* reset notebook to master

* remove build group from pyproject.toml

* build macos on x86_64 and arm64 separately instead of cross-compilation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* drop macos-13 runner since these are deprecated

* use macos-15-intel runners

---------

Co-authored-by: Zhihao Dai <zhihao.dai@eng.ox.ac.uk>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 22:35:19 +02:00
..