delegate-contributions-dp01

This repository is for DP0 delegates to contribute and share DP0.1-related materials (e.g., code, analysis tools, tutorials).

Tutorials could be Jupyter Notebooks, or markdown-formatted demonstrations of a DP0.1-related analysis with command-line tasks or the Portal Aspect.

Please contribute only code that you have verified to run, and which you agree to maintain and be contacted about.

How to contribute to this repository.

Directories

All materials must be organized into directories. An example directory is provided as an illustration. Anyone may make a directory for a specific science topic, a specific tool or type of analysis, by DP0.1 working group, etc. Directory creators must create a README.md file within the folder which identifies them as the directory maintainer and describes the contents of the directory. Contact the directory creator if you want to contribute content to their directory. Direct messages between delegates in Community.lsst.org is an appropriate mode of contact.

Workflow

  1. Make a branch for your work, and name it u/(your github username).
  2. Add and edit content in your branch until you're ready to share it with everyone.
  3. Start a new Pull Request (PR) from your branch to main. Assign another DP0 delegate to review it.
  4. Incorporate any comments you recieve during review into your branch's materials.
  5. After your reviewer has approved your PR, merge your branch into main.

All delegates will have write access and so it is possible to commit changes directly to main, but this is discouraged.

Best Practices

Please always:

  • document your code for non-experts
  • provide links to background information
  • clear notebook outputs before committing changes

All tutorials should have a header containing:

  • the author's name
  • the date the tutorial was last tested
  • the goals of the notebook

See the example directory for guidance on formatting notebooks and markdown files.

Need to learn how to use GitHub?

Git is already installed in the Notebook Aspect of the Rubin Science Platform.

The best place to start in the extensive GitHub documentation is with the quickstart setup guide. There is also a GitHub Cheat Sheet of commonly used commands, and a GitHub Glossary.

Git Tutorial for Beginners: Command-Line Fundamentals (a YouTube tutorial that includes git command line basics, but if you are not installing Git, you might want to skip a section of it describing the installation).

What college students should learn about Git (a medium.com article that includes fundamental git concepts and basic git commands).

Phil Marshall's notes on "Getting Started with git and GitHub".

Generating a new SSH key and adding it to the ssh-agent, a guide to setting up git credentials so that you can push changes back to your remote repositories.

See also the GitHub Cheat Sheet provided in this repository. This cheat sheet was developed by Douglas Tucker for the LSST Science Collaborations Stack Club and altered to be appropriate for Data Preview 0 by Greg Madejski.