[build-system]
requires = ["maturin>=1.8,<2.0"]
build-backend = "maturin"

[dependency-groups]
dev = [
    "maturin>=1.9.0",
    "pytest>=8.3.5",
]

[project]
name = "reasonable"
requires-python = ">=3.8"
classifiers = [
    "Programming Language :: Rust",
    "Programming Language :: Python :: Implementation :: CPython",
    "Programming Language :: Python :: Implementation :: PyPy",
]
dynamic = ["version"]
dependencies = [
    "rdflib>=6.3.2",
]
license = "bsd-3-clause"
description = "Python bindings for Reasonable, a reasonably fast OWL 2 RL reasoner"
readme = "README.md"

[tool.maturin]
features = ["pyo3/extension-module"]

[tool.uv]
# Rebuild package when any rust files change
cache-keys = [{file = "pyproject.toml"}, {file = "Cargo.toml"}, {file = "**/*.rs"}, {file = "../lib/Cargo.toml"}, {file = "../lib/**/*.rs"}]
