[build-system]
requires = ["scikit-build-core", "nanobind", "numpy"]
build-backend = "scikit_build_core.build"

[project]
name = "phono3py"
dynamic = ["version"]
readme = { file = "README.md", content-type = "text/markdown" }
description = "This is the phono3py module."
authors = [{ name = "Atsushi Togo", email = "atztogo@gmail.com" }]
requires-python = ">=3.8"
dependencies = [
    "numpy>=1.17.0",
    "scipy",
    "PyYAML>=5.3",
    "matplotlib>=2.2.2",
    "h5py>=3.0",
    "spglib>=2.3",
    "phonopy>=2.26,<2.27",
]
license = { file = "LICENSE" }

[project.urls]
Homepage = "https://phonopy.github.io/phono3py/"
Repository = "https://github.com/phonopy/phono3py"

[project.scripts]
phono3py = "phono3py.scripts.phono3py:run"
phono3py-load = "phono3py.scripts.phono3py_load:run"
phono3py-coleigplot = "phono3py.scripts.phono3py_coleigplot:run"
phono3py-kaccum = "phono3py.scripts.phono3py_kaccum:run"
phono3py-kdeplot = "phono3py.scripts.phono3py_kdeplot:run"


[tool.scikit-build]
cmake.verbose = true
logging.level = "INFO"
metadata.version.provider = "scikit_build_core.metadata.setuptools_scm"
sdist.exclude = ["*"]
sdist.include = [
    "test",
    "LICENSE",
    "c",
    "example",
    "phono3py",
    "pyproject.toml",
    "CMakeLists.txt",
    "README.md",
]

[tool.scikit-build.cmake.define]
PHONO3PY_USE_MTBLAS = {env="PHONO3PY_USE_MTBLAS", default="ON"}
USE_CONDA_PATH = {env="USE_CONDA_PATH", default="ON"}
PHONO3PY_USE_OMP = {env="PHONO3PY_USE_OMP", default="ON"}

[tool.setuptools_scm]
write_to = "phono3py/_version.py"

[tool.ruff]
line-length = 88
lint.select = [
    "F", # Flake8
    "B", # Black
    "I", # isort
    "E", # pycodestyle-errors
    "D", # pydocstyle
]
lint.extend-ignore = ["D417", "D100"]
exclude = ["cmake-format.py"]

[tool.ruff.lint.pydocstyle]
convention = "numpy"
