-
-
Notifications
You must be signed in to change notification settings - Fork 25.8k
DOC Mention that Meson is the main supported way to build scikit-learn #29008
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
Conversation
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.
lgtm
doc/whats_new/v1.5.rst
Outdated
support until v1.6 and officially remove setuptools support when scikit-learn | ||
1.6 is released. |
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.
maybe we can target 1.7 to be more inline with our usual 2 releases deprecation duration
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.
Does the type of build system that scikit-learn use effect users? I thought it was basically only people building from source or release managers who would notice the change? Which is why I think dropping in 1.6 would be Ok. Of course a bit more time for transitioning is also Ok.
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 guess that some people doing packaging themselves may be affected e.g. Linux distributions maybe?
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.
This is not a library API thingy so I think we can state that we will drop support for setuptools in 1.6.
If people complain, we can always extend this to 1.7 later.
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.
maybe we can target 1.7 to be more inline with our usual 2 releases deprecation duration
I thought about that indeed, my current plan:
- rename
setup.py
to_setup.py
in 1.6.dev0 (seemed to be the consensus during the meeting today) - in 1.6 you can rename
_setup.py
tosetup.py
to have one more release to actually move to Meson. Probably we still want to test setuptools during this period? - remove setuptools files completely in 1.7
I need to find again how Scipy did it but I think it was very reasonable, e.g. if you try to do python setup.py something
it would tell you "setup.py is deprecated, please move to Meson and at last resort you still have the _setup.py
option". What I am not sure about is whether this was guaranteed to work or more "this may work if you are lucky"
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 found the scipy way scipy/scipy#19027. They were still testing setuptools in 1.11.2 after setup.py
-> _setup.py
renaming and dropped it in 1.12.
Inspiration for the wording may also be used from the Scipy 1.9 release notes (a bit more detailed than what I currently have):
https://docs.scipy.org/doc/scipy/release/1.9.0-notes.html#scipy-switched-to-meson-as-its-build-system
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.
This is not a library API thingy so I think we can state that we will drop support for setuptools in 1.6.
If people complain, we can always extend this to 1.7 later.
Yeah thinking a bit more about this, this would be my preferred option too ...
27a3d64
to
3471fef
Compare
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.
LGTM, one comment to make it easier to read, otherwise good to merge
Co-authored-by: Tim Head <betatim@gmail.com>
It seems like a job got stuck for some reason, I restarted the build. |
scikit-learn#29008) Co-authored-by: Tim Head <betatim@gmail.com>
#29008) Co-authored-by: Tim Head <betatim@gmail.com>
This fills a TODO in the changelog about Meson.
The wording + strategy is up for debate. I know scipy moved
setup.py
to_setup.py
(without testing it not 100% sure) so that at least people relying on it had to make an explicit step and realise this was deprecated.