-
Notifications
You must be signed in to change notification settings - Fork 596
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
|
We need to do the same thing for mcpl that we have done for ncrystal. |
|
I have already created PR #3429 to make this PR working again. |
ed17466 to
3384aba
Compare
|
Everything is working now. |
|
Here's a minimal Dockerfile I used to produce the wheel for python 3.13/ubuntu25.04, works great: FROM ubuntu:25.04
RUN apt update -y \
&& apt install -y python3 python-is-python3 python3-venv python3-dev \
git g++ cmake libhdf5-dev libpng-dev curl
RUN python -m venv venv \
&& . venv/bin/activate \
&& pip install git+https://github.com/ahnaf-tahmid-chowdhury/OpenMC.git@skbuild-minimalWhat are the difficulties that need solving to add DAGMC+dependencies to the wheel? |
|
Glad to hear it is working for you.
No difficulties, Ahnaf and myself have already added DAGMC + Embree + Moab to a wheel. We have not included it in this PR as we are trying to keep it minimal. If this one is merged then we would follow up with a PR that adds DAGMC to the wheel. However for a sneak preview you could take a peak that this branch and this repo for method and resulting wheels. One difference is that we have used manylinux dockerfiles to ensure compatibility with other flavors of linux. |
|
Ah looks like the recent changes to the coverage need merging into this PR CI error is I think this is the PR that got the CI working again #3594 |
|
Key things being changed, added, or removed:
|
|
This is just the foundation. More features will be added later, such as using CMake’s built-in modules for target generation, adding an |
GuySten
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me.
paulromano
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Putting a placeholder as I'd like to review this before we merge
GuySten
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I noticed that the cpp test suite does not run.
Description
This PR introduces support for
scikit-build-core, streamlining the build process and improving compatibility.Key Changes
Enable
scikit-build-coresupportpyproject.tomlto usescikit-build-coreinstead of legacy methods.CMake and Build Updates
CMakeLists.txtto supportskbuild, ensuring compatibility with bothscikit-build-coreand native CMake builds.GenerateScript.cmaketo handle executable files (openmc) on both Linux and macOS.OpenMCConfig.cmake.into integratescikit-build-core.Git and Packaging Improvements
.h5files from.gitignoreas they are needed.MANIFEST.inas it is no longer required.CI and Docs Updates
pip installasscikit-build-corenow handles it.Python API Enhancements
__init__.pyto 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.