gam 0.1.16

Generalized penalized likelihood engine
Documentation
[build-system]
requires = ["maturin>=1.7,<2"]
build-backend = "maturin"

[project]
name = "gamfit"
version = "0.1.16"
description = "Formula-first generalized additive models with a high-performance Rust core"
readme = "python/README.md"
requires-python = ">=3.10"
license = "AGPL-3.0-or-later"
license-files = ["LICENSE"]
authors = [{ name = "SauersML" }]
keywords = [
  "gam",
  "gamfit",
  "generalized-additive-models",
  "regression",
  "smoothing-splines",
  "thin-plate-spline",
  "reml",
  "statistics",
  "machine-learning",
  "rust",
]
classifiers = [
  "Development Status :: 3 - Alpha",
  "Intended Audience :: Science/Research",
  "Operating System :: MacOS",
  "Operating System :: POSIX :: Linux",
  "Operating System :: Microsoft :: Windows",
  "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 :: Python :: Implementation :: CPython",
  "Programming Language :: Rust",
  "Topic :: Scientific/Engineering",
  "Topic :: Scientific/Engineering :: Information Analysis",
  "Topic :: Scientific/Engineering :: Mathematics",
  "Typing :: Typed",
]
dependencies = []

[project.urls]
Homepage = "https://github.com/SauersML/gam"
Repository = "https://github.com/SauersML/gam"
Issues = "https://github.com/SauersML/gam/issues"
Changelog = "https://github.com/SauersML/gam/releases"

[project.optional-dependencies]
test = [
  "pytest>=8",
  "numpy>=1.26",
  "pandas>=2.0",
  "pyarrow>=14",
  "matplotlib>=3.8",
  "scikit-learn>=1.4",
]
numpy = ["numpy>=1.26"]
pandas = ["pandas>=2.0", "pyarrow>=14"]
plot = ["matplotlib>=3.8"]
sklearn = ["scikit-learn>=1.4", "numpy>=1.26"]
type = [
  "mypy>=1.18",
  "numpy>=1.26",
  "pandas>=2.0",
  "pandas-stubs",
  "pyarrow>=14",
  "polars>=1",
  "matplotlib>=3.8",
  "scikit-learn>=1.4",
  "scikit-learn-stubs",
  "scipy-stubs",
  "pytest>=8",
  "types-requests",
  "vulture>=2.16",
]
all = [
  "numpy>=1.26",
  "pandas>=2.0",
  "pyarrow>=14",
  "matplotlib>=3.8",
  "scikit-learn>=1.4",
]

[tool.maturin]
manifest-path = "crates/gam-pyffi/Cargo.toml"
module-name = "gamfit._rust"
python-source = "python"

[tool.mypy]
python_version = "3.10"
strict = true
mypy_path = "python"
files = ["python", "tests", "scripts", "bench"]
exclude = [
  "^bench/\\.venv/",
]

[tool.vulture]
paths = ["python", "tests", "scripts", "bench"]
exclude = ["bench/.venv/"]
ignore_names = [
  "_repr_html_",
]