Developer Manual#
Dependencies#
The development environment dependencies are found in the project’s environment.yml
file. For convenience, the file
is reproduced here
1channels:
2 - conda-forge
3
4dependencies:
5 - matplotlib
6 - pandas
7 - pyyaml
8 - pytest
9 - scons >=4.6
10 - sphinx >=7.1
11 - sphinx-argparse
12 - sphinx-book-theme
13 - sphinxcontrib-bibtex
14 - waves
15 - xarray
In addition to the Conda environment managed packages, this project also requires a separately managed installation of TeXLive to build the PDF documentation.
The tutorials in this project may also require:
Abaqus
Cubit
Matlab
Contribution Guidelines#
The modsim_template project uses the Gitlab Flow [1] 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. There are two notable exceptions to the notional PEP-8 fall back:
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