1{ lib
2, mkDerivationWith
3, appdirs
4, app-model
5, buildPythonPackage
6, cachey
7, certifi
8, dask
9, docstring-parser
10, fetchFromGitHub
11, imageio
12, jsonschema
13, magicgui
14, napari-console
15, napari-npe2
16, napari-svg
17, numpydoc
18, pint
19, psutil
20, pydantic
21, pyopengl
22, pillow
23, pythonOlder
24, pyyaml
25, scikit-image
26, scipy
27, setuptools-scm
28, sphinx
29, superqt
30, tifffile
31, toolz
32, tqdm
33, typing-extensions
34, vispy
35, wrapQtAppsHook
36, wrapt
37}:
38
39mkDerivationWith buildPythonPackage rec {
40 pname = "napari";
41 version = "0.4.18";
42 format = "pyproject";
43
44 disabled = pythonOlder "3.8";
45
46 src = fetchFromGitHub {
47 owner = "napari";
48 repo = pname;
49 rev = "refs/tags/v${version}";
50 hash = "sha256-xF0DYK+226MZpB050IukNvTg2iHMQAIZW0serKRJd/0=";
51 };
52
53 SETUPTOOLS_SCM_PRETEND_VERSION = version;
54
55 postPatch = ''
56 substituteInPlace setup.cfg \
57 --replace "scikit-image>=0.19.1" "scikit-image" \
58 --replace "sphinx<5" "sphinx" \
59 --replace "vispy>=0.11.0,<0.12" "vispy"
60 '';
61
62 nativeBuildInputs = [
63 setuptools-scm
64 wrapQtAppsHook
65 ];
66
67 propagatedBuildInputs = [
68 app-model
69 appdirs
70 cachey
71 certifi
72 dask
73 docstring-parser
74 imageio
75 jsonschema
76 magicgui
77 napari-console
78 napari-npe2
79 napari-svg
80 numpydoc
81 pint
82 pillow
83 psutil
84 pydantic
85 pyopengl
86 pyyaml
87 scikit-image
88 scipy
89 sphinx
90 superqt
91 tifffile
92 toolz
93 tqdm
94 typing-extensions
95 vispy
96 wrapt
97 ] ++ dask.optional-dependencies.array;
98
99 dontUseSetuptoolsCheck = true;
100
101 postFixup = ''
102 wrapQtApp $out/bin/napari
103 '';
104
105 meta = with lib; {
106 description = "A fast, interactive, multi-dimensional image viewer";
107 homepage = "https://github.com/napari/napari";
108 changelog = "https://github.com/napari/napari/releases/tag/v${version}";
109 license = licenses.bsd3;
110 maintainers = with maintainers; [ SomeoneSerge ];
111 };
112}