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