Contributing

These practices are subject to change based on the decisions of the team.

  • Use clear and explicit variable names. The variable names are typically more verbose than those in fastai.

  • Python code should be formatted using black with the settings in pyproject.toml. The maximum line length is 120 characters.

  • Contributions should be commited to a new branch and will be merged with main only after tests and documentation are complete.

Testing

  • All tests must be passing before merging with the main branch.

  • Tests are automatically included in the CI/CD pipeline using Github actions.

Git Commits

We use the git3moji standard for expressive git commit messages. Use one of the following five short emojis at the start of your of your git commit messages:

  • :zap: ⚡️ – Features and primary concerns

  • :bug: 🐛 – Bugs and fixes

  • :tv: 📺 – CI, tooling, and configuration

  • :cop: 👮 – Tests and linting

  • :abc: 🔤 – Documentation

As far as possible, please keep your git commits granular and focussed on one thing at a time. Please cite an the number of a Github issue if it relates to your commit.

Documentation

Files need to start with a heading for the section. The convention used here is to use the equals sign above and below the heading:

===============
Section Heading
===============

Subsections also use an equals sign but just below the heading:

Subsection Heading
==================

Subsubsections have a single dash below the heading:

Subsubsection Heading
---------------------

Try not to have any other sections within this but if it is necessary, use tildas below the heading:

Further Subsection Headings
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Other information for using reStructuredText in Sphinx can be found here: https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#rst-primer and https://thomas-cokelaer.info/tutorials/sphinx/rest_syntax.html.

Code of Conduct

We follow the Contributor Covenant Code of Conduct for all community contributions.