We want to make contributing to this project as easy and transparent as possible, whether it's:
- Reporting a bug
- Discussing the current state of the code
- Submitting a fix
- Proposing new features
Before jumping right into making a new issue please see if you've tried the following:
- Go through the README and make sure you're following the steps exactly
- Search current Issues and see if this is a known problem, perhaps even being worked on already.
We use GitHub issues to track issues. Report a something by opening a new issue; it's that easy! There are a few templates to choose from, pick the one that works best for your situation:
- Bug - choose this if you're having trouble getting things working or things just aren't working as you expect
- Feature Request - request something new be added.
- Informational - have a comment or something that just doesn't fit the other two categories, try this.
Great Bug Reports tend to have:
- A quick summary and/or background
- Steps to reproduce
- Be specific!
- Give sample code if you can
- What you expected would happen
- What actually happens
- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)
A thorough bug report is your best chance things can be fixed quickly.
Pull requests are the best way to propose changes to the codebase (we use Github Flow). We actively welcome your pull requests:
- Fork the repo and create your branch from the one you want to make changes to (usually
main
). - If you've changed functionality or dependencies, update the documentation.
- Submit that pull request! Be sure to include relevant information per the PR template.
For code consistancy we try our best to adhere to the PEP8 guide. This makes sure everything looks cohesive regardless of who did the actually coding. All PRs will automatically be checked before review or merging. Don't let this scare you from contributing! These are often minor changes and Maintainers can help if this is a sticking point.
Before submitting a PR you can check your code yourself by installing Flake8 and running a simple command.
pip3 install flake8
flake8 --ignore E501 slowmovie.py
Once submitted your PR will get reviewed - be patient.
- All pull requests require at least one approval review from a maintainer before being merged.
- For larger changes that modify base functionality, multiple reviewers should test and discuss the changes before merging the PR.
It may take some time and back and forth to get things all squared away. You may even be asked to change something, it's all part of the process.
Once everything looks good your PR will be merged!
When you submit code changes, your submissions are understood to be under the same MIT License that covers the project. Feel free to contact the maintainers if that's a concern.