[build-system]
requires = [
    "setuptools>=42",
    "wheel",
]
build-backend = "setuptools.build_meta"

[tool.black]
line-length = 88

[tool.isort]
profile = "black"

[tool.mypy]
strict = true
ignore_missing_imports = true
exclude = "tests"

[tool.len8]
exclude = ["tests", "analytix/ux.py"]
code-length = 88

[tool.pytest.ini_options]
asyncio_mode = "auto"

[tool.coverage.report]
omit = ["analytix/__init__.py", "analytix/__main__.py", "analytix/types.py", "analytix/ux.py"]
exclude_lines = [
    "if t.TYPE_CHECKING:",
    "raise NotImplementedError",
    "return NotImplemented",
    "except KeyboardInterrupt as exc",
]
