Pavilion Development Guidelines¶
Style¶
- Follow PEP 8 style guidelines, even the parts you don’t like (80 char width).
- Write docstrings using sphinx style for everything. (The Yaml_config library is a good example.) Including docstring type annotations is highly recommended.
- Keep modules fairly independent from each other.
- Write regression/unit tests for new functionality and place them in test/tests/.
- Merges must be approved by pflarr, for now.
Publishing¶
- Do NOT increment the version number. You may want to look at ARBITRARY_NUMBER.txt though.
Site Specific Code¶
Site specific code should go into plugins that reside in a separate repository, and never the main Pavilion repository. All Pavilion code should be targeted towards interoperability with commonly available products such as slurm, env modules, or lmod.