Skip to content

Latest commit

 

History

History
73 lines (47 loc) · 3.19 KB

CONTRIBUTING.md

File metadata and controls

73 lines (47 loc) · 3.19 KB

🎉 First off, thank you for taking the time to contribute! 🎉

Everyone is welcome to contribute and all types of contributions are encouraged and valued. This includes code reviews, bug fixes, new features, examples, documentation, community participation, etc.

This document outlines the guidelines for contributing to the various aspects of the project.

Contributing

If you find a bug in the code, a mistake in the documentation, or would like to see a new feature, please help us by creating an issue in our repository, or even creating a pull request.

And if you like the project, but just don't have time to contribute, there are other ways to support the project and show your appreciation, which we would also be very happy about:

  • Star the project
  • Tweet about it
  • Refer this project in your project's readme
  • Tell your friends/colleagues about the project

Development Guide

Repository Setup

  1. To work on the rfbzero.py package, you should first fork the rfbzero repository.

  2. You can then clone the fork to your computer.

git clone https://github.com/<GitHubUsername>/rfbzero.py
  1. Make your changes and commit them to your fork.

  2. Submit a Pull Request (make sure to write an informative message so the reviewer can understand what you're adding!) via GitHub.

Continuous Integration

rfbzero.py uses GitHub Actions for Continuous Integration testing. Every time you submit a pull request, a series of tests will be run to make sure the changes don’t accidentally introduce any bugs 🐛. Your PR will not be accepted until it passes all of these tests. You can also run tests locally to speed up the review process.

We use Pylint to test for PEP 8 conformance. To run the Pylint code analysis locally:

pip install pylint
pylint src/

⚠️ if there is any output here, fix the errors and try running pylint again.

We use mypy to type check code with type hints conforming to PEP 484. To run the mypy code analysis locally:

pip install mypy
mypy src/

⚠️ if there is any output here, fix the errors and try running mypy again.

Testing

rfbzero.py aims to have complete test coverage of our package code. If you're adding a new feature, consider writing the test first and then the code to ensure it passes. PRs which decrease code coverage will need to add tests before they can be merged.

We use pytest with pytest-cov to test code and determine code coverage. To run tests:

pip install pytest pytest-cov
pytest --cov

⚠️ if there is any output here, fix the errors and/or add tests before running pytest again.

Acknowledgements

This CONTRIBUTING.md file was adapted from the impedance.py GitHub repo