Skip to content

Latest commit

 

History

History
77 lines (52 loc) · 1.39 KB

CONTRIBUTING.md

File metadata and controls

77 lines (52 loc) · 1.39 KB

Contributing to Nxslib

Recommended tools

We use tox to automate tedious developer's tasks, thus installing it is highly recommended.

pip install --user tox

Setting up for development

  1. Clone the Nxslib repository.
git clone https://github.com/railab/nxslib.git
cd nxslib
  1. Create and activate a virtual environment
virtualenv venv
source venv/bin/activate
  1. Install Nxslib in editable mode

pip install -e .

Code style and running tests

Code formatting is ensured by black and isort. To reformat your changes, use:

tox -e format

Untyped function definitions are disallowed (mypy --strict). Type checking can be run with:

tox -e type

Flake8 linter is available with:

tox -e flake8

CI requres 100% coverage to pass. If some of your changes can't be easy tested, you can exclude code from coverage with #pragma: no cover comment. To run tests with coverage report run:

tox -e py

If you don't care about coverage report or want to run tests in parallel, just use:

tox -e test

Current the pylint report isn't taken into account to pass CI (in the future it may change), but it's available from tox:

tox -e pylint

CI

Please run tox before submitting a patch to be sure your changes will pass CI.