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 <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-config-space/package.py

Remove run dependency from py-cython.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-config-space/package.py

Added run dependency type for py-pyparsing.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

* 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 <ajstewart426@gmail.com>

* 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 <ajstewart426@gmail.com>
This commit is contained in:
Brice Videau 2021-11-06 10:52:30 -05:00 committed by GitHub
parent 285548588f
commit f02dec2bbb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 119 additions and 8 deletions

View File

@ -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'))

View File

@ -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')

View File

@ -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'))

View File

@ -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')

View File

@ -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'))