choderalab / pymbar

Python implementation of the multistate Bennett acceptance ratio (MBAR)
http://pymbar.readthedocs.io
MIT License
235 stars 91 forks source link

Revising the conda release strategy #529

Open xiki-tempula opened 3 months ago

xiki-tempula commented 3 months ago

I have a use case where I need some components of the pymbar that is not solver related like the decorrelation, so I install pymbar-core=4. In the same environment, I install openfe, which then pulls in pymbar=3. So in the same conda environment, I have pymbar-core=4 and pymbar=3, which is kind of bad. I think it might be better to have jax and none-jax variant of pymbar as different build varient of pymbar?

Related to https://github.com/choderalab/pymbar/issues/500 I made a branch to show the solution that I came up with https://github.com/conda-forge/pymbar-feedstock/pull/43

mikemhenry commented 3 months ago

I think the cleaner fix is to prohibit pymbar-core from being installed with pymbar=3.x (which we can do with a new build of pymbar 3 + a metadata repo patch).

I will let others chime in that might have some ideas @mattwthompson @Lnaden

mattwthompson commented 3 months ago

I don't really know what this package does, but in general if JAX can be treated as an optional dependency for some set of functionality, splitting the package out is a good idea