1{ lib 2, buildPythonPackage 3, fetchFromGitHub 4, fetchpatch 5, keras 6, numba 7, numpy 8, pynndescent 9, pytestCheckHook 10, pythonOlder 11, scikit-learn 12, scipy 13, tensorflow 14, tqdm 15}: 16 17buildPythonPackage rec { 18 pname = "umap-learn"; 19 version = "0.5.5"; 20 format = "setuptools"; 21 22 disabled = pythonOlder "3.7"; 23 24 src = fetchFromGitHub { 25 owner = "lmcinnes"; 26 repo = "umap"; 27 rev = "refs/tags/release-${version}"; 28 hash = "sha256-bXAQjq7xBYn34tIZF96Sr5jDUii3s4FGkNx65rGKXkY="; 29 }; 30 31 propagatedBuildInputs = [ 32 numba 33 numpy 34 pynndescent 35 scikit-learn 36 scipy 37 tqdm 38 ]; 39 40 nativeCheckInputs = [ 41 keras 42 pytestCheckHook 43 tensorflow 44 ]; 45 46 preCheck = '' 47 export HOME=$TMPDIR 48 ''; 49 50 disabledTests = [ 51 # Plot functionality requires additional packages. 52 # These test also fail with 'RuntimeError: cannot cache function' error. 53 "test_umap_plot_testability" 54 "test_plot_runs_at_all" 55 56 # Flaky test. Fails with AssertionError sometimes. 57 "test_sparse_hellinger" 58 "test_densmap_trustworthiness_on_iris_supervised" 59 60 # tensorflow maybe incompatible? https://github.com/lmcinnes/umap/issues/821 61 "test_save_load" 62 ]; 63 64 meta = with lib; { 65 description = "Uniform Manifold Approximation and Projection"; 66 homepage = "https://github.com/lmcinnes/umap"; 67 license = licenses.bsd3; 68 maintainers = with maintainers; [ ]; 69 }; 70}