Any chances we can make a `pip install` version of Firecrown?
Without this, any packages which have firecrown as depedency (like smokescreen) won't ever be able to be pip installable...
PyPI codes will install but break since firecrown is not found and cannot be installed via pip.
Seconded. The idea of the rewrite was to make firecrown a library that can be used by different inference frameworks. Making cosmosis, cobaya, and numcosmo (which I assume is why it's not pip installable) required dependencies, seems to defeat the idea of firecrown being an independent library.
We could include the dependencies in a conda package and keep the pip dependencies lighter.
Looking at what's listed as install_requires in setup.cfg, non of astropy, cosmosis, cobaya, fitsio, pandas appear to be actually required for the running of firecrown. numcosmo_py is only used in the cluster likelihood and for reasons that are unclear to me in ZDistLSSTSRD. CCL is currently painful to install outside of conda and we should keep the non-pip-friendly packages to an absolute minimum.
Considering that missing import errors are self explanatory, whereas installation errors are usually not, I strongly suggest keeping the dependencies to a minimum. From my experience, these are causing more harm than good.
@arthurmloureiro in what way is the conda (or mamba) installation not acceptable, or under what conditions is it not working? How does pip fix that situation?
Hi @marcpaterno !
The goal initially was to keep Smokescreen only pip installable since it is a pure python package (and it is much easier to publish packages in PyPI than conda). Having a pip installable version of Firecrown would allow for that. But now we also have an issue with CCL pip installation (see https://github.com/LSSTDESC/CCL/issues/1194) so Firecrown is no longer the only non-pip installable dependency for Smokescreen.
@beckermr helped with the conda install for Smokescreen so I think for now its ok :D