1{ 2 lib, 3 buildPythonPackage, 4 fetchPypi, 5 graphviz, 6 jupyter, 7 matplotlib, 8 networkx, 9 opt-einsum, 10 pandas, 11 pillow, 12 pyro-api, 13 pythonOlder, 14 torch, 15 scikit-learn, 16 seaborn, 17 setuptools, 18 torchvision, 19 tqdm, 20 wget, 21}: 22 23buildPythonPackage rec { 24 pname = "pyro-ppl"; 25 version = "1.9.0"; 26 pyproject = true; 27 28 disabled = pythonOlder "3.8"; 29 30 src = fetchPypi { 31 inherit version pname; 32 hash = "sha256-QfTABRWVaCgPvFEWSJYKmKKxpBACfYvQpDIgrJsQLN8="; 33 }; 34 35 nativeBuildInputs = [ setuptools ]; 36 37 propagatedBuildInputs = [ 38 pyro-api 39 torch 40 networkx 41 opt-einsum 42 tqdm 43 ]; 44 45 passthru.optional-dependencies = { 46 extras = [ 47 graphviz 48 jupyter 49 # lap 50 matplotlib 51 pandas 52 pillow 53 scikit-learn 54 seaborn 55 torchvision 56 # visdom 57 wget 58 ]; 59 }; 60 61 # pyro not shipping tests do simple smoke test instead 62 doCheck = false; 63 64 pythonImportsCheck = [ 65 "pyro" 66 "pyro.distributions" 67 "pyro.infer" 68 "pyro.optim" 69 ]; 70 71 meta = with lib; { 72 description = "Library for probabilistic modeling and inference"; 73 homepage = "http://pyro.ai"; 74 changelog = "https://github.com/pyro-ppl/pyro/releases/tag/${version}"; 75 license = licenses.asl20; 76 maintainers = with maintainers; [ 77 teh 78 georgewhewell 79 ]; 80 }; 81}