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