diff --git a/pkgs/development/python-modules/flax/default.nix b/pkgs/development/python-modules/flax/default.nix new file mode 100644 index 0000000000000..b8479c0f73cad --- /dev/null +++ b/pkgs/development/python-modules/flax/default.nix @@ -0,0 +1,60 @@ +{ buildPythonPackage +, fetchFromGitHub +, keras +, lib +, matplotlib +, msgpack +, numpy +, optax +, pytestCheckHook +, tensorflow +}: + +buildPythonPackage rec { + pname = "flax"; + version = "0.3.6"; + + src = fetchFromGitHub { + owner = "google"; + repo = pname; + rev = "v${version}"; + sha256 = "0zvq0vl88hiwmss49bnm7gdmndr1dfza2bcs1fj88a9r7w9dmlsr"; + }; + + propagatedBuildInputs = [ + matplotlib + msgpack + numpy + optax + ]; + + pythonImportsCheck = [ + "flax" + ]; + + checkInputs = [ + keras + pytestCheckHook + tensorflow + ]; + + disabledTestPaths = [ + # Docs test, needs extra deps + we're not interested in it. + "docs/_ext/codediff_test.py" + + # The tests in `examples` are not designed to be executed from a single test + # session and thus either have the modules that conflict with each other or + # wrong import paths, depending on how they're invoked. Many tests also have + # dependencies that are not packaged in `nixpkgs` (`clu`, `jgraph`, + # `tensorflow_datasets`, `vocabulary`) so the benefits of trying to run them + # would be limited anyway. + "examples/*" + ]; + + meta = with lib; { + description = "Neural network library for JAX"; + homepage = "https://github.com/google/flax"; + license = licenses.asl20; + maintainers = with maintainers; [ ndl ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e2d2b193f8640..9f2aa79b220f5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2945,6 +2945,8 @@ in { inherit (pkgs) flatbuffers; }; + flax = callPackage ../development/python-modules/flax { }; + flexmock = callPackage ../development/python-modules/flexmock { }; flickrapi = callPackage ../development/python-modules/flickrapi { };