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

Migrate from setup.py to scikit-build-core and cibuildwheel #86

Open
1 of 8 tasks
nightlark opened this issue Feb 9, 2024 · 4 comments
Open
1 of 8 tasks

Migrate from setup.py to scikit-build-core and cibuildwheel #86

nightlark opened this issue Feb 9, 2024 · 4 comments

Comments

@nightlark
Copy link
Member

nightlark commented Feb 9, 2024

  • Move configuration from setup.py to pyproject.toml
  • Combine ci/cd workflows so that contents of wheel that gets built will be tested
  • Convert NPM code in setup.py to CMakeLists.txt Split cli extras files out into their own thing
  • Post issue/discussion in scikit-build-core about running "python scripts" as part of build steps (Recommendation was just port the npm stuff to CMakeLists.txt)
  • Switch from setup.py script to scikit-build-core (essentially moving to a CMakeLists.txt file)
  • Use pypa/cibuildwheel for building wheels
  • Use setuptools_scm for versioning
  • Remove assorted Python 2 backwards compatibility hacks as they are encountered
@nightlark
Copy link
Member Author

https://github.com/GMLC-TDC/helics-packaging/tree/main/helics_apps-pip can be used as an example of what the conversion to scikit-build-core would look like, minus the NPM stuff for building the HELICS CLI.

@trevorhardy
Copy link
Contributor

Making this conversion would make it easy to support HELICS on Docker images on ARM Macs.

@nightlark
Copy link
Member Author

Some additional motivation for migrating: right now we run setup.py directly to build wheels — apparently this form of running setuptools has been deprecated for years and won’t work anymore in Python 3.12: https://gregoryszorc.com/blog/2023/10/30/my-user-experience-porting-off-setup.py/

@nightlark
Copy link
Member Author

Some initial work on a few of the changes required for this is in the branch: https://github.com/GMLC-TDC/pyhelics/tree/scikit-build-core-migration

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

When branches are created from issues, their pull requests are automatically linked.

2 participants