diff --git a/pkgs/development/python-modules/numdifftools/default.nix b/pkgs/development/python-modules/numdifftools/default.nix new file mode 100644 index 000000000000..bc5914be721c --- /dev/null +++ b/pkgs/development/python-modules/numdifftools/default.nix @@ -0,0 +1,51 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, numpy +, pytestCheckHook +, pythonOlder +, scipy +}: + +buildPythonPackage rec { + pname = "numdifftools"; + version = "0.9.40"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "pbrod"; + repo = pname; + rev = "v${version}"; + hash = "sha256-YLi9cNHcZ/PlhrhvYOMfRTOt4kinQcfxvqInT8/0Qpg="; + }; + + propagatedBuildInputs = [ + numpy + scipy + ]; + + # Tests requires algopy and other modules which are optional and/or not available + doCheck = false; + + postPatch = '' + substituteInPlace setup.py \ + --replace '"pytest-runner"' "" + # Remove optional dependencies + substituteInPlace requirements.txt \ + --replace "algopy>=0.4" "" \ + --replace "statsmodels>=0.6" "" + ''; + + pythonImportsCheck = [ + "numdifftools" + ]; + + meta = with lib; { + description = "Library to solve automatic numerical differentiation problems in one or more variables"; + homepage = "https://github.com/pbrod/numdifftools"; + license = licenses.bsd3; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3d4ff7c5ebb8..5e8009a838db 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5862,6 +5862,8 @@ in { numcodecs = callPackage ../development/python-modules/numcodecs { }; + numdifftools = callPackage ../development/python-modules/numdifftools { }; + numericalunits = callPackage ../development/python-modules/numericalunits { }; numexpr = callPackage ../development/python-modules/numexpr { };