CIL icon indicating copy to clipboard operation
CIL copied to clipboard

upgrade build framework

Open casperdcl opened this issue 1 year ago • 1 comments

  • [ ] drop {setup,version}.py.in in favour of pyproject.toml
    • [x] #1876
    • [x] #2118
    • [ ] document & use dependency groups more #1961
      • including e.g. #2118
  • [x] let pip drive cmake
    • [x] FindIPP fallback #2148
    • [x] #2145
  • [ ] use pybind11 in lieu of ctypes #2147
  • [ ] #2154
  • [ ] #2155
  • [ ] PyPI dist #932
    • sdist
    • (cibuild)wheel #2097
  • [ ] publish on conda-forge
  • [ ] drop data submodule (related: #2162)
    • [ ] PyPI dist for https://github.com/TomographicImaging/CIL-Data

casperdcl avatar Jul 22 '24 17:07 casperdcl

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:

  1. Convert cpp code to be a C extension
  2. Use scikit-build-core for the C-extension
  3. Package the whole project using a top level pyproject.toml file.

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.

purepani avatar Mar 08 '25 05:03 purepani