-
Notifications
You must be signed in to change notification settings - Fork 513
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
wheel building with scikit build core #3087
base: develop
Are you sure you want to change the base?
Conversation
for anyone interested in wheels that contain DAGMC, Double Down, Embree and Moab options in the OpenMC executable then I have that working on this branch, clone or checkout that branch |
just to note a new pip version is needed to pass in cmake arguments via the command line, if you get this error then upgrade pip (I'm using version 24.1.2)
solve with
|
nice the docs on readthedocs are now working, it needed a bit of tweaking as they now installing the package with this scikit build core method. |
The coverage command is in the CI here and it has flags for directories to include and ignore. |
@ahnaf-tahmid-chowdhury congratulations for getting the coverage to pass as well. You are a super star. I think this is ready for a review if any one has time |
824d1f4
to
3ede515
Compare
e4e42a6
to
aeef2d6
Compare
9775ca8
to
b0995b8
Compare
openmc/__init__.py
Outdated
warnings.warn( | ||
"It seems OpenMC is being run from its source directory. " | ||
"This setup is not recommended as it may lead to unexpected behavior, " | ||
"such as conflicts between source and installed versions. " | ||
"Please run your script from outside the OpenMC source tree.", | ||
RuntimeWarning | ||
) |
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've been running outside of the source directory and getting this warning pop up
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.
checking
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.
Perhaps we just remove this warning, currently in the develop branch we don't print a warning for running inside the source directory.
warnings.warn( | ||
"It seems OpenMC is being run from its source directory. " | ||
"This setup is not recommended as it may lead to unexpected behavior, " | ||
"such as conflicts between source and installed versions. " | ||
"Please run your script from outside the OpenMC source tree.", | ||
RuntimeWarning | ||
) |
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 think it is perhaps better to removing this warning as it was not there before the PR
warnings.warn( | |
"It seems OpenMC is being run from its source directory. " | |
"This setup is not recommended as it may lead to unexpected behavior, " | |
"such as conflicts between source and installed versions. " | |
"Please run your script from outside the OpenMC source tree.", | |
RuntimeWarning | |
) |
Just solved a couple of conflicts to keep this branch up to date |
Description
Just making this PR to show a bit of progress with the production of wheels using scikit build core. Tagging @hassec as he made the
OpenMCExtension
part of this PR.Running
pip install .
in the root folder of this repo and this will compile openmc and build a wheel and then install the python package and openmc executable from the wheel with default cmake args.It is also possible to pass in cmake args via the command line in the same line as the pip install command.
you can also run
pip install . --no-clean
This will do the same but it won't delete the wheel afterwards. This allows you to inspect the wheel and manually install from the wheel. The path to the wheel is printed to the terminal and will be in your /tmp folderI've added some
if(SKBUILD)
statements to the CMakeLists.txt to help insure the new commands only run if the process is being driven by Scikit build core and therefore this preserves the current behavior when someone wants to build the executable with cmakeI can follow up this PR to include ciwheelbuilder to make wheels for different OS versions
Fixes # (issue)
Checklist