pyproject.toml
[build-system]
requires = ['setuptools>=38.6.0', 'wheel>0.31.0']
[tool.tox]
legacy_tox_ini = """
[tox]
envlist = format, py37, xenon, pyroma, build, mypy, flake8, pydocstyle, pylint
[testenv]
whitelist_externals =
sh
commands =
python3 setup.py test
[testenv:format]
basepython = python3
skip_install = true
deps =
black
isort[pyproject]
commands =
sh -c "isort *.py func_analysis"
sh -c "black *.py func_analysis"
# Linters
# wemake-python-styleguide includes the following:
# flake8-pep3101
# flake8-eradicate
# flake8-isort
# flake8-builtins
# flake8-comprehensions
# pep8-naming
# flake8-bandit
# flake8-per-file-ignores
[testenv:flake8]
basepython = python3
skip_install = true
deps =
flake8
pydocstyle < 4.0.0 # flake8-docstrings 1.3 doesn't support pydocstyle 4.0.0
wemake-python-styleguide == 0.9.0
flake8-blind-except
flake8-deprecated
flake8-mutable
flake8-pytest
flake8-self
flake8-super-call
flake8-tidy-imports
flake8-tuple
hacking
commands =
sh -c "flake8 *.py"
flake8 func_analysis
[testenv:pylint]
basepython = python3
skip_install = true
deps =
pylint
isort[pyproject]
commands =
sh -c "pylint *.py func_analysis/*.py func_analysis/analyzed_func/*.py"
sh -c "pylint -d redefined-outer-name func_analysis/tests/*.py"
# pydocstyle gets own testenv till flake8-docstrings supports pydocstyle 4.0.0
[testenv:pydocstyle]
basepython = python3
skip_install = true
deps = pydocstyle
commands =
sh -c "pydocstyle *.py"
pydocstyle func_analysis
[testenv:mypy]
basepython = python3
skip_install = true
deps = mypy
commands =
mypy .
[testenv:pyroma]
basepython = python3
skip_install = true
deps =
pyroma
pygments
commands =
pyroma -n 10 .
[testenv:xenon]
basepython = python3
skip_install = true
deps = xenon
commands =
xenon -b A -a A -m A func_analysis
[testenv:build]
basepython = python3
skip_install = true
deps =
wheel
setuptools
commands =
python setup.py sdist bdist_wheel
"""
[tool.isort]
multi_line_output=3
include_trailing_comma=true
force_grid_wrap=0
use_parentheses=true
line_length=79
known_future_library="annotations"
[tool.black]
line-length = 79
target-version = ['py37']
quiet = true
skip-numeric-underscore-normalization = true