Contributing to Maud

This document explains how you can contribute to Maud.

Reporting bugs and making feature requests

If you find a bug in Maud or would like to request a new feature, consider adding to the issues list. Bugs should get the red bug label and features the turquoise enhancement label.

Contributing code changes

If you want to add a new feature or fix a bug yourself, the first step is to clone the code. If you have ssh access to the Maud github repository, you can clone it by running

git clone git@github.com:biosustain/Maud.git

Next, check out a new branch

git checkout -b descriptive_branch_name

When you are happy with your changes, commit them to your new branch and then push it to github

git commit -m "Short description of the changes I've made"
git push

Finally, use the online github interface to make a new pull request from your branch, complete with a longer description.

At least one approving review is required before a pull request can be merged. You can make your reviewers’ lives a lot easier by adding as much detailed commentary as possible, referring to existing issues where appropriate and keeping your pull requests small and logically distinct.

Running tests locally

You will need to have the following python packages installed in order to run Maud’s tests locally

Follow the links for installation instructions - they are mostly

pip install <package_name>

To run the tests locally, run the command

tox

To painlessly ensure that your code complies with black and isort’s guidelines, you can run this reformatting command:

make qa

Releasing versions

To release a new version of Maud, edit the field version in the file setup.cfg, then make a pull request with this change. The version name should start with a letter v, e.g. v0.2.1,

Once the changes are merged into the origin/master branch, add a tag with the new version number to your local master branch, for example like this:

git tag v0.2.1

Now push the new tag to github:

git push origin "v0.2.1"