[build-system]
requires = ["maturin>=1.7,<2"]
build-backend = "maturin"
[project]
name = "convolve-rs"
requires-python = ">=3.10"
dependencies = ["numpy"]
dynamic = ["version"]
authors = [{ name = "Alec Thomson" }]
license = "BSD-3-Clause"
license-files = ["LICENSE", "NOTICE.md"]
description = "Rust port of beamcon from RACS-tools: smooth FITS images and cubes to a common beam via UV-plane (FFT) convolution"
readme = "README.md"
[project.optional-dependencies]
test = ["pytest", "radio-beam", "astropy"]
dev = ["prek", "ty"]
benchmark = [
"astropy>=6.1.7",
"ipykernel>=7.3.0",
"matplotlib>=3.10.9",
"nbconvert>=7.17.1",
"nbformat>=5.10.4",
"pandas>=2.3.3",
]
[tool.pytest.ini_options]
testpaths = ["tests"]
[tool.ruff]
target-version = "py310"
extend-exclude = ["convolve_rs/_convolve_rs/__init__.pyi"]
[tool.ruff.lint]
extend-select = [
"ARG",
"B",
"BLE",
"C4",
"DTZ",
"EM",
"EXE",
"FA",
"FLY",
"FURB",
"G",
"I",
"ICN",
"ISC",
"LOG",
"NPY",
"PD",
"PERF",
"PGH",
"PIE",
"PL",
"PT",
"PTH",
"PYI",
"Q",
"RET",
"RSE",
"RUF",
"SIM",
"SLOT",
"T10",
"T20",
"TC",
"TRY",
"UP",
"YTT",
]
ignore = [
"PLR09",
"PLR2004",
"G004",
]
[tool.ruff.lint.per-file-ignores]
"tests/**" = ["PT011"]
"scripts/**" = ["T201", ]
[tool.ty.src]
exclude = ["scripts/benchmark.ipynb"]
[tool.maturin]
features = ["python"]
module-name = "convolve_rs._convolve_rs"
python-source = "."