First off, thank you for considering contributing! It is a community-driven project, so it's people like you that make it useful and successful.
We love contributions from community members, just like you! There are many ways to contribute:
- Reporting bugs in the code or mistakes in the text
- Writing new material for the lesson
- Improvements to the code, text, figures, assessment, etc
- Writing code or new examples for everyone to use
If you get stuck at any point you contact us by creating an issue on GitHub at one of the other channels mentioned below.
For more information on contributing to open source projects, GitHub's own guide is a great starting point if you are new to version control.
The goal is to maintain a diverse community that's pleasant for everyone. Please be considerate and respectful of others. Everyone must abide by our Code of Conduct and we encourage all to read it carefully.
- Tackle any open issues you wish! We have a special label for issues that beginners might want to try. Have a look at our "good first issues" list.
- Contribute material you already have. It doesn't need to be perfect! We will help you clean things up, test it, etc.
- Provide feedback about how we can improve the project or about your particular use case.
Discussion often happens in the issue tracker and in pull requests. In addition, there is Gitter chat room for the project as well.
When creating a new issue, please be as specific as possible. This helps us reproduce the bug and track down its cause. Try to include the following:
- How you ran the code
- Operating system
- Full error messages that you got
- Which file contains the mistake
Remember: the more information we have, the easier it will be for us to solve your problem.
Working on your first Pull Request? You can learn how from this free video series:
- How to Contribute to an Open Source Project on GitHub
- Aaron Meurer's tutorial on the git workflow
- How to Contribute to Open Source.
General guidelines for Pull Requests:
- Open an issue to describe your contributing before making any changes. This will help us keep track of who is doing what and avoid duplicated work.
- Each pull request should consist of a small and logical collection of changes. Larger changes should be broken down into smaller components and integrated separately. This allows us more chance for discussion and less code to review at each time. Please submit bug fixes in separate pull requests.
- Describe what your PR changes and why this is a good thing. Be as specific as you can. The PR description is how we keep track of the changes made to the project over time.
- Do not commit changes to files that are irrelevant to your feature or bugfix (eg: .gitignore, IDE project files, etc).
- Write descriptive commit messages. Chris Beams has written a guide on how to write good commit messages.
- Be willing to accept criticism and work on improving your contribution.
- Be aware that the pull request review process is not immediate, and is generally proportional to the size of the pull request.
- If this is your first contribution, be sure to add yourself to the list of contributors. We want to make sure we acknowledge the hard work you've generously contributed here.
This guide was adapted from the MetPy Contributing Guide.