[build-system]
requires = [
    "cmake>=3.26",
    "ninja",
    "packaging",
    "setuptools >= 49.4.0",
    "torch == 2.4.0",
    "wheel",
]
build-backend = "setuptools.build_meta"


[tool.ruff]
# Allow lines to be as long as 80.
line-length = 80
exclude = [
    "examples/fp8/quantizer/quantize.py",
    "kernels/hadamard/generator.py"
]

[tool.ruff.lint]
select = [
    # pycodestyle
    "E",
    # Pyflakes
    "F",
    # pyupgrade
    # "UP",
    # flake8-bugbear
    "B",
    # flake8-simplify
    "SIM",
    # isort
    # "I",
    "G",
]
ignore = [
    # star imports
    "F405", "F403",
    # lambda expression assignment
    "E731",
    # Loop control variable not used within loop body
    "B007",
    # f-strings in logger
    "G004",
]

[tool.codespell]
ignore-words-list = "dout, te, indicies, ist, subtile, wit, whit, beseige, devlop, serie, vor, holliday, discus, tennant, carin, parma, mor, slac, revered, chanel, sammon, nast, shepard, insead, bloc, clea"
skip = "./tests/,./aphrodite/endpoints/kobold/klite.embd,./kernels/,./tests/benchmarks/sonnet.txt,./docs/,./tests/lora/data/long_context_test_data.py"

[tool.isort]
use_parentheses = true
skip_gitignore = true
