You need python3.9 or later (3.9-3.12), 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 py311_relatio --display-name "Python 3.11 (relatio)"You can easily test using tox on python3.9, python3.10, python3.11, and python3.12.
$ tox -e py39 # python3.9 required
$ tox -e py310 # python3.10 required
$ tox -e py311 # python3.11 required
$ tox -e py312 # python3.12 required- 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-modulesenabled (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