Closed dpryan79 closed 1 year ago
I don't believe this is what is intended. I'm not experienced in optional requirements either.
In this specific case it looks like you technically have an optional build requirement specifically, and I don't think that's a current possibility for python packaging.
My naive understanding is optional requirements are more for runtime python features, not stuff that needs building. In this case I'm not even certain the install_requires
is sufficient since it will simply install numpy
as a dependency, but potentially miss the c-extension build step anyway.
In general I believe the recommendation is to distribute wheels if numpy is a build dependency by targeting a minimum numpy version. You could consider distributing wheels along side the regular source distribution as a fallback if the platform doesn't match.
There seems to be a general recommendation to use scikit-build and it provides a numpy module if that helps.
The extras_require
feature might not even be feasible the more I look into it.
Given the excess complexity of all of that it's simpler to just ditch pip and use the conda package.
Try enabling a numpy feature that will actually pull in numpy as a dependency.