Skip to content

Latest commit

 

History

History
87 lines (59 loc) · 2.52 KB

CONTRIBUTING.rst

File metadata and controls

87 lines (59 loc) · 2.52 KB

Contributing guide lines

We appreciate all contributions. If you are planning to contribute bug-fixes or documentation improvements, please open a pull request (PR) without further discussion. If you planning to contribute new features, please open an issue and discuss the feature with us first.

To start working on tox-ltt clone from the latest version and install the development requirements:

TOX_LTT_ROOT = tox-ltt
git clone https://github.com/pmeier/tox-ltt $TOX_LTT_ROOT
cd $TOX_LTT_ROOT
pip install -r requirements-dev.txt
pre-commit install

Every PR is subjected to multiple checks that it has to pass before it can be merged. The checks are performed by tox . Below you can find details and instructions how to run the checks locally.

Code format and linting

tox-ltt uses isort to sort the imports, black to format the code, and flake8 to enforce PEP8 compliance.

Furthermore, tox-ltt is PEP561 compliant and checks the type annotations with mypy .

To format your code run

cd $TOX_LTT_ROOT
tox -e format

Note

Amongst others, isort and black are run by pre-commit before every commit.

To run the full lint check locally run

cd $TOX_LTT_ROOT
tox -e lint

Tests

tox-ltt uses pytest to run the test suite. You can run it locally with

cd $TOX_LTT_ROOT
tox

Note

tox-ltt adds the following custom options with the corresponding @pytest.mark.* decorators: - --skip-large-download: @pytest.mark.large_download - --skip-slow: @pytest.mark.slow - --run-flaky: @pytest.mark.flaky

Options prefixed with --skip are run by default and skipped if the option is given. Options prefixed with --run are skipped by default and run if the option is given.

These options are passed through tox if given after a -- flag. For example, the CI invocation command is equivalent to:

cd $TOX_LTT_ROOT
tox -- --skip-large-download