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
.
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.txt
We're using pytest as a testing framework and make heavy use of
fixtures
and parametrization
.
To run the tests simply run
pytest
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
asv run --python=same --show-stderr
python setup.py docs
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 run the necessary toolchain like this
./format_code.sh