-
Notifications
You must be signed in to change notification settings - Fork 543
Enable Scikit-Build-Core Support #3339
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Enable Scikit-Build-Core Support #3339
Conversation
…into scikit_build_core_wheel
…into scikit_build_core_wheel
It's strange. The coverage is showing files with less coverage that are not even touched in this PR. I'm not sure how to fix this or if it's a bug. |
oh that last run appears to be 1.5 % dropped coverage, I think previous ones were a bigger drop. |
Congratulations Ahnaf looks like all thest tests are pass and the coverage is also good. |
This PR is realy for review. Feedback welcome |
Hey @ahnaf-tahmid-chowdhury thanks for this, I'm planning on testing this with @rossmacdonald98 and @SteSeg to fix our workflow (see #3369 ) without having to wait for a new release or recompile from source |
This branch and the pip install mechanism can be tried with with command pip install git+https://github.com/ahnaf-tahmid-chowdhury/OpenMC.git@skbuild-minimal Let us know if you uncover any issues |
I tried to merge python version
|
Hello, @RemDelaporteMathurin. This is a short PR that only introduces the scikit-build-core setup. You may need to install dependencies before running the setup. |
Yes in the future (follow up PR) these will be bundled in the wheel but for now if you install via pip and this branch I guess these are needed.
|
Installed these dependencies and I still have the error. Is there a list somewhere? |
For minimal setup you may only need hdf5 installed. For detail setup you may consider reviewing the CI workflows. There is a Manylinux dockerfile available at #3087 that might also help. |
Thanks @ahnaf-tahmid-chowdhury for making the changes now that mcpl is linked via a pip install |
We need to do the same thing for mcpl that we have done for ncrystal. |
Description
This PR introduces support for
scikit-build-core
, streamlining the build process and improving compatibility.Key Changes
Enable
scikit-build-core
supportpyproject.toml
to usescikit-build-core
instead of legacy methods.CMake and Build Updates
CMakeLists.txt
to supportskbuild
, ensuring compatibility with bothscikit-build-core
and native CMake builds.GenerateScript.cmake
to handle executable files (openmc
) on both Linux and macOS.OpenMCConfig.cmake.in
to integratescikit-build-core
.Git and Packaging Improvements
.h5
files from.gitignore
as they are needed.MANIFEST.in
as it is no longer required.CI and Docs Updates
pip install
asscikit-build-core
now handles it.Python API Enhancements
__init__.py
to retrieve OpenMC installation configuration from the Python side.Sponsored By
This contribution is kindly sponsored by @proximafusion, supporting the ongoing development and modernization of OpenMC’s Python packaging and build system.