-
Notifications
You must be signed in to change notification settings - Fork 87
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
Optional Python dependencies #1054
Comments
Yep we already have some optional dependencies here Main thing is to come up with a name for that grouping. One suggestion would be Might want to include CuPy and anything else here Edit: Other thing would be to include this in the Conda recipe under |
I was thinking of something even broader, maybe
I don't think we have or have ever had any constraints regarding CuPy versions, so I don't see an immediate need for that.
Ah this is nice too, thanks for raising, I wasn't aware of that one. |
Sure how about Not sure I'm understanding. We can optional requirements wherever we see fit. Was more meaning we should list CuPy. Whether we include a lower bound (and what that might be) is a different discussion |
Yes,
I got a bit carried away with the version specifically because I raised this discussion to "enforce" a minimum cuDF version, but you're right, we can add CuPy to |
This plan sounds reasonable. One note, conda's |
I guess the answer is probably "no", is it possible to implement anything that provides a hard-constraint like |
No, unfortunately not that I am aware of. pip's dependency solver is good enough now that it will correctly detect incompatible versions of required dependencies regardless of installation order (that used to not be the case), but I'm not aware of any way to do this for optional dependencies in the way that conda's |
In #984 (comment) we have briefly discussed that cuDF not being a hard dependency of Dask-CUDA theoretically may allow older versions to be used. We do not guarantee any sort of backwards compatibility, and thus we have to rely on checking for the availability of specific features or version at runtime. However, it feels it would be appropriate to instead ensure cuDF (if installed) maintains a minimum version, what seems possible according to Setuptools Optional Dependencies docs. In that case, we would simply drop all code that exists to ensure certain functionalities are implemented at runtime.
Is the above a reasonable approach, or are there better alternatives for that?
@jakirkham @vyasr I believe you may have some insights regarding this.
The text was updated successfully, but these errors were encountered: