diff --git a/pkgs/development/python-modules/keras/default.nix b/pkgs/development/python-modules/keras/default.nix index 89e0fdbe3923..4882b45aa4c9 100644 --- a/pkgs/development/python-modules/keras/default.nix +++ b/pkgs/development/python-modules/keras/default.nix @@ -1,55 +1,64 @@ { lib, buildPythonPackage, - fetchPypi, - pytest, - pytest-cov, - pytest-xdist, - six, - numpy, - scipy, - pyyaml, + pythonOlder, + fetchFromGitHub, + setuptools, + absl-py, + dm-tree, h5py, + markdown-it-py, + ml-dtypes, + namex, + numpy, optree, - keras-applications, - keras-preprocessing, + rich, + tensorflow, }: buildPythonPackage rec { pname = "keras"; - version = "3.2.1"; - format = "wheel"; + version = "3.3.3"; + pyproject = true; - src = fetchPypi { - inherit format pname version; - hash = "sha256-C+HomwQeaXvlYthCLsuVjuVIGs/AiZEyAJJsVh0ligM="; - python = "py3"; - dist = "py3"; + disabled = pythonOlder "3.9"; + + src = fetchFromGitHub { + owner = "keras-team"; + repo = "keras"; + rev = "refs/tags/v${version}"; + hash = "sha256-hhY28Ocv4zacZiwFflJtufKpeKfH1MD1PZJ+NTJfpH0="; }; - nativeCheckInputs = [ - pytest - pytest-cov - pytest-xdist + build-system = [ + setuptools ]; - propagatedBuildInputs = [ - six - pyyaml - numpy - scipy + dependencies = [ + absl-py + dm-tree h5py - keras-applications - keras-preprocessing + markdown-it-py + ml-dtypes + namex + numpy + optree + rich + tensorflow + ]; + + pythonImportsCheck = [ + "keras" + "keras._tf_keras" ]; # Couldn't get tests working doCheck = false; - meta = with lib; { - description = "Deep Learning library for Theano and TensorFlow"; + meta = { + description = "Multi-backend implementation of the Keras API, with support for TensorFlow, JAX, and PyTorch"; homepage = "https://keras.io"; - license = licenses.mit; - maintainers = with maintainers; [ NikolaMandic ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ NikolaMandic ]; }; } diff --git a/pkgs/development/python-modules/mhcflurry/default.nix b/pkgs/development/python-modules/mhcflurry/default.nix index efc431db552e..68b4624125a4 100644 --- a/pkgs/development/python-modules/mhcflurry/default.nix +++ b/pkgs/development/python-modules/mhcflurry/default.nix @@ -16,18 +16,18 @@ buildPythonPackage rec { pname = "mhcflurry"; - version = "2.1.0"; - format = "setuptools"; + version = "2.1.1"; + pyproject = true; src = fetchFromGitHub { owner = "openvax"; - repo = pname; + repo = "mhcflurry"; rev = "refs/tags/v${version}"; - hash = "sha256-VyPHcNlZYgNJZb2UBFX55x+nE0GnHixkcsiTNjDCju0="; + hash = "sha256-absIKvcFo6I1Uu0t+l8OLOU/AQ4kD295P4+KVwMAWMc="; }; # keras and tensorflow are not in the official setup.py requirements but are required for the CLI utilities to run. - propagatedBuildInputs = [ + dependencies = [ appdirs keras mhcgnomes @@ -82,10 +82,13 @@ buildPythonPackage rec { pythonImportsCheck = [ "mhcflurry" ]; - meta = with lib; { + meta = { description = "Peptide-MHC I binding affinity prediction"; homepage = "https://github.com/openvax/mhcflurry"; - license = licenses.asl20; - maintainers = with maintainers; [ samuela ]; + changelog = "https://github.com/openvax/mhcflurry/releases/tag/v${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ samuela ]; + # ModuleNotFoundError: No module named 'keras.api._v2' as tensorflow is too outdated + broken = true; }; } diff --git a/pkgs/development/python-modules/namex/default.nix b/pkgs/development/python-modules/namex/default.nix new file mode 100644 index 000000000000..a2dfaf890432 --- /dev/null +++ b/pkgs/development/python-modules/namex/default.nix @@ -0,0 +1,36 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools, + wheel, +}: + +buildPythonPackage rec { + pname = "namex"; + version = "0.0.8"; + pyproject = true; + + # Not using fetchFromGitHub because the repo does not have any tag/release. + src = fetchPypi { + inherit pname version; + hash = "sha256-MqUPbFZcC7EKp2KYyVlQer3A6FDv4IXcOPNED8s6qQs="; + }; + + build-system = [ + setuptools + wheel + ]; + + pythonImportsCheck = [ "namex" ]; + + # This packages has no tests. + doCheck = false; + + meta = { + description = "A simple utility to separate the implementation of your Python package and its public API surface"; + homepage = "https://github.com/fchollet/namex"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ GaetanLepage ]; + }; +} diff --git a/pkgs/development/python-modules/trfl/default.nix b/pkgs/development/python-modules/trfl/default.nix index a0041be98eab..1e8120bdec68 100644 --- a/pkgs/development/python-modules/trfl/default.nix +++ b/pkgs/development/python-modules/trfl/default.nix @@ -72,5 +72,7 @@ buildPythonPackage rec { homepage = "https://github.com/deepmind/trfl"; license = licenses.asl20; maintainers = with maintainers; [ onny ]; + # ModuleNotFoundError: No module named 'keras.api._v2' as tensorflow is too outdated + broken = true; }; } diff --git a/pkgs/development/python-modules/wandb/default.nix b/pkgs/development/python-modules/wandb/default.nix index bef6acb62ef5..1ac6b47a31bf 100644 --- a/pkgs/development/python-modules/wandb/default.nix +++ b/pkgs/development/python-modules/wandb/default.nix @@ -297,6 +297,13 @@ buildPythonPackage rec { [ # Timing sensitive "test_login_timeout" + + # Tensorflow 2.13 is too old for the current version of keras + # ModuleNotFoundError: No module named 'keras.api._v2' + "test_saved_model_keras" + "test_sklearn_saved_model" + "test_pytorch_saved_model" + "test_tensorflow_keras_saved_model" ] ++ lib.optionals stdenv.isDarwin [ # Disable test that fails on darwin due to issue with python3Packages.psutil: diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3f728c1f7515..850907d3580b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8610,6 +8610,8 @@ self: super: with self; { names = callPackage ../development/python-modules/names { }; + namex = callPackage ../development/python-modules/namex { }; + name-that-hash = callPackage ../development/python-modules/name-that-hash { }; nameko = callPackage ../development/python-modules/nameko { };