View on GitHub

Stack Club

Learning the LSST software Stack, by writing jupyter notebook tutorials.

Stack Club

The LSST science community Stack Club is an LSSTC-supported project, to form a small community committed to learning how to use, and explain, the LSST data management (DM) software Stack. The idea is that the best way to learn something is to try and teach it: if you can write a useful tutorial on some aspect of the DM Stack, and especially its science pipelines, then you have to understand that part first.

We develop our tutorial notebooks on the LSST Science Platform at NCSA, which provides a standard computing environment, including the most recent version of the Stack and a number of useful precursor datasets. We meet up for biweekly video hack sessions, at which we also review each other’s notebooks, and all of our tutorials are available in this repo. New members with zero Stack experience are most welcome: we are aiming to produce tutorials for beginners as well as more advanced Stack users, and the organizers are happy to spend time walking new members through the available resources, and explaining how to get started.

See below for how to get involved: we hope you find our notebooks useful!

Community Tutorials

Our goal is to build on the existing LSST DM Stack demo notebooks and html tutorial pages to create a set of community-generated, community-oriented notebooks that reflect the science interests and expected analyses of the LSST Science Collaborations. The notebooks in the repo were developed on the LSST Science Platform at NCSA, and use the standard datasets provided there.

Topic Description Notebook Location
Getting Started How to use JupyterLab, and contribute to the Stack Club repo. StackClub/GettingStarted
Basics Guided tours of various key Stack classes and functions, data structures, etc. StackClub/Basics
Visualization Displaying images and catalogs. StackClub/Visualization
Image Processing From raw images to calexps and coadds. StackClub/ImageProcessing
SourceDetection Detection of sources in images - including low surface brightness galaxies. StackClub/SourceDetection
Deblending Deblending the objects StackClub/Deblending
Measurement Measuring the objects StackClub/Measurement
Validation Tools for validating Stack outputs, example validation analyses StackClub/Validation

Joining the Stack Club

We welcome new members with any level of Stack experience; you’ll need to be familiar with python, and if you have used Jupyter notebooks and git/Github before, that will help you get started faster, but you don’t need to have even looked at the Stack code before. That’s what Stack Club is for. All you need is the willingness to spend time learning the Stack.

If you would like to join the Stack Club, please fill out this short application form. (Basically you’ll be asked to agree to abide by the Stack Club Rules, and then give enough contact information to request an account on the LSST Science Platform.) If you are not ready to commit time to working on a Stack Club project, you can still follow along by watching this repo and joining the #stack-club LSSTC Slack channel.


New Stack Club members: please see the notes on getting started - they’ll walk you onto you new LSST Science Platform account, and then show you how to work on your tutorial notebooks.

Everyone else: we welcome pull requests! Feel free to fork this repo and send us a pull request. And if you are interested in joining the Stack Club, please drop one of us a line, or come and find us in the #stack-club LSSTC Slack channel.

When preparing a pull request, please note the standards that we are trying to uphold.


We welcome your input! Please post questions and suggestions in the issues of this repository. You can also contact the following points of contact directly via the links below:

The Club meets periodically via Zoom, but you can find us on LSSTC Slack at #stack-club. You can also watch the tutorial walkthroughs in the Club sessions in the videos linked from our Meetings page. If you are just looking for the application form, it’s here.


The text in this repository is Copyright The Authors, and licensed under Creative Commons CC-BY-ND 4.0, which means you can copy and redistribute the material in any medium or format for any purpose, as long as you give appropriate credit, provide a link to the license, and indicate if changes were made. If you remix, transform, or build upon the material, you may not distribute the modified material - this is to prevent incorrect information about the Stack getting out there, or at least, take responsibility ourselves if it does. All the code in this repository is available for re-use under the MIT License, which means you can do anything you like with it but you can’t blame us if it doesn’t do what you want.

More About This Project

Following a successful LSSTC “Enabling Science” proposal, we put together a 3-phase plan, which you can read about in more detail here. Phase 0 involved collecting existing tutorials and identifying potential club members from around the LSST Science Collaborations. Then, in Phase 1 (late May 2018 to mid August 2018) we worked together in a small group to turn a subset of those existing “seed” tutorials into community-maintained Jupyter notebooks, for display at the August LSST 2018 Project and Community Workshop (PCW) in Tucson. At that meeting, we opened up to a larger group of LSST science collaboration members, extending and spinning off the initial set of notebooks. We met once a week through Fall 2018, defining about 20 projects, and producing 11 tutorial notebooks for community use. In fall 2018 the Stack Club had about 20 active participants.