RadioAstronomySoftwareGroup.github.io

Contributing to RASG repositories

Thank you for considering contributing to RASG! It’s our community of users and contributors that make our tools powerful and relevant.

RASG projects are open source, driven by our community of contributors. There are many ways to contribute, including writing tutorials, improving the documentation, submitting bug reports and feature requests or writing code which can be incorporated into packages themselves. Following the guidelines and patterns suggested below helps us maintain a high quality code base and review your contributions faster.

Please note we have a code of conduct, please follow it in all your interactions with the project.

How to report a bug

First check the issues to see if your bug already exists. Feel free to comment on the existing issue to provide more context or just to note that it is affecting you as well. If your bug is not in the issue list, make a new issue.

When making an issue, try to provide as much context as possible including:

  1. What version of python and relevant packages are you using?
  2. What operating system are you using?
  3. What did you do?
  4. What did you expect to see?
  5. What did you see instead?
  6. Any code to reproduce the bug (as minimal an example as possible)

If you’re really inspired, you can make a pull request adding a test that fails because of the bug. This is likely to lead to the bug being fixed more quickly.

How to suggest a feature or enhancement

First check the issues to see if your feature request already exists. Feel free to comment on the existing issue to provide more context or just to note that you would like to see the feature implemented as well. If your feature request is not in the issue list, make a new issue.

When making a feature request, try to provide as much context as possible. Feel free to include suggestions for implementations.

Guidelines for contributing to the code

Your First Contribution

Contributing for the first time can seem daunting, but we value contributions from our user community and we will do our best to help you through the process. Here’s some advice to help make your work more useful and rewarding.

If you are new to the GitHub or the pull request process you can start by taking a look at these tutorials: http://makeapullrequest.com/ and http://www.firsttimersonly.com/. If you have more questions, feel free to ask for help, everyone is a beginner at first and all of us are still learning!

Getting started

  1. Create your own fork of the code
  2. Do the changes in your fork
  3. If you like the change and think the project could use it:
    • If you’re fixing a bug, include a new test that breaks as a result of the bug (if possible)
    • Ensure that all your new code is covered by tests and that the existing tests pass. See the contributing guide in the relevant repository for details on running tests.
    • Ensure that your code meets the style guidelines.
    • Ensure that you fully document any new features via docstrings and in the tutorial.

Code review process

The core team looks at pull requests on a regular basis and tries to provide feedback as quickly as possible. Larger pull requests generally require more time for review and may require discussion among the core team.

Community

In addition to conversations on github, we also communicate via Slack and on monthly telecons. We welcome contributors who want to join those discussions, contact the RASG managers if you’d like to be invited to join them.