Guideline on how to contribute

First of all, thanks for wanting to contribute! We hope you can find all the information you are looking for, regarding contributions, in this document. If not, feel free to suggest a modification via a pull request.

Ways to contribute

There are many ways to contribute,

You have a question or suggestion

Great! You are helping us create a more clear and improved repository. Simply raise a corresponding issue

You have found a bug

Please, let us know what happened with the corresponding issue.

You want to write or improve some code

Thanks! when writing new code please keep in mind the following guidelines

You want to add examples or tests

Thanks! Please follow the guidelines to add new code, and in addition to that do the following:

  • If you are adding tests, make sure that they are run automatically.

  • If you are adding examples, please document well the examples and the use of functions in them.

  • In both cases, make sure to add the tests or examples in the correct directory.

You have an idea for new functionality

All new ideas are welcome, please provide details for your idea with the following issue

You want to implement new functionality

Thanks! Please follow the guidelines to add new code. If the functionality was suggested in an issue, please make sure to reply or close the issue. If the functionality was not suggested in an issue, please make an issue and then reply or close it.

You want to contribute with documentation

Great!

You can contribute to the documentation in a number of ways:

  • reading the current documentation and making sure that it is clear and error-free;

  • adding diagrams or figures when you feel can make the explantion more clear;

  • adding explanations on theoretical parts of the documentation;

  • making sure that all functions and modules have complete docstrings.

In this repository documentation for the code is made automatically using Sphinx and HTML webpages, so there is no need to manually document the code in the HTML webpage.

Guidelines when adding new code

  • The prefered docstrings style is Numpy-Style Docstrings.

  • Follow the code style guidelines of PEP8. This is easily done if you write code using an IDE like PyCharm

  • When defining new functions and variables, please use the PEP8 standard. In a nutshell:

    • Function names should be lowercase.

    • Variable names should be lowercase.

  • Whenever possible, add in the function docstrings a simple example of how to use the function. Also, make use of default parameters to be able to use the functions in a simple way.

  • When adding functions to a module remenber to list them in the docstrings of the module.

  • When importing functions from other modules explicitly mention them in the import statement.