[project]
dynamic = ["version"]
name = "taihe"
description = "Language-neutral API tooling"
requires-python = ">=3.11.4"
dependencies = [
"antlr4-python3-runtime==4.11.1",
"typing-extensions==4.13.2",
]
[dependency-groups]
dev = [
"coverage==7.2.7",
"pyright[nodejs]==1.1.400",
"pytest==8.3.5",
"ruff==0.8.4",
"setuptools==80.0.0",
"setuptools-scm==9.2.1",
]
[[tool.uv.index]]
url = "https://repo.huaweicloud.com/repository/pypi/simple/"
default = true
[build-system]
requires = [
"setuptools==80.0.0",
"setuptools-scm==9.2.1",
"antlr4-python3-runtime==4.11.1",
"typing-extensions==4.13.2",
]
build-backend = "setuptools.build_meta"
[project.scripts]
taihec = "taihe.cli.compiler:main"
taihe-tryit = "taihe.cli.tryit:main"
[tool.setuptools_scm]
search_parent_directories = true
local_scheme = "dirty-tag"
version_scheme = "python-simplified-semver"
fallback_version = "0.0.0+thunk"
[tool.setuptools.packages.find]
where = ["compiler"]
include = ["taihe*"]
[tool.setuptools.package-dir]
"taihe" = "compiler/taihe"
[tool.setuptools.package-data]
"taihe.data" = ["runtime/**/*", "stdlib/**/*", "cmake/**/*"]
[tool.pyright]
include = ["compiler"]
exclude = ["compiler/taihe/parse/antlr"]
pythonVersion = '3.10'
reportDeprecated = true
strict = [
"compiler/taihe/cli",
"compiler/taihe/driver",
"compiler/taihe/parse",
"compiler/taihe/semantics",
"compiler/taihe/utils"
]
[[tool.pyright.executionEnvironments]]
root = "compiler"
[tool.ruff]
target-version = 'py310'
[tool.ruff.lint]
pydocstyle.convention = "google"
flake8-tidy-imports.ban-relative-imports = "all"
flake8-type-checking.strict = true
select = [
"E",
"W",
"F",
"B",
"C4",
"D",
"I",
"SIM",
"TCH",
"TID",
"Q",
"UP",
"PT",
"RUF",
]
ignore = [
"PT011",
"SIM108",
"F541",
"F841",
"E731",
"D100",
"D101",
"D102",
"D103",
"D104",
"D105",
"D106",
"D107",
"SIM117",
"TC001",
"TC002",
"TC003",
"TC006",
"B007",
"E501",
"UP009",
]