-
-
Notifications
You must be signed in to change notification settings - Fork 66
Python pyproject package #177
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: master
Are you sure you want to change the base?
Conversation
pyproject.toml
Outdated
| { name = "Celerier Jean-Michaël", email = "[email protected]" }, | ||
| ] | ||
| classifiers = [ | ||
| "License :: BSD2", |
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.
Is there a way to identify the licenses of the project? They aren't a "OR" but a "AND"
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.
My bad, didn't read enough of the readme.
According to the packaging guide
As per PEP 639 licenses should be declared with two fields:
licenseis an SPDX license expression consisting of one or more license identifiers.license-filesis a list of license file glob patterns.
So yes I can specify multiple licenses but I don't think I can specify where they apply. would the following be ok?:
license-files = [
"LICENSE.md"
]
license = "MIT AND BSD-2-Clause"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.
yes thanks!
jcelerier
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.
amazing, thanks for the patch!
- Is there a reason this requires scikit ?
- Do you know if this builds with uv too?
|
Hi, As requested I updated the license and authors. I also added an explicit check for
Maybe not but it's the easiest/fastest way I found to integrate cmake+nanobind in the packaging process.
It does. There is an edge case where if it needs to download boost, it might fail due to the file path/name being too long. This can be fixed by tweaking the cache settings of uv. |
|
thanks! all good for me to merge if the patch is good for you |
|
It works for me with python build process, but it appears that the CI in place fails because I added the link to It's clearly finding it ( I could add a sanity check the same way I did for |
the huge majority of boost libraries are header-only and don't need linking, you can just link to the main boost target. If you specify components I think you have to add which components you are looking for in the boost find_package call, e.g. |
Hi,
I've taken some time to adapt the python binding in order to be able to build wheels.
This includes:
pyproject.tomlAdditionally I added a
FetchContentfor boost 1.89 int thedepscmake file so that the build process "just works". I have not tested if this causes an issue somewhere else!I've successfully used
pip wheel .to build the project with python 3.13 on windows.