[build-system]
requires = ["maturin>=1.7,<2.0"]
build-backend = "maturin"
[project]
name = "interpn"
version = "0.8.2"
description = "N-dimensional interpolation/extrapolation methods"
authors = [{ name = "James Logan", email = "jlogan03@gmail.com" }]
readme = "README.md"
license = "MIT OR Apache-2.0"
license-files = ["LICENSE-MIT", "LICENSE-APACHE"]
requires-python = ">=3.10"
classifiers = [
"Programming Language :: Rust",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]
dependencies = [
"numpy >= 1.21.2",
]
[project.urls]
repository = "https://github.com/jlogan03/interpn"
documentation = "https://interpn.readthedocs.io/"
changelog = "https://github.com/jlogan03/interpn/blob/main/CHANGELOG.md"
[project.optional-dependencies]
pydantic = ["pydantic >= 2.2.0"]
[dependency-groups]
test = [
"pytest >= 9",
"pytest-cov >= 7.0.0",
"ruff >= 0.13.3",
"pyright == 1.1.407",
"mktestdocs == 0.2.1",
"scipy >= 1.11.4",
"kaleido==0.2.1",
"plotly>=5,<6",
]
bench = [
"scipy >= 1.11.4",
"kaleido==0.2.1",
"plotly>=5,<6",
"memory_profiler >= 0.61.0",
]
doc = [
"mkdocs >= 1.5.3",
"mkdocstrings-python >= 1.7.5",
"mkdocs-material >= 9.4.10"
]
[tool.uv]
cache-keys = [
{ file = "pyproject.toml" },
{ file = "Cargo.toml" },
{ file = ".cargo/config.toml" },
{ file = "**/*.rs" },
{ file = "scripts/pgo-profiles/interpn.profdata" },
{ env = "RUSTFLAGS" },
]
no-build-package = [
"numpy",
"pydantic-core",
"scipy",
"coverage",
"ruff",
]
[tool.maturin]
features = ["python", "fma"]
module-name = "interpn.interpn"
python-packages = ["interpn"]
python-source = "src"
profile = "release"
include = [
{ path = "all", format = ["sdist", "wheel"] },
]
[tool.pytest.ini_options]
addopts = "--cov=interpn --cov-report html --cov-fail-under=94"
[tool.ruff.lint]
select = [
"E",
"F",
"UP",
"B",
"SIM",
]