firecrown icon indicating copy to clipboard operation
firecrown copied to clipboard

Any chances we can make a `pip install` version of Firecrown?

Open arthurmloureiro opened this issue 1 year ago • 2 comments

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.

arthurmloureiro avatar Aug 01 '24 14:08 arthurmloureiro

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.

tilmantroester avatar Aug 02 '24 10:08 tilmantroester

We could include the dependencies in a conda package and keep the pip dependencies lighter.

joezuntz avatar Aug 02 '24 10:08 joezuntz

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.

tilmantroester avatar Oct 08 '24 12:10 tilmantroester

@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?

marcpaterno avatar Oct 08 '24 16:10 marcpaterno

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

arthurmloureiro avatar Oct 09 '24 08:10 arthurmloureiro