[build-system]
requires = ["maturin>=1.7,<2"]
build-backend = "maturin"
[project]
name = "fitscube-rs"
requires-python = ">=3.10"
dependencies = ["numpy"]
dynamic = ["version"]
authors = [{ name = "Alec Thomson" }]
license = "BSD-3-Clause"
license-files = ["LICENSE", "NOTICE.md"]
description = "Combine single-frequency/single-time FITS images into a FITS cube (Rust port of fitscube)"
readme = "README.md"
[project.urls]
Homepage = "https://github.com/AlecThomson/fitscube-rs"
Documentation = "https://fitscube-rs.readthedocs.io"
Repository = "https://github.com/AlecThomson/fitscube-rs"
[project.optional-dependencies]
test = ["pytest", "numpy", "astropy", "radio-beam", "fitscube>=2.3.1"]
dev = ["prek", "ty"]
[dependency-groups]
docs = [
"sphinx<9",
"myst-nb>=1.1",
"furo>=2024.8.6",
"sphinx-autoapi>=3.8.0",
"sphinx-autodoc-typehints",
"sphinx-copybutton",
"sphinxcontrib-programoutput",
"astropy>=6",
]
[tool.pytest.ini_options]
testpaths = ["tests", "fitscube_rs"]
addopts = "--doctest-modules"
[tool.ruff]
target-version = "py310"
extend-exclude = ["fitscube_rs/_fitscube_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.maturin]
features = ["python"]
module-name = "fitscube_rs._fitscube_rs"
python-source = "."