Add empty custom_downloader field in SyncTask to prevent exception.
[gpodder.git] / CONTRIBUTING.md
blobc6b198b1ef394dc8e69b47ab4fa58f77327399c8
1 # Contributing to this repository <!-- omit in toc -->
3 ## Getting started <!-- omit in toc -->
5 Before you begin:
6 - Ensure you are using Python 3.5+
7 - Check out the [existing issues](https://github.com/gpodder/gpodder/issues)
9 Contributions are made to this repo via Issues and Pull Requests (PRs). Make sure to search for existing Issues and PRs before creating your own.
12 ## Getting the code and setting up the project
13 1. Fork this project
14 2. Clone the repository to your machine
15 3. Create a separate branch to get started, e.g. for feature `feat/branch-name-here` or fix `fix/fix-name-goes-here`
16 4. Make sure to create a new virtual environment and activate it:
17 ```shell
18 python3 -m venv venv
19 source activate venv/bin/activate
20 ```
21 5. Install dependencies: [Run from Git](https://gpodder.github.io/docs/run-from-git.html)
22 6. Start the program with debug mode: `./bin/gpodder -v`
23 7. Make the changes, commit in a branch and push the branch to your fork and then submit a Pull Request.
25 ## Linting
26 To ensure code quality, we recommend you to run the linter before pushing the changes to your repo. In order to do so ensure the necessary packages are installed by executing:
27 ```shell
28 pip3 install pytest-cov minimock pycodestyle isort requests pytest pytest-httpserver
29 ```
30 Execute the linter in the root directory (Linux only): `make lint unittest`. On Windows execute: `pycodestyle share src/gpodder tools bin/* *.py`