[build-system]
requires = ["maturin>=1.14,<2.0"]
build-backend = "maturin"
[project]
name = "splotrs"
description = "Dependency-light sPlot fits backed by Rust and Ganesh"
authors = [{ name = "Nathaniel Dene Hoffman", email = "nhoffman@wm.edu" }]
license = "MIT OR Apache-2.0"
license-files = ["LICENSE-MIT", "LICENSE-APACHE"]
readme = "README.md"
requires-python = ">=3.10"
dependencies = ["numpy>=1.23"]
keywords = ["statistics", "splot", "fitting", "physics", "data analysis"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Science/Research",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Rust",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]
dynamic = ["version"]
[project.urls]
Homepage = "https://github.com/denehoffman/splotrs"
Documentation = "https://docs.rs/splotrs"
Repository = "https://github.com/denehoffman/splotrs"
Issues = "https://github.com/denehoffman/splotrs/issues"
[dependency-groups]
dev = [
"matplotlib>=3.8",
"maturin>=1.14,<2.0",
"numpy",
"pytest",
"ruff",
"ty",
"yamloom",
]
[tool.maturin]
module-name = "splotrs"
[tool.pytest.ini_options]
testpaths = ["python/tests"]
[tool.ruff]
exclude = [
".bzr",
".direnv",
".eggs",
".git",
".git-rewrite",
".hg",
".ipynb_checkpoints",
".mypy_cache",
".nox",
".pants.d",
".pyenv",
".pytest_cache",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
".vscode",
"__pypackages__",
"_build",
"buck-out",
"build",
"dist",
"node_modules",
"site-packages",
"venv",
]
line-length = 100
indent-width = 4
target-version = "py310"
[tool.ruff.lint]
ignore = ["S101"]
fixable = ["ALL"]
[tool.ruff.format]
quote-style = "single"
indent-style = "space"
[tool.uv]
cache-keys = [
{ file = "pyproject.toml" },
{ file = "Cargo.toml" },
{ file = "Cargo.lock" },
{ file = "src/**/*.rs" },
]
config-settings = { build-args = "--generate-stubs" }