GalSim does not have a formal dependency on scipy. For good reason -- that brings in a pretty large dependency tree. (Historically for a better reason, that scipy was notoriously hard to install for many years -- but that reason doesn't apply so much after scipy v1.0.)
However, we have a hidden scipy dependency in FittedSIPWCS. I think we can rewrite sections of that to use numpy.linalg.lstsq rather than scipy.optimize.least_squares.
If we choose not to, we should instead add scipy as a formal requirement I think, since this functionality isn't something that would obviously pull in an additional dependency requirement, so I don't think users should expect this behavior.
GalSim does not have a formal dependency on scipy. For good reason -- that brings in a pretty large dependency tree. (Historically for a better reason, that scipy was notoriously hard to install for many years -- but that reason doesn't apply so much after scipy v1.0.)
However, we have a hidden scipy dependency in FittedSIPWCS. I think we can rewrite sections of that to use numpy.linalg.lstsq rather than scipy.optimize.least_squares.
If we choose not to, we should instead add scipy as a formal requirement I think, since this functionality isn't something that would obviously pull in an additional dependency requirement, so I don't think users should expect this behavior.