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
 4breathe>=4.30.0
 5cmake>=3.18
 6cython
 7doxygen
 8eigen>=3.3.7
 9gcc_linux-64
10gxx_linux-64
11setuptools_scm>=8
12setuptools>=61
13pip
14pytest
15pytest-cov
16pytest-mock
17sphinx>=5.1
18sphinx-argparse
19sphinx_rtd_theme>=0.4.3
20sphinxcontrib-bibtex
21sphinx-subfigure
22numpy
23h5py
24pyyaml
25scipy
26scikit-learn
27seaborn
28meshio
29tqdm
30compilers
31flake8
32pycgns
33vtk
34hdbscan
35moose-libmesh

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