From f02dec2bbbda08d974fecf6c46657ced4e517692 Mon Sep 17 00:00:00 2001 From: Brice Videau Date: Sat, 6 Nov 2021 10:52:30 -0500 Subject: Update py-ytopt package and add necessary dependencies (#26879) * Add spack package py-ytopt-team-ytopt and required dependencies. * Removed old ytop package. * Added author as maintainer. * Fix style. * Update var/spack/repos/builtin/packages/py-config-space/package.py Update python dependency to 3.7 Co-authored-by: Adam J. Stewart * Update var/spack/repos/builtin/packages/py-config-space/package.py Remove run dependency from py-cython. Co-authored-by: Adam J. Stewart * Update var/spack/repos/builtin/packages/py-config-space/package.py Added run dependency type for py-pyparsing. Co-authored-by: Adam J. Stewart * Updated description of py-dh-scikit-optimize. * Source py-dh-scikit-optimize from PyPI. * Added latest py-dh-scikit-optimize version. * Made plots option False by default for py-dh-scikit-optimize. * Removed 0.9.4 as it needs additional dependencies. * Added version dependencies. * Added missing py-joblib dependencies. * Added run dependency type. * Added python 2.7+ as supported for py-pyaml. * Change py-config-space to py-configspace. * Added dependency on python 3.6+. * Fix py-configspace package naming. * Changed py-autotune to py-ytopt-autotune. * Update var/spack/repos/builtin/packages/py-pyaml/package.py Co-authored-by: Adam J. Stewart * Added debug variant with py-ray dependency. * Added missing py-mpi4py missing dependency. * Removed erroneous variant. * Added debug variant to py-ray. * Fix indentation. * Removed debug variant of py-ray. Co-authored-by: Adam J. Stewart --- .../builtin/packages/py-configspace/package.py | 23 +++++++++++++ .../packages/py-dh-scikit-optimize/package.py | 38 ++++++++++++++++++++++ .../repos/builtin/packages/py-pyaml/package.py | 22 +++++++++++++ .../builtin/packages/py-ytopt-autotune/package.py | 20 ++++++++++++ .../repos/builtin/packages/py-ytopt/package.py | 24 +++++++++----- 5 files changed, 119 insertions(+), 8 deletions(-) create mode 100644 var/spack/repos/builtin/packages/py-configspace/package.py create mode 100644 var/spack/repos/builtin/packages/py-dh-scikit-optimize/package.py create mode 100644 var/spack/repos/builtin/packages/py-pyaml/package.py create mode 100644 var/spack/repos/builtin/packages/py-ytopt-autotune/package.py diff --git a/var/spack/repos/builtin/packages/py-configspace/package.py b/var/spack/repos/builtin/packages/py-configspace/package.py new file mode 100644 index 0000000000..7e24fe0a89 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-configspace/package.py @@ -0,0 +1,23 @@ +# Copyright 2013-2021 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 import * + + +class PyConfigspace(PythonPackage): + """Creation and manipulation of parameter configuration spaces for + automated algorithm configuration and hyperparameter tuning.""" + + maintainers = ['Kerilk'] + + homepage = "https://automl.github.io/ConfigSpace/master/" + pypi = "ConfigSpace/ConfigSpace-0.4.20.tar.gz" + + version('0.4.20', sha256='2e4ca06f5a6a61e5322a73dd7545468c79f2a3e8385cab92fdada317af41d9e9') + + depends_on('python@3.7:', type=('build', 'run')) + depends_on('py-numpy', type=('build', 'run')) + depends_on('py-cython', type='build') + depends_on('py-pyparsing', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/py-dh-scikit-optimize/package.py b/var/spack/repos/builtin/packages/py-dh-scikit-optimize/package.py new file mode 100644 index 0000000000..571c9024d2 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-dh-scikit-optimize/package.py @@ -0,0 +1,38 @@ +# Copyright 2013-2021 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 import * + + +class PyDhScikitOptimize(PythonPackage): + """A Modified version of scikit-optimize a Sequential model-based + optimization toolbox for DeepHyper. + Scikit-Optimize, or skopt, is a simple and efficient library to + minimize (very) expensive and noisy black-box functions. It implements + several methods for sequential model-based optimization. skopt aims to + be accessible and easy to use in many contexts. + + The library is built on top of NumPy, SciPy and Scikit-Learn.""" + + maintainers = ['Kerilk'] + + homepage = "https://github.com/deephyper/scikit-optimize" + pypi = "dh-scikit-optimize/dh-scikit-optimize-0.9.0.tar.gz" + + version('0.9.0', sha256='fe70aa57ec5150a3d356b2184f0dda1ecc4ecb7e82d35edac3980094d409d676') + + variant('plots', default=False, + description='Build with plot support from py-matplotlib') + + depends_on('python@3.6:', type=('build', 'run')) + depends_on('py-setuptools', type='build') + depends_on('py-joblib@0.11:', type=('build', 'run')) + depends_on('py-pyaml@16.9:', type=('build', 'run')) + depends_on('py-numpy@1.13.3:', type=('build', 'run')) + depends_on('py-scipy@0.19.1:', type=('build', 'run')) + depends_on('py-scikit-learn@0.20.0:', type=('build', 'run')) + depends_on('py-configspace@0.4.20:', type=('build', 'run')) + + depends_on('py-matplotlib@2.0.0:', when='+plots', type='run') diff --git a/var/spack/repos/builtin/packages/py-pyaml/package.py b/var/spack/repos/builtin/packages/py-pyaml/package.py new file mode 100644 index 0000000000..51b74a471e --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pyaml/package.py @@ -0,0 +1,22 @@ +# Copyright 2013-2021 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 import * + + +class PyPyaml(PythonPackage): + """PyYAML-based python module to produce pretty and readable + YAML-serialized data.""" + + maintainers = ['Kerilk'] + + homepage = "https://github.com/mk-fg/pretty-yaml" + pypi = "pyaml/pyaml-21.8.3.tar.gz" + + version('21.8.3', sha256='a1636d63c476328a07213d0b7111bb63570f1ab8a3eddf60522630250c23d975') + + depends_on('python@2.7:2,3.5:', type=('build', 'run')) + depends_on('py-setuptools', type='build') + depends_on('py-pyyaml', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/py-ytopt-autotune/package.py b/var/spack/repos/builtin/packages/py-ytopt-autotune/package.py new file mode 100644 index 0000000000..979c6562d1 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-ytopt-autotune/package.py @@ -0,0 +1,20 @@ +# Copyright 2013-2021 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 import * + + +class PyYtoptAutotune(PythonPackage): + """Common interface for autotuning search space and method definition.""" + + maintainers = ['Kerilk'] + + homepage = "https://github.com/ytopt-team/autotune" + url = "https://github.com/ytopt-team/autotune/archive/refs/tags/v1.1.0.tar.gz" + + version('1.1.0', sha256='5ee7fa6a1c83131c5ceba1537b25f00de84182e4d0e6ebd0fd6efa4e8aee1bc4') + + depends_on('python@3:', type=('build', 'run')) + depends_on('py-setuptools', type='build') diff --git a/var/spack/repos/builtin/packages/py-ytopt/package.py b/var/spack/repos/builtin/packages/py-ytopt/package.py index f5e33b8f18..85d260d35e 100644 --- a/var/spack/repos/builtin/packages/py-ytopt/package.py +++ b/var/spack/repos/builtin/packages/py-ytopt/package.py @@ -10,14 +10,22 @@ class PyYtopt(PythonPackage): """Ytopt package implements search using Random Forest (SuRF), an autotuning search method developed within Y-Tune ECP project.""" - homepage = "https://xgitlab.cels.anl.gov/pbalapra/ytopt" - url = "https://xgitlab.cels.anl.gov/pbalapra/ytopt/raw/release/dist/ytopt-0.1.0.tar.gz" + maintainers = ['Kerilk'] - version('0.1.0', sha256='c7081fe3585a5b7a25bcb84733cd2326b72de3bfc4f84d6ad110341f24c3e612') + homepage = "https://github.com/ytopt-team/ytopt" + url = "https://github.com/ytopt-team/ytopt/archive/refs/tags/v0.0.1.tar.gz" - depends_on('py-scikit-learn', type=('build', 'run')) - depends_on('py-scikit-optimize', type=('build', 'run')) + version('0.0.2', sha256='5a624aa678b976ff6ef867610bafcb0dfd5c8af0d880138ca5d56d3f776e6d71') + version('0.0.1', sha256='3ca616922c8e76e73f695a5ddea5dd91b0103eada726185f008343cc5cbd7744') - def build_args(self, spec, prefix): - args = [] - return args + depends_on('python@3.6:', type=('build', 'run')) + depends_on('py-scikit-learn@0.23.1', type=('build', 'run')) + depends_on('py-dh-scikit-optimize', type=('build', 'run')) + depends_on('py-configspace', type=('build', 'run')) + depends_on('py-numpy', type=('build', 'run')) + depends_on('py-ytopt-autotune@1.1:', type=('build', 'run')) + depends_on('py-joblib', type=('build', 'run')) + depends_on('py-deap', type=('build', 'run')) + depends_on('py-tqdm', type=('build', 'run')) + depends_on('py-ray', type=('build', 'run')) + depends_on('py-mpi4py@3.0.0:', type=('build', 'run')) -- cgit v1.2.3-70-g09d2