Skip to content

Conversation

@dalcinl
Copy link
Contributor

@dalcinl dalcinl commented Nov 27, 2025

  • Update to use scikit-build-core as the build backend.
  • Ship the data/ directory in the wheels to make them self-contained.

@rdbisme
Copy link
Collaborator

rdbisme commented Dec 3, 2025

Thanks, this is cool. It's been a while I used scikit-wheel. What's the metadata code for?

@dalcinl
Copy link
Contributor Author

dalcinl commented Dec 3, 2025

been a while I used scikit-wheel.

Please note I switched to use the modern scikit-build-core, not the older scikit-build.

What's the metadata code for?

Do you mean the code in metadata.py? Well, that is just pedanticness of mine. The purpose of that code is to inject a <base> HTML property in README.md such that the landing page of the package in the Python Package Index can link back to the assets (images and other content) stored in the GitHub repository.

Right now the PyPI landing page is quite succinct https://pypi.org/project/mutationpp/, what this PR does, once a new version is published, is to basically render README.md instead.

If you do not like all this complication, remove all this dynamic metadata stuff and keep the PyPI landing page minimal. After all, on the left side, PyPI will render the project URLs I'm adding, so users will know where to go for additional information.

@dalcinl
Copy link
Contributor Author

dalcinl commented Dec 3, 2025

@rdbisme I'm planning to submit another PR to switch from pybind11 to nanobind. All of this work in in this branch: https://github.com/dalcinl/Mutationpp/tree/use-nanobind-abi3
The main rationale about the switch is to support build Stable ABI Python wheels for Py 3.12+. This way, the wheels become forward-compatible with newer versions of Python, and we can publish them on PyPI for quick install.

Would you prefer to this PR with all that work? Or better keep things separate for easier review/discussion?

@dalcinl
Copy link
Contributor Author

dalcinl commented Dec 3, 2025

@rdbisme I've updated this PR quite a bit. The failures in Python 3.8 are due to missing features in importlib.resources. Should we still care about Python 3.8 which is already end of life? If not, I can update to require python_version >= 3.9 and update CI accordingly.

@rdbisme
Copy link
Collaborator

rdbisme commented Dec 4, 2025

I'd say we can definitely drop 3.8 and 3.9.

@dalcinl
Copy link
Contributor Author

dalcinl commented Dec 4, 2025

@rdbisme This one is ready to go. Once merged, I plan to submit another one switching to nanobind with support for Stable ABI builds for Py3.12+. I need a bit more of time to work on it, as I plan to consolidate and modernize the Python CI/CD workflows.

While I do all that work, could you please ask for owner/admin permissions to the PyPI project https://pypi.org/project/mutationpp/ ? I will need you to eventually click here and there to setup Trusted Publishing to completely automate the Python wheel/sdist release process. EDIT: Looks like you are already a maintainer https://pypi.org/user/RdB91/

@rdbisme
Copy link
Collaborator

rdbisme commented Dec 5, 2025

Yes already a maintainer and the wheel release I believe should be already wired when tagging.

@rdbisme rdbisme merged commit aabaacc into mutationpp:master Dec 11, 2025
10 checks passed
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.

2 participants