[build-system] build-backend = "setuptools.build_meta" requires = [ "setuptools>=42", # At least v42 of setuptools required. "versioningit", ] [tool.ruff] line-length = 90 extend-exclude = [ "bin/mkdeb.py", "docs/source/conf.py", "setup.py", ] lint.select = [ # Builtins "A", # Bugbear "B", # comprehensions "C4", # Pycodestyle "E", # eradicate "ERA", # Pyflakes "F", # isort "I", # pandas-vet "PD", # return "RET", # Bandit "S", # print "T20", "W", # flake8-2020 "YTT", ] lint.extend-ignore = [ "S101", # Allow use of `assert`. ] lint.per-file-ignores."tests/*" = [ "ERA001", # Found commented-out code. "S101", # Allow use of `assert`, and `print`. ] [tool.pytest.ini_options] addopts = """ -rfEXs -p pytester --strict-markers --verbosity=3 --cov --cov-report=term-missing --cov-report=xml """ filterwarnings = [ "error::UserWarning", ] log_level = "DEBUG" log_cli_level = "DEBUG" log_format = "%(asctime)-15s [%(name)-36s] %(levelname)-8s: %(message)s" minversion = "2.0" testpaths = [ "responder", "tests", ] markers = [ ] xfail_strict = true [tool.versioningit] [tool.poe.tasks] check = [ "lint", "test", ] docs-autobuild = [ { cmd = "sphinx-autobuild --open-browser --watch docs/source docs/build" }, ] docs-html = [ { cmd = "sphinx-build -W --keep-going docs/source docs/build" }, ] docs-linkcheck = [ { cmd = "sphinx-build -W --keep-going -b linkcheck docs/source docs/build" }, ] format = [ { cmd = "ruff format ." }, # Configure Ruff not to auto-fix (remove!): # unused imports (F401), unused variables (F841), `print` statements (T201), and commented-out code (ERA001). { cmd = "ruff check --fix --ignore=ERA --ignore=F401 --ignore=F841 --ignore=T20 --ignore=ERA001 ." }, { cmd = "pyproject-fmt --keep-full-version pyproject.toml" }, ] lint = [ { cmd = "ruff format --check ." }, { cmd = "ruff check ." }, { cmd = "validate-pyproject pyproject.toml" }, # { cmd = "mypy" }, ] release = [ { cmd = "python -m build" }, { cmd = "twine upload --skip-existing dist/*" }, ] [tool.poe.tasks.test] cmd = "pytest" help = "Invoke software tests" [tool.poe.tasks.test.args.expression] options = [ "-k" ] [tool.poe.tasks.test.args.marker] options = [ "-m" ]