diff --git a/pkgs/development/python-modules/pyssim/default.nix b/pkgs/development/python-modules/pyssim/default.nix new file mode 100644 index 000000000000..38dddda9b2e5 --- /dev/null +++ b/pkgs/development/python-modules/pyssim/default.nix @@ -0,0 +1,32 @@ +{ stdenv, buildPythonPackage, fetchFromGitHub, numpy, scipy, pillow }: + +buildPythonPackage rec { + pname = "pyssim"; + version = "0.4"; + + propagatedBuildInputs = [ numpy scipy pillow ]; + + # PyPI tarball doesn't contain test images so let's use GitHub + src = fetchFromGitHub { + owner = "jterrace"; + repo = pname; + rev = "v${version}"; + sha256 = "0rnj3xdhma1fc0fg0jjsdy74ar0hgr3w8kygbnijqjdms7m3asqm"; + }; + + # Tests are copied from .travis.yml + checkPhase = '' + $out/bin/pyssim test-images/test1-1.png test-images/test1-1.png | grep 1 + $out/bin/pyssim test-images/test1-1.png test-images/test1-2.png | grep 0.998 + $out/bin/pyssim test-images/test1-1.png "test-images/*" | grep -E " 1| 0.998| 0.672| 0.648" | wc -l | grep 4 + $out/bin/pyssim --cw --width 128 --height 128 test-images/test1-1.png test-images/test1-1.png | grep 1 + $out/bin/pyssim --cw --width 128 --height 128 test-images/test3-orig.jpg test-images/test3-rot.jpg | grep 0.938 + ''; + + meta = with stdenv.lib; { + description = "Module for computing Structured Similarity Image Metric (SSIM) in Python"; + homepage = https://github.com/jterrace/pyssim; + license = licenses.mit; + maintainers = with maintainers; [ jluttine ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3a270d971d39..4a2d2c4c4290 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -611,6 +611,8 @@ in { slurm = pkgs.slurm; }; + pyssim = callPackage ../development/python-modules/pyssim { }; + pystache = callPackage ../development/python-modules/pystache { }; pytesseract = callPackage ../development/python-modules/pytesseract { };