[build-system]
requires = ["maturin>=1.7,<2.0"]
build-backend = "maturin"
[project]
name = "cfsem"
version = "2.6.0"
description = "Quasi-steady electromagnetics including filamentized approximations, Biot-Savart, and Grad-Shafranov."
authors = [{name = "Commonwealth Fusion Systems", email = "jlogan@cfs.energy"}]
requires-python = ">=3.9, <3.14"
classifiers = [
"Programming Language :: Rust",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]
dependencies = [
"numpy >= 2",
"interpn >= 0.6.1",
"findiff >= 0.12.1",
"pydantic >= 2",
"pydantic-numpy >= 6"
]
license = "MIT"
[project.optional-dependencies]
dev = [
"pytest >= 7.1.3",
"coverage >= 6.5.0",
"ruff >= 0.6.2",
"pyright == 1.1.402",
"scipy >= 1.8",
"mkdocs >= 1.6.0",
"mkdocs-material >= 9.5.25",
"mkdocstrings[python] >= 0.25.1",
"matplotlib >= 3.9",
]
[tool.maturin]
features = ["pyo3/extension-module", "python"]
module-name = "cfsem.cfsem"
[tool.ruff]
target-version = "py39"
line-length = 110
[tool.ruff.lint]
select = [
"E",
"F",
"UP",
"B",
"SIM",
"I",
]
[tool.coverage.report]
fail_under = 100