You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the template is really focused on libraries, not on end-user software, such as ML or data analysis pipelines, web portals, scripts, etc. Researchers are more frequently starting a new end-user project than a library.
There are usually different expectations from end-user software than from a library: the environment should be reproducible, e.g., require some sort of a lock file; package data setup may be required; Dockerfile or entry points usually should be set up. I think the next "big thing" for PPT may be support for projects like that, while we can use in-house end-user projects to test it, e.g., hyrax (which, of course, is a library, but also a user-level script), hats-import scripts, "cone search v2.0", and individual team members' projects (I'd be happy to test it with uncle-val).
I propose to use uv for the lock file and tooling support, which makes it easy to manage virtual environments and gives a consistent way of running Python tools and commands via, e.g., uv run pytest and uv run python -m my-module.
Safir is a python library that LSST publishes to make certain common service operations easy from a python service, and the template for a new service is simply packaged within the Safir package.
It is of course possible to package and run an app on Rubin's phalanx service layer without using the template or Safir library. Similar to ppt these are simply encoding a set of best-practices that make life simpler if you are writing a service in python.
Activity
mtauraso commentedon Dec 10, 2025
@hombit
Not quite "application" but for web services on rubin infrastructure there is a golden path to creating an app, which starts with some documentation here: https://phalanx.lsst.io/developers/create-an-application.html
I believe on the backend it uses this template: https://github.com/lsst/templates/tree/main/project_templates/fastapi_safir_app Additional documentation here: https://safir.lsst.io/
Safir is a python library that LSST publishes to make certain common service operations easy from a python service, and the template for a new service is simply packaged within the Safir package.
It is of course possible to package and run an app on Rubin's phalanx service layer without using the template or Safir library. Similar to ppt these are simply encoding a set of best-practices that make life simpler if you are writing a service in python.