Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Keeping LSST Science Pipelines as optional dependency #113

Open
arunkannawadi opened this issue Jul 30, 2024 · 5 comments
Open

Keeping LSST Science Pipelines as optional dependency #113

arunkannawadi opened this issue Jul 30, 2024 · 5 comments
Assignees

Comments

@arunkannawadi
Copy link
Member

With the recent Roman-Rubin simulations, skyCatalogs have become an integral part of the Roman image simulations. For Roman-only simulations, we'd like to be able to use this but without bringing in the whole LSST DM stack as a dependency.

I looked into the codebase and it appears to me that it might be possible to keep it as an optional dependency.

  • sphgeom which is used ubiquitously in this package can be installed separately via pip: https://github.com/lsst/sphgeom?tab=readme-ov-file#installing-with-pip
  • gaia_object is the only module that has the full stack dependency via lsst.meas.algorithms, lsst.geom and lsst.afw.table (lsst.daf.butler is pip-installable). Redesigning this code such that gaia_object is imported explicitly/on-demand will enable using other aspects of this code without Science Pipelines.

On a branch, I see Joanne is documenting the dependency on Science Pipelines, but it would be useful to keep that optional. I'm happy to make the relevant changes if the proposal sounds good.

Pinging @JoanneBogart @jchiang87

@cwwalter
Copy link
Member

cwwalter commented Jul 30, 2024

My only comment is that we try to have a conda environment people can use for imSim etc and not have to separately include packages via pip etc. If we are brining in the stack otherwise will we still get this?

@jchiang87
Copy link
Collaborator

gaia_object is the only module that has the full stack dependency via lsst.meas.algorithms, lsst.geom and lsst.afw.table (lsst.daf.butler is pip-installable). Redesigning this code such that gaia_object is imported explicitly/on-demand will enable using other aspects of this code without Science Pipelines.

In general, I'd prefer this sort of behavior for all object types since each one can potentially introduce extra dependencies that aren't needed if one isn't simulating those particular objects.

@arunkannawadi
Copy link
Member Author

arunkannawadi commented Jul 30, 2024

My only comment is that we try to have a conda environment people can use for imSim etc and not have to separately include packages via pip etc. If we are brining in the stack otherwise will we still get this?

Yes, having the stack installed in a conda environment or otherwise would continue to work just fine. It is that I'd like to have options for Roman teams to use this without necessarily installing the LSST stack.

@JoanneBogart
Copy link
Collaborator

Sounds good to me. I don't see any unanswered objections. Please go ahead.

@JoanneBogart
Copy link
Collaborator

@arunkannawadi you now have write access.

@arunkannawadi arunkannawadi self-assigned this Jul 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants