Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
[WIP] Which dependencies are really optional? #770
Turns out our optional dependencies are... not so optional. If sourmash is installed from PyPI it doesn't even manage to print the help message when executed (because numpy is being imported but is not listed as a required dependency).
Dependencies needed to get to help message for each subcommand
Should we require
@@ Coverage Diff @@ ## master #770 +/- ## ========================================== + Coverage 89.48% 89.48% +<.01% ========================================== Files 29 29 Lines 4554 4555 +1 Branches 46 46 ========================================== + Hits 4075 4076 +1 Misses 476 476 Partials 3 3
That's a nice hack on their part: we didn't write the original recipe for sourmash in bioconda, but since it is a sort of canonical source for installing sourmash now it also becomes what's expected to be required for other sources too (like PyPI) =]
Supporting many dependencies with conda is fine because they are all pre-built, but it is harder for PyPI because not every operating system (or even alternative Python implementations) has numpy/scipy/matplotlib wheels, and compiling for source is excruciating. Might just be me being an old timer, but I would like to keep required external dependencies to a minimum.
I think it also boils down to use cases: