From 03d70feb18d45ecd8cefd8e0efb17bfb0a3fc751 Mon Sep 17 00:00:00 2001 From: Fernando Ayats Date: Fri, 28 Mar 2025 10:27:04 +0100 Subject: [PATCH] Add py-equinox (#49342) Adds Equinox, a JAX library. I've added the latest version 0.11.2, and also 0.11.0 which is compatible with older JAX versions. I've built both versions and loading an example from their page seems to work OK. * Add py-wadler-lindig * Add py-equinox --- .../builtin/packages/py-equinox/package.py | 33 +++++++++++++++++++ .../packages/py-wadler-lindig/package.py | 21 ++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-equinox/package.py create mode 100644 var/spack/repos/builtin/packages/py-wadler-lindig/package.py diff --git a/var/spack/repos/builtin/packages/py-equinox/package.py b/var/spack/repos/builtin/packages/py-equinox/package.py new file mode 100644 index 00000000000..927beebb9b7 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-equinox/package.py @@ -0,0 +1,33 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyEquinox(PythonPackage): + """Equinox is a comprehensive JAX library that provides a wide + range of tools and features not found in core JAX, including neural networks + with PyTorch-like syntax, filtered APIs for transformations, PyTree manipulation + routines, and advanced features like runtime errors.""" + + homepage = "https://docs.kidger.site/equinox/" + + pypi = "equinox/equinox-0.11.10.tar.gz" + + maintainers("viperMl") + + license("Apache-2.0", checked_by="viperML") + + version("0.11.12", sha256="bee22aabaf7ee0cde6f2ae58cf3b981dea73d47e297361a0203e299208ef1739") + version("0.11.10", sha256="f3e7d5545b71e427859a28050526d09adb6b20285c47476a606328a0b96c9509") + + depends_on("py-hatchling", type="build") + + with default_args(type=("build", "run")): + depends_on("python@3.10:") + depends_on("py-jax@0.4.13:0.4.26", when="@:0.11.10") + depends_on("py-jax@0.4.28:", when="@0.11.11:") + depends_on("py-jaxtyping@0.2.20:") + depends_on("py-typing-extensions@4.5.0:") + depends_on("py-wadler-lindig@0.1.0:") diff --git a/var/spack/repos/builtin/packages/py-wadler-lindig/package.py b/var/spack/repos/builtin/packages/py-wadler-lindig/package.py new file mode 100644 index 00000000000..b70541b7286 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-wadler-lindig/package.py @@ -0,0 +1,21 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyWadlerLindig(PythonPackage): + """A Wadler–Lindig pretty-printer for Python""" + + homepage = "https://docs.kidger.site/wadler_lindig" + pypi = "wadler_lindig/wadler_lindig-0.1.3.tar.gz" + + version("0.1.3", sha256="476fb7015135f714cef8f8eac7c44b164c8b993345e651a9b6f25b7b112440c9") + + maintainers("viperML") + + license("Apache-2.0", checked_by="viperML") + + depends_on("py-hatchling", type="build") + depends_on("python@3.10:", type=("build", "run"))