Developer Manual

Dependencies

The development environment dependencies are found in the project’s environment.txt file. For convenience, the file is reproduced here

 1waves
 2scons>=4
 3boost>=1.59,<=1.80
 4breathe>=4.30.0
 5cmake>=3.18
 6cython
 7doxygen
 8eigen>=3.3.7
 9gcc_linux-64
10gxx_linux-64
11setuptools_scm
12pip
13pytest
14pytest-cov
15pytest-mock
16sphinx>=5.1
17sphinx-argparse
18sphinx_rtd_theme>=0.4.3
19sphinxcontrib-bibtex
20sphinx-subfigure
21h5py
22pyyaml
23scipy
24scikit-learn
25seaborn
26tqdm
27meshio
28compilers
29#moose-dev>=2024.07.15
30numpy>=1.17

In addition to the Conda environment managed packages, this project also requires a separately managed installation of TeXLive to build the PDF documentation.

Contribution Guidelines

The Tardigrade-examples project uses the Gitlab Flow [11] workflow model.

Git Commit Message

Begin Git commit messages with one of the following headings:

  • BUG: bug fix

  • DOC: documentation

  • FEAT: feature

  • MAINT: maintenance

  • TST: tests

  • REL: release

  • WIP: work-in-progress

For example:

git commit -m "FEAT: short intent of new feature"
git commit -m "BUG: fixes nasty bug"
git commit -m "DOC: adds documentation for feature"

reStructured Text

Sphinx reads in docstrings and other special portions of the code as reStructured text. Developers should follow styles in this Sphinx style guide.

Style Guide

This project does not yet have a full style guide. Generally, wherever a style can’t be inferred from surrounding code this project falls back to PEP-8-like styles.

Documentation

The documentation build is also automated with SCons as the documentation target alias.

  • Build all documentation targets

    $ scons documentation
    
  • Build the HTML documentation

    $ scons html