[build-system]
requires = ["setuptools>=68,<80", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "superkernel"
version = "0.1.0"
description = "Core components for the super kernel Python service."
readme = "README.md"
authors = [
  { name = "Ascend Graph Engine Team" }
]
dependencies = [
  "attrs>=23.0.00",
  "decorator>=5.1.0",
  "numpy>=1.21.6",
  "psutil>=5.9",
  "scipy>=1.7.3",
  "sympy>=1.10.1",
]

[project.optional-dependencies]
dev = [
  "absl-py>=1.4.0",
  "build>=1.0.0",
  "cloudpickle>=2.2.0",
  "coverage>=7.0.0",
  "jinja2>=3.1.0",
  "ml-dtypes>=0.2.0",
  "pytest>=7.4",
  "pytest-cov>=4.0.0",
  "pytest-timeout>=2.2",
  "pytest-xdist>=3.0.0",
  "setuptools>=68.0.0,<80.0.0",
  "six>=1.16.0",
  "tornado>=6.2",
  "wheel>=0.40.04.0",
]

[project.urls]
Homepage = "https://gitcode.com/cann/graph-autofusion"

[tool.pytest.ini_options]
pythonpath = ["src"]
markers = [
  "st: system tests exercising end-to-end flows",
  "ut: unit tests covering superkernel module behavior"
]
testpaths = [
  "tests/ut",
  "tests/st"
]

[tool.coverage.run]
source = ["src/jit/superkernel"]
omit = [
  "*/tests/*",
  "*/__pycache__/*",
  "*/build/*",
  "*/dist/*",
  "*/venv/*",
]
data_file = "coverage/.coverage"

[tool.coverage.report]
exclude_lines = [
  "pragma: no cover",
  "def __repr__",
  "raise AssertionError",
  "raise NotImplementedError",
  "if __name__ == .__main__.:",
]
show_missing = true
fail_under = 80

[tool.coverage.html]
directory = "coverage/html"

[tool.coverage.xml]
output = "coverage/coverage.xml"

[tool.setuptools]
package-dir = {superkernel = "src/jit/superkernel"}