You need python3.7
, git
and tox.
A recent version of wheel
and pip>21.0
are desired for the python versions that you want to use.
# clone the project
$ git clone https://github.com/relatio-nlp/relatio
# go in the main directory
$ cd relatio
# create the development environment
$ tox -e dev
# activate the development environment
$ source .tox/dev/bin/activate
# install the hooks
(dev)$ pre-commit install
# OPTIONAL: make your IPython kernel available to Jupyter in a different env
(dev)$ python -m ipykernel install --user --name py37_relatio --display-name "Python 3.7 (relatio)"
You can easily test using tox
on python3.7
, python3.8
, and python3.9
.
$ tox -e py37 # python3.7 required
$ tox -e py38 # python3.8 required
$ tox -e py39 # python3.9 required
So far it works only with python3.7
and python3.8
.
- Auto-formatter:
- black that might break the 79 characters maximum line length from PEP8 (see here)
- isort using black compatibility
- Testing via pytest with
--doctest-modules
enabled (see doctest) - security issues: bandit
- mypy
- pycodestyle, pydocstyle, Pylint, flake8
- PEP8
- Google Coding Style
- Docstring using Google Style: see Sphinx 1.3 Google Style Python Docstrings and pyguide