Everything you need to know to contribute efficiently to the project!
Whatever the way you wish to contribute to the project, please respect the code of conduct.
- src - The actual codebase
This project uses the following integrations to ensure proper codebase maintenance:
- Github Worklow - run jobs for package build and coverage
- Codacy - analyzes commits for code quality
- Heroku - where the app is deployed from the main branch
As a contributor, you will only have to ensure coverage of your code by adding appropriate unit testing of your code.
Whether you encountered a problem, or you have a feature suggestion, your input has value and can be used by contributors to reference it in their developments. For this purpose, we advise you to use Github issues.
First, check whether the topic wasn't already covered in an open / closed issue. If not, feel free to open a new one! When doing so, use issue templates whenever possible and provide enough information for other contributors to jump in.
If you are wondering how to do something with the project, or a more general question, you should consider checking out Github discussions. See it as a Q&A forum, or the Pyronear-specific StackOverflow!
1 - Fork this repository by clicking on the "Fork" button at the top right of the page. This will create a copy of the project under your GitHub account (cf. Fork a repo).
2 - Clone your fork to your local disk and set the upstream to this repo
git clone [email protected]:<YOUR_GITHUB_ACCOUNT>/pyro-crowdsourcer.git
cd pyro-crowdsourcer
git remote add upstream https://github.com/pyronear/pyro-crowdsourcer.git
3 - You should not work on the main
branch, so let's create a new one
git checkout -b a-short-description
4 - You only have to set your development environment now, you can install the correct dependencies:
pip install -r requirements.txt
- Code: ensure to provide docstrings to your Python code. In doing so, please follow Google-style so it can ease the process of documentation later.
- Commit message: please follow Udacity guide
To run all quality checks together
make quality
The previous command won't modify anything in your codebase. Some fixes (import ordering and code formatting) can be done automatically using the following command:
make style
Push your last modifications to your remote branch
git push -u origin a-short-description
Then open a Pull Request from your fork's branch. Follow the instructions of the Pull Request template and then click on "Create a pull request".