1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, numpy
5, llvmPackages
6, wurlitzer
7, pytestCheckHook
8}:
9
10buildPythonPackage rec {
11 pname = "wasserstein";
12 version = "1.1.0";
13
14 src = fetchFromGitHub {
15 owner = "pkomiske";
16 repo = "Wasserstein";
17 rev = "89c2d6279a7e0aa3b56bcc8fb7b6009420f2563e"; # https://github.com/pkomiske/Wasserstein/issues/1
18 hash = "sha256-s9en6XwvO/WPsF7/+SEmGePHZQgl7zLgu5sEn4nD9YE=";
19 };
20
21 buildInputs = [
22 llvmPackages.openmp
23 ];
24 propagatedBuildInputs = [
25 numpy
26 wurlitzer
27 ];
28
29 nativeCheckInputs = [
30 pytestCheckHook
31 ];
32 pytestFlagsArray = [
33 "wasserstein/tests"
34 ];
35 disabledTestPaths = [
36 "wasserstein/tests/test_emd.py" # requires "ot"
37 # cyclic dependency on energyflow
38 "wasserstein/tests/test_externalemdhandler.py"
39 "wasserstein/tests/test_pairwiseemd.py"
40 ];
41
42 pythonImportsCheck = [ "wasserstein" ];
43
44 meta = with lib; {
45 description = "Python/C++ library for computing Wasserstein distances efficiently";
46 homepage = "https://github.com/pkomiske/Wasserstein";
47 license = licenses.gpl3Only;
48 maintainers = with maintainers; [ veprbl ];
49 };
50}