Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / pymanopt / default.nix
blobd6fbdacf4650df79a4e71161a502da39cb1c0330
1 { lib
2 , fetchFromGitHub
3 , buildPythonPackage
4 , numpy
5 , scipy
6 , torch
7 , autograd
8 , matplotlib
9 , pytestCheckHook
12 buildPythonPackage rec {
13   pname = "pymanopt";
14   version = "2.2.0";
15   format = "setuptools";
17   src = fetchFromGitHub {
18     owner = pname;
19     repo = pname;
20     rev = "refs/tags/${version}";
21     hash = "sha256-pDFRYhswcuAHG9pcqvzXIy3Ivhxe5R5Ric7AFRh7MK4=";
22   };
24   propagatedBuildInputs = [ numpy scipy torch ];
25   nativeCheckInputs = [ autograd matplotlib pytestCheckHook ];
27   preCheck = ''
28     substituteInPlace "tests/conftest.py" \
29       --replace "import tensorflow as tf" ""
30     substituteInPlace "tests/conftest.py" \
31       --replace "tf.random.set_seed(seed)" ""
32   '';
34   disabledTestPaths = [
35     "tests/test_examples.py"
36     "tests/backends/test_tensorflow.py"
37     "tests/test_problem.py"
38   ];
40   pythonImportsCheck = [ "pymanopt" ];
42   meta = {
43     description = "Python toolbox for optimization on Riemannian manifolds with support for automatic differentiation";
44     homepage = "https://www.pymanopt.org/";
45     license = lib.licenses.bsd3;
46     maintainers = with lib.maintainers; [ yl3dy ];
47     broken = lib.versionAtLeast scipy.version "1.10.0";
48   };