<commit_before>[tox]
envlist = py37, py38, py39, coverage, flake8, pylint

[gh-actions]
python =
    3.7: py37, coverage, flake8, pylint
    3.8: py38, coverage, flake8, pylint
    3.9: py39, coverage, flake8, pylint

[testenv]
deps =
    pytest
    coverage
    -rrequirements.txt
commands = coverage run -m pytest {posargs}

[testenv:coverage]
deps = coverage
skip_install = true
commands =
    coverage report
    coverage html

[testenv:flake8]
deps =
    flake8
commands = flake8 --count --show-source --statistics

[testenv:pylint]
deps =
    pylint
wont_fix = invalid-name,protected-access,too-many-lines
maybe_someday = fixme,missing-docstring,line-too-long
commands = pylint --disable={[testenv:pylint]wont_fix},{[testenv:pylint]maybe_someday} --ignore=axes_pb2.py Lib/axisregistry

[flake8]
select = E,F,W

exclude =
# Exclude the entire build directory:
    build
# Exclude these auto-generated files that should not be hand-edited:
    Lib/axisregistry/*_pb2.py,
# No need to traverse hidden directories such as .git, .tox
    .*,
# Exclude virtual environment directory:
    venv*,
# There's no value in checking cache directories
    __pycache__,

max-line-length=100
ignore = 
    E126, # continuation line over-indented for hanging indent<commit_msg>update tox<commit_after>[tox]
envlist = lint, py3{7,8,9}, pypy3, coverage-report
skip_missing_interpreters = true

[testenv]
deps =
    -r requirements.txt
    -r test_requirements.txt
; download the latest pip, setuptools and wheel when creating the venv
download = true
commands =
    coverage run --parallel-mode -m pytest {posargs}

[testenv:lint]
skip_install = true
deps =
    -r test_requirements.txt
commands =
    black --check --diff .
    isort --check-only --diff .
    flake8

[testenv:coverage-report]
skip_install = true
commands =
    coverage combine
    coverage xml
    coverage report
    coverage html

[flake8]
select = C, E, F, W, B, B9
ignore = E203, E266, E501, W503
max-line-length = 88
exclude = .git, __pycache__, build, dist, .eggs, .tox, venv, venv*, .venv, .venv*

[isort]
profile = black
{'fraction_non_alphanumeric': 0.10743405275779376, 'fraction_numerical': 0.02685851318944844, 'mean_word_length': 3.7625570776255706, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 1}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2777913', 'n_tokens_mistral': 769, 'n_tokens_neox': 739, 'n_words': 207}