freqtrade_origin/CONTRIBUTING.md
2018-06-11 14:55:39 +03:00

1.6 KiB

Contribute to freqtrade

Feel like our bot is missing a feature? We welcome your pull requests! Few pointers for contributions:

  • Create your PR against the develop branch, not master.
  • New features need to contain unit tests and must be PEP8 conformant (max-line-length = 100).

If you are unsure, discuss the feature on our Slack or in a issue before a PR.

Before sending the PR:

1. Run unit tests

All unit tests must pass. If a unit test is broken, change your code to make it pass. It means you have introduced a regression.

Test the whole project

pytest freqtrade

Test only one file

pytest freqtrade/tests/test_<file_name>.py

Test only one method from one file

pytest freqtrade/tests/test_<file_name>.py::test_<method_name>

2. Test if your code is PEP8 compliant

Install packages (If not already installed)

pip3.6 install flake8 coveralls

Run Flake8

flake8 freqtrade

We receive a lot of code that fails the flake8 checks. To help with that, we encourage you to install the git pre-commit hook that will warn you when you try to commit code that fails these checks. Guide for installing them is here.

3. Test if all type-hints are correct

Install packages (If not already installed)

pip3.6 install mypy

Run mypy

mypy freqtrade