[build-system]
requires = ["maturin>=1.2,<2.0"]
build-backend = "maturin"

[project]
name = "cp2k-rs"
version = "0.2.3"
description = "Python bindings for CP2K quantum chemistry package via Rust"
readme = "README.md"
authors = [
    {name = "CP2K-RS Developers"}
]
dependencies = ["numpy>=1.20.0"]
requires-python = ">=3.9"
classifiers = [
    "Programming Language :: Rust",
    "Programming Language :: Python :: Implementation :: CPython",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Programming Language :: Python :: 3.14",
    "Topic :: Scientific/Engineering :: Chemistry",
    "Topic :: Scientific/Engineering :: Physics",
    "Topic :: Scientific/Engineering",
    "Development Status :: 3 - Alpha",
    "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)",
]

[project.urls]
Homepage = "https://zivgitlab.uni-muenster.de/ag-salinga/cp2k-rs"
Repository = "https://zivgitlab.uni-muenster.de/ag-salinga/cp2k-rs"
"Issue Tracker" = "https://zivgitlab.uni-muenster.de/ag-salinga/cp2k-rs/-/issues"

[project.scripts]
cp2k_rs_worker = "cp2k_rs._worker_launcher:main"

[tool.maturin]
features = ["python", "mpi", "extended"]
# Include the compiled worker binary and any shared libraries bundled next to it
# by build.rs (libgfortran, libquadmath, libgcc_s).
# build.rs copies these into cp2k_rs/ and patches the worker RPATH to $ORIGIN.
# Note: OpenBLAS (BLAS/LAPACK) and FFTW3 are now statically linked into the
# worker binary and no longer need to be bundled as .so files.
include = [
    { path = "cp2k_rs/cp2k_rs_worker", format = "wheel" },
    { path = "cp2k_rs/libgfortran*.so*", format = "wheel" },
    { path = "cp2k_rs/libquadmath*.so*", format = "wheel" },
    { path = "cp2k_rs/libgcc_s*.so*", format = "wheel" },
    { path = "cp2k_rs/data/BASIS_MOLOPT",   format = "wheel" },
    { path = "cp2k_rs/data/GTH_POTENTIALS", format = "wheel" },
    { path = "cp2k_rs/licenses/*.txt",      format = "wheel" },
    { path = "NOTICE",                      format = "wheel" },
]
