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