deeptools / pyBigWig

A python extension for quick access to bigWig and bigBed files
MIT License
212 stars 48 forks source link

Implement #133 #134

Closed dpryan79 closed 1 year ago

dpryan79 commented 1 year ago

Try enabling a numpy feature that will actually pull in numpy as a dependency.

EricR86 commented 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.

dpryan79 commented 1 year ago

Given the excess complexity of all of that it's simpler to just ditch pip and use the conda package.