1[tox]
2requires =
3    tox>=4
4envlist = py{38,39,310,311,312},pytest,flake8,type,pylint
5
6[testenv]
7description = Test all the stuff
8
9[testenv:pytest]
10deps =
11    pytest: pytest
12commands = pytest -v ./tests/
13
14[testenv:type]
15deps =
16    mypy>=0.991
17commands =
18    mypy {posargs:src}
19
20[flake8]
21extend-ignore = D100,D101,D102,D103,D105,D106,D107
22exclude =
23    .git,
24    __pycache__,
25    dist,
26    extra-plugins,
27    benches
28max-complexity = 20
29
30[testenv:flake8]
31skip_install = true
32deps =
33    flake8
34    flake8-bugbear
35    flake8-docstrings>=1.3.1
36    flake8-typing-imports>=1.1
37    pep8-naming
38commands =
39    flake8 src/
40
41[testenv:pylint]
42skip_install = true
43deps =
44    pyflakes
45    pylint==3.1.0
46commands =
47    pylint src/
48