upgrade build framework
- [ ] drop
{setup,version}.py.inin favour ofpyproject.toml- [x] #1876
- [x] #2118
- [ ] document & use dependency groups more #1961
- including e.g. #2118
- [x] let
pipdrivecmake- [x] FindIPP fallback #2148
- [x] #2145
- [ ] use
pybind11in lieu ofctypes#2147 - [ ] #2154
- [ ] #2155
- [ ] PyPI dist #932
- sdist
- (cibuild)wheel #2097
- [ ] publish on
conda-forge- conda recipe requirements
buildvshostsections
- conda recipe requirements
- [ ] drop
datasubmodule (related: #2162)- [ ] PyPI dist for https://github.com/TomographicImaging/CIL-Data
I spent some time starting to get this to work with scikit-build-core. From what I understand, the cpp project would need to be converted such that the CPP code is compiled to a C-extension, instead of the whole project being compiled through CMake, so the steps I started on were:
- Convert cpp code to be a C extension
- Use
scikit-build-corefor the C-extension - Package the whole project using a top level
pyproject.tomlfile.
I have successfully gotten the C-extension to build, though I haven't written all the bindings for it yet(I just tested building one). Before I continued putting work into this, I wanted to ask if this was the path you wanted to go down for upgrading the build framework. If so, I can set up a draft PR and go from there! @casperdcl
Edit: I got a bit too excited and went ahead to get a functioning build with uv and scikit-build-core. It's not done yet, but it's functional at the minimum.