As an open source project, Mesa welcomes contributions of many forms.
In no particular order, examples include:
- Code patches
- Bug reports and patch reviews
- New features
- Documentation improvements
- Tutorials
No contribution is too small. Although, contributions can be too big, so let's discuss via the email list OR an issue.
To submit a contribution
- Create a ticket for the item that you are working on.
- Fork the Mesa repository.
- Create a new branch if you aren't contributing to an existing branch.
- Edit the code.
- Use PEP8 and the Google Style Guide as the coding standards for Python.
- If implementing a new feature, include some documentation and ideally a working example or unit test as well.
- Submit as pull requests.
- Describe the change w/ ticket number(s) that the code fixes.
We are continually working to improve our testing. At the moment, we've been testing features by implementing them in simple models. This is useful since it also expands the library of sample models. We also have several traditional unit tests in the tests/ folder.
If you're changing previous Mesa features, please make sure of the following:
- Your changes pass the current tests.
- Your changes don't break the models or your changes include updated models.
- Additional features or rewrites of current features are accompanied by tests.
- New features are demonstrated in a model, so folks can understand more easily.
The License of this project is located in LICENSE. By submitting a contribution to this project, you are agreeing that your contributions under this license and with this waiver of copyright interest.
A special thanks to the following projects who offered inspiration for this contributing file.