# Copyright (c) Tailscale Inc & AUTHORS
# SPDX-License-Identifier: BSD-3-Clause

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

[tool.mypy]
files = "setup.py"
python_version = "3.7"
strict = true
show_error_codes = true
enable_error_code = ["ignore-without-code", "redundant-expr", "truthy-bool"]
warn_unreachable = true

[[tool.mypy.overrides]]
ignore_missing_imports = true

[tool.pytest.ini_options]
minversion = "6.0"
addopts = ["-ra", "--showlocals", "--strict-markers", "--strict-config"]
xfail_strict = true
filterwarnings = ["error"]
testpaths = ["tests"]

[tool.cibuildwheel]
test-command = "pytest {project}/tests"
test-extras = ["test"]
test-skip = ["*universal2:arm64"]
# Setuptools bug causes collision between pypy and cpython artifacts
before-build = "rm -rf {project}/build"

[tool.ruff]
extend-select = [
  "B",    # flake8-bugbear
  "B904",
  "I",    # isort
  "PGH",  # pygrep-hooks
  "RUF",  # Ruff-specific
  "UP",   # pyupgrade
]
extend-ignore = [
  "E501",   # Line too long
]
target-version = "py37"
