depot/third_party/nixpkgs/pkgs/development/python-modules/pomegranate/default.nix

51 lines
1.3 KiB
Nix
Raw Normal View History

{ lib
, buildPythonPackage
, fetchFromGitHub
, fetchpatch
, numpy
, scipy
, cython
, networkx
, joblib
, pandas
, nose
, pyyaml
}:
buildPythonPackage rec {
pname = "pomegranate";
version = "0.13.5";
src = fetchFromGitHub {
repo = pname;
owner = "jmschrei";
rev = "v${version}";
sha256 = "1hbxchp3daykkf1fa79a9mh34p78bygqcf1nv4qwkql3gw0pd6l7";
};
patches = lib.optionals (lib.versionOlder version "13.6") [
# Fix compatibility with recent joblib release, will be part of the next
# pomegranate release after 0.13.5
(fetchpatch {
url = "https://github.com/jmschrei/pomegranate/commit/42d14bebc44ffd4a778b2a6430aa845591b7c3b7.patch";
sha256 = "0f9cx0fj9xkr3hch7jyrn76zjypilh5bqw734caaw6g2m49lvbff";
})
] ++ [
# Likely an upstream test bug and not a real problem:
# https://github.com/jmschrei/pomegranate/issues/939
./disable-failed-on-nextworkx-2.6.patch
] ;
propagatedBuildInputs = [ numpy scipy cython networkx joblib pyyaml ];
checkInputs = [ pandas nose ]; # as of 0.13.5, it depends explicitly on nose, rather than pytest.
meta = with lib; {
description = "Probabilistic and graphical models for Python, implemented in cython for speed";
homepage = "https://github.com/jmschrei/pomegranate";
license = licenses.mit;
maintainers = with maintainers; [ rybern ];
};
}