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

[project]
name = "qroissant"
version = "0.3.1"
description = "q/kdb+ IPC client library with Arrow-native Python interoperability"
readme = "README.md"
requires-python = ">=3.10"
license = "Apache-2.0"
license-files = []
authors = [{ name = "qroissant contributors" }]
keywords = ["kdb", "q", "ipc", "arrow", "pyo3"]
classifiers = [
    "Development Status :: 3 - Alpha",
    "License :: OSI Approved :: Apache Software License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3 :: Only",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Programming Language :: Rust",
]

[dependency-groups]
dev = [
    "maturin>=1.8,<2.0",
    "polars>=1.39.3",
    "pyarrow>=23.0.1",
    "pytest>=8.3,<9.0",
    "ruff>=0.11,<0.12",
]
docs = [
    "mkdocs>=1.6,<2.0",
    "mkdocs-material>=9.6,<10.0",
    "mkdocs-material-extensions>=1.3,<2.0",
    "mkdocstrings[python]>=0.28,<1.0",
    "mkdocs-autorefs>=1.3,<2.0",
]

[tool.maturin]
manifest-path = "crates/qroissant-python/Cargo.toml"
python-source = "python"
module-name = "qroissant._native"
features = []

[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["python"]

[tool.ruff]
target-version = "py310"
line-length = 88

[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B"]

