1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5# build inputs
6, networkx
7, numpy
8, scipy
9, scikit-learn
10, pandas
11, pyparsing
12, torch
13, statsmodels
14, tqdm
15, joblib
16, opt-einsum
17# check inputs
18, pytestCheckHook
19, pytest-cov
20, coverage
21, mock
22, black
23}:
24let
25 pname = "pgmpy";
26 version = "0.1.24";
27 # optional-dependencies = {
28 # all = [ daft ];
29 # };
30in
31buildPythonPackage {
32 inherit pname version;
33 format = "setuptools";
34
35 disabled = pythonOlder "3.7";
36
37 src = fetchFromGitHub {
38 owner = "pgmpy";
39 repo = pname;
40 rev = "refs/tags/v${version}";
41 hash = "sha256-IMlo4SBxO9sPoZl0rQGc3FcvvIN/V/WZz+1BD7aBfzs=";
42 };
43
44 propagatedBuildInputs = [
45 networkx
46 numpy
47 scipy
48 scikit-learn
49 pandas
50 pyparsing
51 torch
52 statsmodels
53 tqdm
54 joblib
55 opt-einsum
56 ];
57
58 disabledTests = [
59 "test_to_daft" # requires optional dependency daft
60 ];
61
62 nativeCheckInputs = [
63 pytestCheckHook
64 # xdoctest
65 pytest-cov
66 coverage
67 mock
68 black
69 ];
70
71 meta = with lib; {
72 description = "Python Library for learning (Structure and Parameter), inference (Probabilistic and Causal), and simulations in Bayesian Networks";
73 homepage = "https://github.com/pgmpy/pgmpy";
74 changelog = "https://github.com/pgmpy/pgmpy/releases/tag/v${version}";
75 license = licenses.mit;
76 maintainers = with maintainers; [ happysalada ];
77 };
78}