diff options
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/funsor/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/funsor/default.nix | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/funsor/default.nix b/nixpkgs/pkgs/development/python-modules/funsor/default.nix new file mode 100644 index 000000000000..a5250afff471 --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/funsor/default.nix @@ -0,0 +1,78 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, makefun +, multipledispatch +, numpy +, opt-einsum +, typing-extensions +, pyro-ppl +, torch +, pandas +, pillow +, pyro-api +, pytest +, pytest-xdist +, requests +, scipy +, torchvision +}: + +buildPythonPackage rec { + pname = "funsor"; + version = "0.4.5"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "pyro-ppl"; + repo = "funsor"; + rev = "refs/tags/${version}"; + hash = "sha256-3JxnRlJN/kYstcIKt8cvDmqnp8oyoA4jkMBDVuAMa5Q="; + }; + + # Disable the tests that rely on downloading assets from the internet as well as the linting checks. + patches = [ + ./patch-makefile-for-tests.patch + ]; + + propagatedBuildInputs = [ + makefun + multipledispatch + numpy + opt-einsum + typing-extensions + ]; + + nativeCheckInputs = [ + # Backend + pyro-ppl + torch + + pandas + pillow + pyro-api + pytest + pytest-xdist + requests + scipy + torchvision + ]; + + # Use the included Makefile to run the tests. + checkPhase = '' + export FUNSOR_BACKEND=torch + make test + ''; + + pythonImportsCheck = [ "funsor" ]; + + meta = with lib; { + description = "Functional tensors for probabilistic programming"; + homepage = "https://funsor.pyro.ai"; + changelog = "https://github.com/pyro-ppl/funsor/releases/tag/${version}"; + license = licenses.asl20; + maintainers = with maintainers; [ GaetanLepage ]; + }; +} |