[project]
name = "airball"
dynamic = ["version"]
description = "A package for running and managing flybys using REBOUND."
readme = "README.md"
authors = [
    { name = "Garett Brown", email = "astro@gbrown.ca" }
]
license = { file = "LICENSE" }
requires-python = ">=3.9"
dependencies = [
    "numpy",
    "scipy",
    "rebound>=4.4.7",
    "astropy",
    "joblib"
]

[dependency-groups]
dev = [
    "ruff>=0.11.5",
    "pytest >=8.0",
    "pytest-cov >=6.0",
    "pre-commit >=4.0",
]
docs = [
    "mkdocs>=1.5.2",
    "mkdocs-material>=9.2.0",
    "mkdocs-material-extensions>=1.0.3",
    "mkdocstrings>=0.24.0",
    "mkdocstrings-python>=1.7.5",
    "Markdown>=3.5.1"
]

[tool.uv]
default-groups = ["dev", "docs"]

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.sdist]
exclude = [
  "/.*/",
  "/docs/",
  "/tests/",
]

[tool.hatch.build.targets.wheel]
packages = ["src/airball"]


[tool.hatch.version]
path = "src/airball/__init__.py"