py-mdi: new package (#47636)

* Adding MDI
* py-mdi: update package
* lammps: py-mdi needs to be usable at runtime
* py-mdi: update dependency constraints

---------

Co-authored-by: Richard Berger <rberger@lanl.gov>
This commit is contained in:
Hubertus van Dam 2025-01-14 04:54:06 +01:00 committed by GitHub
parent 66e8523e14
commit c0df012b18
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 44 additions and 3 deletions

View File

@ -399,8 +399,19 @@ class Lammps(CMakePackage, CudaPackage, ROCmPackage, PythonExtension):
depends_on("cxx", type="build")
# mdi, scafacos, ml-quip, qmmm require C, but not available in Spack
for c_pkg in ("adios", "atc", "awpmd", "ml-pod", "electrode", "kim", "h5md", "tools", "rheo"):
# scafacos, ml-quip, qmmm require C, but not available in Spack
for c_pkg in (
"adios",
"atc",
"awpmd",
"electrode",
"h5md",
"kim",
"mdi",
"ml-pod",
"rheo",
"tools",
):
depends_on("c", type="build", when=f"+{c_pkg}")
# scafacos, ml-quip require Fortran, but not available in Spack
@ -496,6 +507,7 @@ def url_for_version(self, version):
"manifold": {"when": "@20210702:"},
"manybody": {"default": True},
"mc": {},
"mdi": {"when": "@20210702:"},
"meam": {"when": "@:20181212,20210702:"},
"mesont": {"when": "@20210702:"},
"mgpt": {"when": "@20210702:"},
@ -583,7 +595,6 @@ def url_for_version(self, version):
"voronoi": {},
"vtk": {"when": "@20210702:"},
"yaff": {"when": "@20210702:"},
# "mdi": {"when": "@20210702:"}, no mdi package
# "ml-quip": {"when": "@20210702:"}, no quip package
# "scafacos": {"when": "@20210702:"}, no scafacos package
# "user-quip": {"when": "@20190201:20210527"}, no quip package
@ -719,6 +730,7 @@ def url_for_version(self, version):
depends_on("pace", when="+ml-pace", type="build")
depends_on("py-cython", when="+mliap+python", type="build")
depends_on("py-cython", when="+ml-iap+python", type="build")
depends_on("py-mdi", when="+mdi", type=("build", "run"))
depends_on("py-pip", when="+python", type="build")
depends_on("py-wheel", when="+python", type="build")
depends_on("py-build", when="+python", type="build")

View File

@ -0,0 +1,29 @@
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class PyMdi(PythonPackage):
"""MolSSI Driver Interface (MDI) Library
The MolSSI Driver Interface (MDI) project provides a standardized API for
fast, on-the-fly communication between computational chemistry codes. This
greatly simplifies the process of implementing methods that require the
cooperation of multiple software packages and enables developers to write a
single implementation that works across many different codes.
"""
homepage = "https://molssi-mdi.github.io/MDI_Library"
git = "https://github.com/MolSSI-MDI/MDI_Library.git"
maintainers("hjjvandam", "rbberger")
license("BSD-3-Clause", checked_by="hjjvandam")
version("1.4.33", tag="v1.4.33", commit="f479f18f8d036bd675ba628365dd5f6f0cff1c21")
depends_on("py-setuptools@42:", type="build")
depends_on("py-packaging", type="build")
depends_on("cmake@3.5:", type="build")