Adding a pyproject.toml to lsst.geom package

In LINCC Frameworks, we’d like to use the lsst.geom package for some value-added features.

We may want to run these outside of the full LSST stack, and having them pip-installable would be very helpful, either through a manual installation (using git clone foo) or through PyPI (pip install foo).

If we were to write a pyproject.toml file for the geom package, would we be allowed to add it to the repo?

Thanks!

You have got pip install working?

We haven’t done it because:

  • it depends on the sphgeom C interface and the PyPI lsst-sphgeom package does not have that interface.
  • it depends on pex_exceptions which is not on PyPI.

If you can solve those 2 problems we welcome pull requests.

Thanks for giving permission.

We haven’t really looked into feasibility yet, so this is good info. We have some ideas but really aren’t sure, so we’ll put this on the back burner for now, but it’s good to know the door is open.

And thanks for the fast response!

Fundamentally with pex_exceptions and sphgeom we need a way that we can get pip to build the C++ libraries distinct from the python bindings and install those libraries along with include files in a way that geom can find them when it links. I have no idea how to do that in a world where setup.py is deprecated and I’m not even sure if there is a standard way in python to find shared libraries and include files (but maybe numpy provides an example for that).

The other alternative is to bypass pip and pypi completely and to build conda packages from scons. They won’t need EUPS to work and hacking up 3 packages manually is easier than trying to solve the general problem of how to make conda builds of all the pipeline packages.

Hi @OliviaLynn, I’m marking Tim’s post above as the solution, but please feel free to open a new topic if you have further questions!