diff --git a/pkgs/development/python-modules/pyro-ppl/default.nix b/pkgs/development/python-modules/pyro-ppl/default.nix new file mode 100644 index 000000000000..f3bc353fe0e7 --- /dev/null +++ b/pkgs/development/python-modules/pyro-ppl/default.nix @@ -0,0 +1,38 @@ +{ buildPythonPackage, fetchPypi, lib, pytorch, contextlib2 +, graphviz, networkx, six, opt-einsum, tqdm }: +buildPythonPackage rec { + version = "0.3.0"; + pname = "pyro-ppl"; + + src = fetchPypi { + inherit version pname; + sha256 = "0shsnc5bia9k1fzmqnwwbm1x5qvac3zrq4lvyhg27rjgpcamvb9l"; + }; + + propagatedBuildInputs = [ + pytorch + contextlib2 + # TODO(tom): graphviz pulls in a lot of dependencies - make + # optional when some time to figure out how. + graphviz + networkx + six + opt-einsum + tqdm + ]; + + # pyro not shipping tests do simple smoke test instead + checkPhase = '' + python -c "import pyro" + python -c "import pyro.distributions" + python -c "import pyro.infer" + python -c "import pyro.optim" + ''; + + meta = { + description = "A Python library for probabilistic modeling and inference"; + homepage = http://pyro.ai; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ teh ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ca094e657d5b..37a5cc44ebb5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2416,6 +2416,8 @@ in { cudaSupport = pkgs.config.cudaSupport or false; }; + pyro-ppl = callPackage ../development/python-modules/pyro-ppl {}; + opt-einsum = callPackage ../development/python-modules/opt-einsum {}; pytorchWithCuda = self.pytorch.override {