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