[build-system]
requires = [ "setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"

[project]
name = "torch_harmonics"
authors = [
    { name="Boris Bonev" },
    { name="Thorsten Kurth" },
    { name="Max Rietmann" },
    { name="Mauro Bisson" },
    { name="Andrea Paris" },
    { name="Alberto Carpentieri" },
    { name="Massimiliano Fatica" },
    { name="Jean Kossaifi" },
    { name="Nikola Kovachki" },
    { name="Christian Hundt" },
]

maintainers = [
    { name="Boris Bonev", email = "bbonev@nvidia.com" },
    { name="Thorsten Kurth", email = "tkurth@nvidia.com" },
]

readme = "README.md"

dynamic = ["version"]

description = "Differentiable signal processing on the sphere for PyTorch."
requires-python = ">=3.9"

classifiers = [
    "Development Status :: 3 - Alpha",
    "Programming Language :: Python :: 3.9",
    "License :: OSI Approved :: BSD License",
    "Operating System :: OS Independent",
]

dependencies = [
    "torch>=2.4.0",
    "numpy>=1.22.4",
]


[tool.setuptools.dynamic]
version = {attr = "torch_harmonics.__version__"}

[tool.setuptools.packages.find]
    include = ["torch_harmonics*"]

[project.optional-dependencies]
dev = [
    "pytest>=6.0.0",
    "coverage>=6.5.0",
]
2d3ds = [
    "requests",
    "tarfile",
    "tqdm",
    "PIL",
    "h5py",
]

[tool.black]
line-length = 180