Skip to content

Latest commit

 

History

History
66 lines (46 loc) · 1.68 KB

CONTRIBUTING.md

File metadata and controls

66 lines (46 loc) · 1.68 KB

How to contribute

Bugs

If you've found a bug, please report it to the issue tracker and

  • describe the bug you encountered and what the expected behavior should be,
  • provide a mcve if possible, and
  • be as explicit about your environment as possible, e.g. provide a pip freeze / conda list.

Development

Installation using pip

To get started, set up a new virtual environment and install all requirements

virtualenv kartothek-dev --python=python3.6
source kartothek-dev/bin/activate
pip install -e .
pip install -r test-requirements.in

Running tests

We're using pytest as a testing framework and make heavy use of fixtures and parametrization.

To run the tests simply run

pytest

Running benchmarks

For performance critical code paths we have asv benchmarks in place in the subfolder asv_bench. To run the benchmarks a single time and receive immediate feedback run

pip install asv
asv run --python=same --show-stderr

Building documentation

python setup.py docs

Code style

To ensure a consistent code style across the code base we're using black, flake8, and isort for formatting and linting.

We have pre-commit hooks for all of these tools which take care of formatting and checking the code. To set up these hooks, please follow the installation instructions on the pre-commit homepage.

If you prefer to perform manual formatting and linting, you can install and run the necessary tools like this

pip install black[d]==18.9b0 flake8==3.6.0 flake8-mutable==1.2.0 isort==4.3.4
./ci/format_code.sh