This is an internal guide for LSST DM staff during project construction, and for Rubin Observatory Data Production staff in operations. It's also openly available so that others can understand how we're building the LSST's data management subsystem. In some cases, other Rubin groups (for example Telescope & Site Software) have chosen to follow various sections as it applies to them.
This guide includes a mix of normative requirements and helpful, descriptive, pages. When it's particularly important that you closely follow a standard, we include an annotation box at the top of the page.
Any member of DM can contribute to this guide. It's published from the https://github.com/lsst-dm/dm_dev_guide GitHub repo. Check out the README to get started.
Jump to: :ref:`Team <part-team>` · :ref:`Communications <part-communications>` · :ref:`Project documentation <part-project-docs>` · :ref:`Work management <part-work>`
Development guides: :ref:`Overview <part-guides>` · :ref:`C++ <part-cpp>` · :ref:`Python <part-python>` · :ref:`Pybind11 <part-pybind11>` · :ref:`JavaScript <part-javascript>` · :ref:`ReStructuredText <part-rst>` · :ref:`DM Stack <part-dm-stack>` · :ref:`Git <part-git>` · :ref:`Editors <part-editors>` · :ref:`Legal <part-legal>` · :ref:`User documentation style <part-user-doc-style-guide>`
Services: :ref:`Overview <part-services>` · :ref:`Jenkins <part-jenkins>`
.. toctree:: :maxdepth: 1 :caption: Team :hidden: team/onboarding team/code-of-conduct team/tools team/focus-friday team/meeting-free-weeks team/empowerment team/drp
Basic information about the LSST Data Management Subsystem and our culture. Learn more about the Data Management Subsystem in :ldm:`294`.
Team-specific pages:
.. toctree:: :maxdepth: 1 :caption: Communications :hidden: communications/slack-culture.rst communications/slack-github-username.rst communications/rfc.rst communications/rfd.rst communications/wiki.rst communications/mail.rst communications/presenting-at-conferences.rst communications/community-support.rst communications/calendars.rst
How to use DM's communication channels.
- :doc:`communications/slack-culture`
- :doc:`communications/slack-github-username`
- :doc:`communications/rfc`
- :doc:`communications/rfd`
- :doc:`communications/wiki`
- :doc:`communications/presenting-at-conferences`
- :doc:`communications/community-support`
- :doc:`communications/calendars`
.. toctree:: :maxdepth: 1 :caption: Project docs :hidden: project-docs/change-controlled-docs.rst project-docs/publication-policy.rst project-docs/technotes.rst project-docs/test-documentation.rst
Controlled documentation and publications.
Technical notes.
.. toctree:: :maxdepth: 1 :caption: Work :hidden: work/flow.rst work/backports.rst work/project-planning.rst work/jira-agile.rst work/jira-tips.rst
How DM coordinates work and gets things done.
.. toctree:: :maxdepth: 1 :caption: Code Style Guides :hidden: coding/intro.rst coding/unit-test-policy.rst
.. toctree:: :maxdepth: 1 :caption: C++ :hidden: cpp/style cpp/api-docs cpp/clang-format cpp/testing-private-functions cpp/templates cpp/boost cpp/eigen cpp/profiling cpp/compilation-db
- :doc:`cpp/style`
- :doc:`cpp/api-docs`
- :doc:`cpp/clang-format`
- :doc:`cpp/testing-private-functions`
- :doc:`cpp/templates`
- :doc:`cpp/boost`
- :doc:`cpp/eigen`
- :doc:`cpp/profiling`
- :doc:`cpp/compilation-db`
.. toctree:: :maxdepth: 1 :caption: Python :hidden: python/style python/formatting python/testing python/numpydoc python/astropy python/profiling python/cli
- :doc:`python/style`
- :doc:`python/formatting`
- :doc:`python/testing`
- :doc:`python/numpydoc`
- :doc:`python/astropy`
- :doc:`python/profiling`
- :doc:`python/cli`
.. toctree:: :maxdepth: 1 :caption: Pybind11 :hidden: pybind11/style pybind11/how-to
.. toctree:: :maxdepth: 1 :caption: JavaScript :hidden: javascript/jsdoc
.. toctree:: :maxdepth: 1 :caption: ReStructuredText :hidden: restructuredtext/style
.. toctree:: :maxdepth: 1 :caption: DM Stack :hidden: stack/platforms stack/transferring-code stack/deprecating-interfaces stack/logging stack/debug stack/documentation-system-overview stack/layout-of-doc-directory stack/package-documentation-topic-types stack/add-a-package-to-pipelines-lsst-io stack/building-single-package-docs stack/building-pipelines-lsst-io-locally stack/building-pipelines-lsst-io-with-documenteer-job stack/jenkins-stack-os-matrix stack/unit-test-coverage.rst stack/eups-tutorial stack/lsstsw stack/adding-a-new-package stack/building-with-pip stack/moving-to-github-actions stack/license-and-copyright stack/packaging-third-party-eups-dependencies stack/renaming-a-package stack/conda
General policies and procedures.
Development.
- Building a package with the installed Science Pipelines stack
- Developing packages on the LSST Science Platform
- :doc:`stack/logging`
- :doc:`stack/debug`
Documentation.
- :doc:`stack/documentation-system-overview`
- Documentation in packages:
- Documentation in the main repository:
- Building docs:
Testing.
Packaging.
- :doc:`stack/eups-tutorial`
- :doc:`stack/lsstsw`
- :doc:`stack/adding-a-new-package`
- :doc:`stack/moving-to-github-actions`
- :doc:`stack/license-and-copyright`
- :doc:`stack/packaging-third-party-eups-dependencies`
- :doc:`stack/renaming-a-package`
- :doc:`stack/conda`
.. toctree:: :maxdepth: 1 :caption: Git :hidden: git/setup git/git-lfs
.. toctree:: :maxdepth: 1 :caption: Editors :hidden: editors/emacs editors/sublime editors/vim editors/vscode
Crowd-sourced recommendations for configuring editors for LSST development (listed alphabetically)
.. toctree:: :maxdepth: 1 :caption: Legal :hidden: legal/licensing-overview legal/copyright-overview
.. toctree:: :maxdepth: 1 :caption: User docs :hidden: user-docs/index
- :doc:`user-docs/index`
- :doc:`user-docs/lsst-specific-content-style-guide`
- :doc:`user-docs/topic-based-documentation`
.. toctree:: :maxdepth: 1 :caption: IT Overview :hidden: it/itsc
.. toctree:: :maxdepth: 1 :caption: Jenkins :hidden: jenkins/getting-started
.. toctree:: :maxdepth: 1 :caption: IDF :hidden: idf/overview
.. toctree:: :maxdepth: 1 :caption: USDF :hidden: usdf/onboarding.rst usdf/lsst-login usdf/kubernetes usdf/storage usdf/batch usdf/stack usdf/datasets usdf/object-store