This is very cool and seems relevant to some recent packaging discussions [1].
It’s cool that the solver works with both indexes. I’m curious, do you think there’s a way to cross the conda-forge / PyPI boundary while resolving? I’ve been thinking about this lately and it seems doable but there are some potential pitfalls. One obvious one is that the package names aren’t exactly 1-to-1, but I don’t know how often.
I’m thinking of the scenario where I want to install A
from PyPI and it requires B
which is on both PyPI and conda-forge. conda install A
doesn’t work because A
isn’t there. pip install A
will install B
from PyPI (let’s assume I don’t want to do that for some reason).
Right now the solution is conda install B; pip install A
but it’d be great if a tool could figure that out on its own. There are a lot of recipes on conda-forge that could be removed[2] if conda
knew to install from PyPI when needed.