From 853b964947de22d3f60d2439e305916026b70806 Mon Sep 17 00:00:00 2001
From: Benjamin Meyers <meyersbs@users.noreply.github.com>
Date: Tue, 14 Mar 2023 07:27:51 -0400
Subject: New packages: py-robocrys, py-matminer, py-pubchempy (#35941)

Co-authored-by: Bernhard Kaindl <43588962+bernhardkaindl@users.noreply.github.com>
---
 .../repos/builtin/packages/py-matminer/package.py  | 30 ++++++++++++++++++
 .../repos/builtin/packages/py-pubchempy/package.py | 25 +++++++++++++++
 .../repos/builtin/packages/py-robocrys/package.py  | 36 ++++++++++++++++++++++
 3 files changed, 91 insertions(+)
 create mode 100644 var/spack/repos/builtin/packages/py-matminer/package.py
 create mode 100644 var/spack/repos/builtin/packages/py-pubchempy/package.py
 create mode 100644 var/spack/repos/builtin/packages/py-robocrys/package.py

diff --git a/var/spack/repos/builtin/packages/py-matminer/package.py b/var/spack/repos/builtin/packages/py-matminer/package.py
new file mode 100644
index 0000000000..063a99ed1c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-matminer/package.py
@@ -0,0 +1,30 @@
+# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack.package import *
+
+
+class PyMatminer(PythonPackage):
+    """Matminer is a library for performing data mining in the field of
+    materials science."""
+
+    homepage = "https://github.com/hackingmaterials/matminer"
+    pypi = "matminer/matminer-0.8.0.tar.gz"
+
+    maintainers("meyersbs")
+
+    version("0.8.0", sha256="4bfc3dd6314720df6755cb1c38cad65995f9d820575296fcc67313a0a40c5747")
+
+    depends_on("py-setuptools@43.0.0:", type="build")
+    depends_on("py-numpy@1.20.1:", type=("build", "run"))
+    depends_on("py-requests", type=("build", "run"))
+    depends_on("py-pandas", type=("build", "run"))
+    depends_on("py-tqdm", type=("build", "run"))
+    depends_on("py-pymongo", type=("build", "run"))
+    depends_on("py-future", type=("build", "run"))
+    depends_on("py-scikit-learn", type=("build", "run"))
+    depends_on("py-sympy", type=("build", "run"))
+    depends_on("py-monty", type=("build", "run"))
+    depends_on("py-pymatgen", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pubchempy/package.py b/var/spack/repos/builtin/packages/py-pubchempy/package.py
new file mode 100644
index 0000000000..bccd280993
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pubchempy/package.py
@@ -0,0 +1,25 @@
+# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack.package import *
+
+
+class PyPubchempy(PythonPackage):
+    """PubChemPy provides a way to interact with PubChem in Python. It allows
+    chemical searches by name, substructure and similarity, chemical standardization,
+    conversion between chemical file formats, depiction and retrieval of chemical
+    properties."""
+
+    homepage = "https://github.com/mcs07/PubChemPy"
+    pypi = "PubChemPy/PubChemPy-1.0.4.tar.gz"
+
+    maintainers("meyersbs")
+
+    version("1.0.4", sha256="24e9dc2fc90ab153b2764bf805e510b1410700884faf0510a9e7cf0d61d8ed0e")
+
+    depends_on("py-setuptools", type="build")
+
+    variant("pandas", default=False, description="Enable pandas support")
+    depends_on("py-pandas", when="+pandas", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-robocrys/package.py b/var/spack/repos/builtin/packages/py-robocrys/package.py
new file mode 100644
index 0000000000..d953c54475
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-robocrys/package.py
@@ -0,0 +1,36 @@
+# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack.package import *
+
+
+class PyRobocrys(PythonPackage):
+    """Robocrystallographer is a tool to generate text descriptions of crystal
+    structures. Similar to how a real-life crystallographer would analyse a
+    structure, robocrystallographer looks at the symmetry, local environment, and
+    extended connectivity when generating a description. The package includes
+    utilities for identifying molecule names, component orientations, heterostructure
+    information, and more."""
+
+    homepage = "https://github.com/hackingmaterials/robocrystallographer"
+    pypi = "robocrys/robocrys-0.2.7.tar.gz"
+
+    maintainers("meyersbs")
+
+    version("0.2.7", sha256="c8155bbc13efbf66ce0a834ebd0eaba9102f2c405a9cbaac071aa230d81ee5f6")
+
+    depends_on("py-setuptools", type="build")
+    depends_on("python@3.7:", type=("build", "run"))
+    depends_on("py-spglib", type=("build", "run"))
+    depends_on("py-numpy", type=("build", "run"))
+    depends_on("py-scipy", type=("build", "run"))
+    depends_on("py-inflect", type=("build", "run"))
+    depends_on("py-networkx", type=("build", "run"))
+    depends_on("py-matminer", type=("build", "run"))
+    depends_on("py-monty", type=("build", "run"))
+    depends_on("py-pubchempy", type=("build", "run"))
+    depends_on("py-pybtex", type=("build", "run"))
+    depends_on("py-ruamel-yaml", type=("build", "run"))
+    depends_on("py-pymatgen@2020.10.20:", type=("build", "run"))
-- 
cgit v1.2.3-70-g09d2