From 2f14f5d561cb1cb5f8f95902a37568c9c350c1b1 Mon Sep 17 00:00:00 2001 From: Ben Darwin Date: Mon, 6 Feb 2023 21:52:51 -0500 Subject: [PATCH] python310Packages.jaxopt: init at 0.5.5 --- .../python-modules/jaxopt/default.nix | 59 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 61 insertions(+) create mode 100644 pkgs/development/python-modules/jaxopt/default.nix diff --git a/pkgs/development/python-modules/jaxopt/default.nix b/pkgs/development/python-modules/jaxopt/default.nix new file mode 100644 index 000000000000..09a1ff66f263 --- /dev/null +++ b/pkgs/development/python-modules/jaxopt/default.nix @@ -0,0 +1,59 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, pytestCheckHook +, absl-py +, cvxpy +, jax +, jaxlib +, matplotlib +, numpy +, optax +, scipy +, scikitlearn +}: + +buildPythonPackage rec { + pname = "jaxopt"; + version = "0.5.5"; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "google"; + repo = pname; + rev = "refs/tags/${pname}-v${version}"; + hash = "sha256-WOsr/Dvguu9/qX6+LMlAKM3EANtYPtDu8Uo2157+bs0="; + }; + + propagatedBuildInputs = [ + absl-py + jax + jaxlib + matplotlib + numpy + scipy + ]; + + nativeCheckInputs = [ + pytestCheckHook + cvxpy + optax + scikitlearn + ]; + + pythonImportsCheck = [ + "jaxopt" + "jaxopt.implicit_diff" + "jaxopt.linear_solve" + "jaxopt.loss" + "jaxopt.tree_util" + ]; + + meta = with lib; { + homepage = "https://jaxopt.github.io"; + description = "Hardware accelerated, batchable and differentiable optimizers in JAX"; + license = licenses.asl20; + maintainers = with maintainers; [ bcdarwin ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7c55959b6149..3d1502c30ddf 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4850,6 +4850,8 @@ self: super: with self; { cudaSupport = false; }; + jaxopt = callPackage ../development/python-modules/jaxopt { }; + JayDeBeApi = callPackage ../development/python-modules/JayDeBeApi { }; jc = callPackage ../development/python-modules/jc { };