Files
Duncan Ogilvie 6405a0186a Bump to 21.1.6.3
2026-05-14 02:56:54 +02:00

111 lines
2.3 KiB
TOML

[build-system]
requires = ["scikit-build-core >=0.11.6", "nanobind >=2.12.0"]
build-backend = "scikit_build_core.build"
[project]
name = "llvm-nanobind"
version = "21.1.6.3"
description = "LLVM-C Python bindings with nanobind."
readme = "README.md"
requires-python = ">=3.12"
dependencies = []
[project.urls]
Homepage = "https://github.com/LLVMParty/llvm-nanobind"
[dependency-groups]
dev = [
"auto-faulthandler>=1.0.0",
"coverage>=7.11.3",
"lit>=18.1.8",
"nanobind>=2.12.0",
"pytest",
"scikit-build-core>=0.11.6",
]
[tool.scikit-build]
# Protect the configuration against future changes in scikit-build-core
minimum-version = "build-system.requires"
# Setuptools-style build caching in a local directory
build-dir = "build/{wheel_tag}"
# Package builds only need the extension and generated stubs.
build.targets = ["llvm_stub"]
# Build stable ABI wheels for CPython 3.12+
wheel.py-api = "cp312"
# This setup only works properly in redirect mode
editable.mode = "redirect"
# Do not auto-copy Python packages into wheels; the extension module is installed by CMake.
wheel.packages = []
[tool.uv]
cache-keys = [
{ file = "CMakeLists.txt" },
{ file = "cmake/*.cmake" },
{ file = "src/**/*.cpp" },
{ file = "src/**/*.h" },
]
[tool.ty.src]
exclude = [
".llvm",
".llvm-cache",
".venv",
"build",
"dist",
"htmlcov",
"wheelhouse",
]
[tool.ty.environment]
# Don't include src/ in first-party search path so ty finds the installed
# package (with .pyi stubs) in .venv/lib/python3.12/site-packages/ instead
root = ["."]
[tool.pyright]
include = ["tests"]
exclude = [
"build/**",
".venv/**",
"**/__pycache__",
"**/node_modules",
"**/.*",
]
extraPaths = []
venvPath = "."
venv = ".venv"
[tool.mypy]
exclude = [
"^build/",
]
[tool.coverage.run]
source = ["llvm_c_test", "."]
omit = [
"tests/*",
"build/*",
".venv/*",
"llvm-c/*",
]
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"def __repr__",
"raise AssertionError",
"raise NotImplementedError",
"if __name__ == .__main__.:",
"if TYPE_CHECKING:",
"class .*\\bProtocol\\):",
"@(abc\\.)?abstractmethod",
]
[tool.pytest.ini_options]
addopts = "--deselect tests/regressions/test_symbol_size_crash.py"
pythonpath = ["."]