Skip to content
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

Enable Scikit-Build-Core Support #3339

Open
wants to merge 126 commits into
base: develop
Choose a base branch
from

Conversation

ahnaf-tahmid-chowdhury
Copy link
Contributor

@ahnaf-tahmid-chowdhury ahnaf-tahmid-chowdhury commented Mar 6, 2025

Description

This PR introduces support for scikit-build-core, streamlining the build process and improving compatibility.

This is a minimal version of the PR, excluding manylinux support, to facilitate a faster review. The full PR can be found here.

Key Changes

Enable scikit-build-core support

  • Updated pyproject.toml to use scikit-build-core instead of legacy methods.

CMake and Build Updates

  • Updated CMakeLists.txt to support skbuild, ensuring compatibility with both scikit-build-core and native CMake builds.
  • Added GenerateScript.cmake to handle executable files (openmc) on both Linux and macOS.
  • Updated OpenMCConfig.cmake.in to integrate scikit-build-core.

Git and Packaging Improvements

  • Removed ignoring of .h5 files from .gitignore as they are needed.
  • Removed MANIFEST.in as it is no longer required.

CI and Docs Updates

  • Updated Dockerfile: Removed the need to run CMake before pip install as scikit-build-core now handles it.
  • Updated CI configuration files to fix build and test issues.
  • Added necessary APT packages for ReadTheDocs to compile dependencies properly.

Python API Enhancements

  • Added functions to __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.

@shimwell
Copy link
Member

Thanks for keeping this PR up to date @ahnaf-tahmid-chowdhury

@jon-proximafusion
Copy link
Contributor

We appear to have lost some coverage in the src folder and includes folder on this PR

@ahnaf-tahmid-chowdhury ahnaf-tahmid-chowdhury force-pushed the skbuild-minimal branch 4 times, most recently from ea89de0 to 735072a Compare March 30, 2025 17:25
@ahnaf-tahmid-chowdhury
Copy link
Contributor Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants