diff options
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/funsor')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/funsor/default.nix | 78 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/funsor/patch-makefile-for-tests.patch | 27 |
2 files changed, 105 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 ]; + }; +} diff --git a/nixpkgs/pkgs/development/python-modules/funsor/patch-makefile-for-tests.patch b/nixpkgs/pkgs/development/python-modules/funsor/patch-makefile-for-tests.patch new file mode 100644 index 000000000000..ca59bf75bb7d --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/funsor/patch-makefile-for-tests.patch @@ -0,0 +1,27 @@ +diff --git a/Makefile b/Makefile +index d4b862c..755dfe3 100644 +--- a/Makefile ++++ b/Makefile +@@ -23,7 +23,7 @@ format: license FORCE + black . + isort . + +-test: lint FORCE ++test: FORCE + ifeq (${FUNSOR_BACKEND}, torch) + pytest -v -n auto test/ + FUNSOR_DEBUG=1 pytest -v test/test_gaussian.py +@@ -45,10 +45,10 @@ ifeq (${FUNSOR_BACKEND}, torch) + python examples/slds.py -n 2 -t 50 + python examples/pcfg.py --size 3 + python examples/talbot.py -n 2 +- python examples/vae.py --smoke-test ++ # python examples/vae.py --smoke-test + python examples/eeg_slds.py --num-steps 2 --fon --test +- python examples/mixed_hmm/experiment.py -d seal -i discrete -g discrete -zi --smoke +- python examples/mixed_hmm/experiment.py -d seal -i discrete -g discrete -zi --parallel --smoke ++ # python examples/mixed_hmm/experiment.py -d seal -i discrete -g discrete -zi --smoke ++ # python examples/mixed_hmm/experiment.py -d seal -i discrete -g discrete -zi --parallel --smoke + python examples/sensor.py --seed=0 --num-frames=2 -n 1 + python examples/adam.py --num-steps=21 + @echo PASS |