Contributing to signalrgb-python
Thank you for your interest in contributing to signalrgb-python! This guide will help you get started with contributing to the project.
🧐 What should I know before I get started?
Project Structure
signalrgb/
- This directory contains the main source code for the project.tests/
- This directory contains all the tests.docs/
- This directory contains the project documentation.examples/
- This directory contains example scripts demonstrating how to use the library.
🤝 How Can I Contribute?
🐛 Reporting Bugs
This section guides you through submitting a bug report for signalrgb-python. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.
- Use a clear and descriptive title for the issue to identify the problem.
- Describe the exact steps which reproduce the problem in as many details as possible.
- Provide specific examples to demonstrate the steps.
- Describe the behavior you observed after following the steps and point out what exactly is the problem with that behavior.
- Explain which behavior you expected to see instead and why.
- Include screenshots and animated GIFs which show you following the described steps and clearly demonstrate the problem.
💡 Suggesting Enhancements
This section guides you through submitting an enhancement suggestion for signalrgb-python, including completely new features and minor improvements to existing functionality.
- Use a clear and descriptive title for the issue to identify the suggestion.
- Provide a step-by-step description of the suggested enhancement in as many details as possible.
- Provide specific examples to demonstrate the steps.
- Describe the current behavior and explain which behavior you expected to see instead and why.
- Explain why this enhancement would be useful to most signalrgb-python users.
- List some other text editors or applications where this enhancement exists.
🚀 Your First Code Contribution
Unsure where to begin contributing to signalrgb-python? You can start by looking through these beginner
and help-wanted
issues:
- Beginner issues - issues which should only require a few lines of code, and a test or two.
- Help wanted issues - issues which should be a bit more involved than
beginner
issues.
📥 Pull Requests
- Fill in the required template
- Do not include issue numbers in the PR title
- Follow the Python style guide
- Include thoughtfully-worded, well-structured tests in the
./tests
folder. Run them usingpytest
. - Document new code based on the Documentation Styleguide
- End all files with a newline
📝 Styleguides
Git Commit Messages
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters or less
- Reference issues and pull requests liberally after the first line
- Consider starting the commit message with an applicable emoji:
- :art:
:art:
when improving the format/structure of the code - :racehorse:
:racehorse:
when improving performance - :non-potable_water:
:non-potable_water:
when plugging memory leaks - :memo:
:memo:
when writing docs - :penguin:
:penguin:
when fixing something on Linux - :apple:
:apple:
when fixing something on macOS - :checkered_flag:
:checkered_flag:
when fixing something on Windows - :bug:
:bug:
when fixing a bug - :fire:
:fire:
when removing code or files - :green_heart:
:green_heart:
when fixing the CI build - :white_check_mark:
:white_check_mark:
when adding tests - :lock:
:lock:
when dealing with security - :arrow_up:
:arrow_up:
when upgrading dependencies - :arrow_down:
:arrow_down:
when downgrading dependencies - :shirt:
:shirt:
when removing linter warnings
Python Styleguide
All Python code must adhere to PEP 8.
Documentation Styleguide
- Use Markdown.
- Use Google-style docstrings for Python code.
📋 Additional Notes
Issue and Pull Request Labels
This section lists the labels we use to help us track and manage issues and pull requests.
GitHub search makes it easy to use labels for finding groups of issues or pull requests you're interested in.
Type of Issue and Issue State
bug
- Issues that are bugs.enhancement
- Issues that are feature requests.question
- Issues that are questions.duplicate
- Issues that are duplicates of other issues.good first issue
- Issues that are good for newcomers.help wanted
- Issues that need assistance from the community.
Topic Categories
documentation
- Issues related to documentation.performance
- Issues related to performance.security
- Issues related to security.
Pull Request Labels
work-in-progress
- Pull requests that are still being worked on, more changes will follow.needs-review
- Pull requests that need code review and approval from maintainers.under-review
- Pull requests being reviewed by maintainers.requires-changes
- Pull requests that need to be updated based on review comments and then reviewed again.needs-testing
- Pull requests that need manual testing.
Thank you for your contributions to signalrgb-python!