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 to big, so let's discuss via the `email list`_ OR in [an issue](https://github.com/projectmesa/mesa/issues).
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](https://www.python.org/dev/peps/pep-0008) and the [Google Style Guide](https://google-styleguide.googlecode.com/svn/trunk/pyguide.html) 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.
The License of this project is located in [LICENSE.rst](https://github.com/projectmesa/mesa/blob/master/LICENSE.rst). 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. - [Django](https://github.com/django/django/blob/master/CONTRIBUTING.rst) - [18F's FOIA](https://github.com/18F/foia-hub/blob/master/CONTRIBUTING.md) - [18F's Midas](https://github.com/18F/midas/blob/devel/CONTRIBUTING.md)