Merge pull request #151265 from SomeoneSerge/napari

Napari

authored by Guillaume Girol and committed by GitHub 4838bb1f fdc37848

+380
+7
maintainers/maintainer-list.nix
··· 11058 11058 githubId = 26806; 11059 11059 name = "Scott Olson"; 11060 11060 }; 11061 + SomeoneSerge = { 11062 + email = "sergei.kozlukov@aalto.fi"; 11063 + matrix = "@ss:someonex.net"; 11064 + github = "SomeoneSerge"; 11065 + githubId = 9720532; 11066 + name = "Sergei K"; 11067 + }; 11061 11068 sondr3 = { 11062 11069 email = "nilsen.sondre@gmail.com"; 11063 11070 github = "sondr3";
+30
pkgs/development/python-modules/cachey/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , typing-extensions 5 + , heapdict 6 + , pytestCheckHook 7 + , pythonOlder 8 + }: buildPythonPackage rec { 9 + pname = "cachey"; 10 + version = "0.2.1"; 11 + format = "setuptools"; 12 + disabled = pythonOlder "3.6"; 13 + src = fetchFromGitHub { 14 + owner = "dask"; 15 + repo = pname; 16 + rev = version; 17 + sha256 = "sha256-5USmuufrrWtmgibpfkjo9NtgN30hdl8plJfythmxM4s="; 18 + }; 19 + propagatedBuildInputs = [ typing-extensions heapdict ]; 20 + checkInputs = [ pytestCheckHook ]; 21 + pythonImportsCheck = [ 22 + "cachey" 23 + ]; 24 + meta = with lib; { 25 + description = "Caching based on computation time and storage space"; 26 + homepage = "https://github.com/dask/cachey/"; 27 + license = licenses.bsd3; 28 + maintainers = with maintainers; [ SomeoneSerge ]; 29 + }; 30 + }
+27
pkgs/development/python-modules/docstring-parser/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , setuptools 5 + , setuptools-scm 6 + , wheel 7 + , pytest 8 + }: buildPythonPackage rec { 9 + pname = "docstring-parser"; 10 + version = "0.12"; 11 + src = fetchFromGitHub { 12 + owner = "rr-"; 13 + repo = "docstring_parser"; 14 + rev = "${version}"; 15 + sha256 = "sha256-hQuPJQrGvDs4dJrMLSR4sSnqy45xrF2ufinBG+azuCg="; 16 + }; 17 + nativeBuildInputs = [ setuptools-scm ]; 18 + propagatedBuildInputs = [ pytest setuptools wheel ]; 19 + SETUPTOOLS_SCM_PRETEND_VERSION = version; 20 + 21 + meta = with lib; { 22 + description = "Parse Python docstrings in various flavors. "; 23 + homepage = "https://github.com/rr-/docstring_parser"; 24 + license = licenses.mit; 25 + maintainers = with maintainers; [ SomeoneSerge ]; 26 + }; 27 + }
+33
pkgs/development/python-modules/magicgui/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , setuptools-scm 5 + , pytestCheckHook 6 + , pytest-mypy-plugins 7 + , typing-extensions 8 + , qtpy 9 + , pyside2 10 + , psygnal 11 + , docstring-parser 12 + }: buildPythonPackage rec { 13 + pname = "magicgui"; 14 + version = "0.3.0"; 15 + src = fetchFromGitHub { 16 + owner = "napari"; 17 + repo = "magicgui"; 18 + rev = "v${version}"; 19 + sha256 = "sha256-DvL1szk2RoCrpisjp0BVNL6qFZtYc2oYDenX59Cxbug="; 20 + }; 21 + nativeBuildInputs = [ setuptools-scm ]; 22 + propagatedBuildInputs = [ typing-extensions qtpy pyside2 psygnal docstring-parser ]; 23 + checkInputs = [ pytestCheckHook pytest-mypy-plugins ]; 24 + doCheck = false; # Reports "Fatal Python error" 25 + SETUPTOOLS_SCM_PRETEND_VERSION = version; 26 + 27 + meta = with lib; { 28 + description = "Build GUIs from python functions, using magic. (napari/magicgui)"; 29 + homepage = "https://github.com/napari/magicgui"; 30 + license = licenses.mit; 31 + maintainers = with maintainers; [ SomeoneSerge ]; 32 + }; 33 + }
+33
pkgs/development/python-modules/napari-console/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , setuptools-scm 5 + , pytestCheckHook 6 + , pytest 7 + , ipython 8 + , ipykernel 9 + , qtconsole 10 + , napari-plugin-engine 11 + , imageio 12 + }: buildPythonPackage rec { 13 + pname = "napari-console"; 14 + version = "0.0.4"; 15 + src = fetchFromGitHub { 16 + owner = "napari"; 17 + repo = pname; 18 + rev = "v${version}"; 19 + sha256 = "sha256-aVdYOzkZ+dqB680oDjNCg6quXU+QgUZI09E/MSTagyA="; 20 + }; 21 + nativeBuildInputs = [ setuptools-scm ]; 22 + # setup.py somehow requires pytest 23 + propagatedBuildInputs = [ pytest ipython ipykernel napari-plugin-engine imageio qtconsole ]; 24 + chechInputs = [ pytestCheckHook ]; 25 + SETUPTOOLS_SCM_PRETEND_VERSION = version; 26 + 27 + meta = with lib; { 28 + description = "A plugin that adds a console to napari"; 29 + homepage = "https://github.com/napari/napari-console"; 30 + license = licenses.bsd3; 31 + maintainers = with maintainers; [ SomeoneSerge ]; 32 + }; 33 + }
+26
pkgs/development/python-modules/napari-plugin-engine/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , setuptools-scm 5 + , pytestCheckHook 6 + }: buildPythonPackage rec { 7 + pname = "napari-plugin-engine"; 8 + version = "0.2.0"; 9 + src = fetchFromGitHub { 10 + owner = "napari"; 11 + repo = pname; 12 + rev = "v${version}"; 13 + sha256 = "sha256-cKpCAEYYRq3UPje7REjzhEe1J9mmrtXs8TBnxWukcNE="; 14 + }; 15 + nativeBuildInputs = [ setuptools-scm ]; 16 + checkInputs = [ pytestCheckHook ]; 17 + doCheck = false; 18 + SETUPTOOLS_SCM_PRETEND_VERSION = version; 19 + 20 + meta = with lib; { 21 + description = "A fork of pluggy for napari - plugin management package"; 22 + homepage = "https://github.com/napari/napari-plugin-engine"; 23 + license = licenses.mit; 24 + maintainers = with maintainers; [ SomeoneSerge ]; 25 + }; 26 + }
+30
pkgs/development/python-modules/napari-svg/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , setuptools-scm 5 + , pytestCheckHook 6 + , vispy 7 + , napari-plugin-engine 8 + , imageio 9 + }: buildPythonPackage rec { 10 + pname = "napari-svg"; 11 + version = "0.1.5"; 12 + src = fetchFromGitHub { 13 + owner = "napari"; 14 + repo = pname; 15 + rev = "v${version}"; 16 + sha256 = "sha256-20NLi6JTugP+hxqF2AnhSkuvhkGGbeG+tT3M2SZbtRc="; 17 + }; 18 + nativeBuildInputs = [ setuptools-scm ]; 19 + propagatedBuildInputs = [ vispy napari-plugin-engine imageio ]; 20 + checkInputs = [ pytestCheckHook ]; 21 + doCheck = false; # Circular dependency: napari 22 + SETUPTOOLS_SCM_PRETEND_VERSION = version; 23 + 24 + meta = with lib; { 25 + description = "A plugin for writing svg files from napari"; 26 + homepage = "https://github.com/napari/napari-svg"; 27 + license = licenses.bsd3; 28 + maintainers = with maintainers; [ SomeoneSerge ]; 29 + }; 30 + }
+75
pkgs/development/python-modules/napari/default.nix
··· 1 + { lib 2 + , mkDerivationWith 3 + , buildPythonPackage 4 + , fetchFromGitHub 5 + , setuptools-scm 6 + , superqt 7 + , typing-extensions 8 + , tifffile 9 + , napari-plugin-engine 10 + , pint 11 + , pyyaml 12 + , numpydoc 13 + , dask 14 + , magicgui 15 + , docstring-parser 16 + , appdirs 17 + , imageio 18 + , pyopengl 19 + , cachey 20 + , napari-svg 21 + , psutil 22 + , napari-console 23 + , wrapt 24 + , pydantic 25 + , tqdm 26 + , jsonschema 27 + , scipy 28 + , wrapQtAppsHook 29 + }: mkDerivationWith buildPythonPackage rec { 30 + pname = "napari"; 31 + version = "0.4.12"; 32 + src = fetchFromGitHub { 33 + owner = "napari"; 34 + repo = pname; 35 + rev = "v${version}"; 36 + sha256 = "sha256-0QSI0mgDjF70/X58fE7uWwlBUCGY5gsvbCm4oJkp2Yk="; 37 + }; 38 + nativeBuildInputs = [ setuptools-scm wrapQtAppsHook ]; 39 + propagatedBuildInputs = [ 40 + napari-plugin-engine 41 + cachey 42 + napari-svg 43 + napari-console 44 + superqt 45 + magicgui 46 + typing-extensions 47 + tifffile 48 + pint 49 + pyyaml 50 + numpydoc 51 + dask 52 + docstring-parser 53 + appdirs 54 + imageio 55 + pyopengl 56 + psutil 57 + wrapt 58 + pydantic 59 + tqdm 60 + jsonschema 61 + scipy 62 + ]; 63 + SETUPTOOLS_SCM_PRETEND_VERSION = version; 64 + dontUseSetuptoolsCheck = true; 65 + postFixup = '' 66 + wrapQtApp $out/bin/napari 67 + ''; 68 + 69 + meta = with lib; { 70 + description = "A fast, interactive, multi-dimensional image viewer for python"; 71 + homepage = "https://github.com/napari/napari"; 72 + license = licenses.bsd3; 73 + maintainers = with maintainers; [ SomeoneSerge ]; 74 + }; 75 + }
+35
pkgs/development/python-modules/psygnal/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , wheel 5 + , setuptools 6 + , setuptools-scm 7 + , pytestCheckHook 8 + , pytest-mypy-plugins 9 + , pytest-cov 10 + , pytest 11 + , mypy 12 + , typing-extensions 13 + }: buildPythonPackage rec 14 + { 15 + pname = "psygnal"; 16 + version = "0.2.0"; 17 + src = fetchFromGitHub { 18 + owner = "tlambert03"; 19 + repo = pname; 20 + rev = "v${version}"; 21 + sha256 = "sha256-SiG2ywNEw3aNrRXyEMFTnvHKtKowO8yqoCaNI8PT4/Y="; 22 + }; 23 + buildInputs = [ setuptools-scm ]; 24 + propagatedBuildInputs = [ typing-extensions ]; 25 + checkInputs = [ pytestCheckHook pytest-cov pytest-mypy-plugins ]; 26 + doCheck = false; # mypy checks are failing 27 + SETUPTOOLS_SCM_PRETEND_VERSION = version; 28 + 29 + meta = with lib; { 30 + description = "Pure python implementation of Qt Signals"; 31 + homepage = "https://github.com/tlambert03/psygnal"; 32 + license = licenses.bsd3; 33 + maintainers = with maintainers; [ SomeoneSerge ]; 34 + }; 35 + }
+29
pkgs/development/python-modules/pytest-mypy-plugins/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , chevron 5 + , pyyaml 6 + , mypy 7 + , pytest 8 + , decorator 9 + , regex 10 + }: 11 + 12 + buildPythonPackage rec { 13 + pname = "pytest-mypy-plugins"; 14 + version = "1.9.2"; 15 + src = fetchFromGitHub { 16 + owner = "typeddjango"; 17 + repo = pname; 18 + rev = version; 19 + sha256 = "sha256-Me5P4Q2M+gGEWlUVgQ0L048rVUOlUzVMgZZcqZPeE4Q="; 20 + }; 21 + propagatedBuildInputs = [ chevron pyyaml mypy pytest decorator regex ]; 22 + 23 + meta = with lib; { 24 + description = "pytest plugin for testing mypy types, stubs, and plugins"; 25 + homepage = "https://github.com/TypedDjango/pytest-mypy-plugins"; 26 + license = licenses.mit; 27 + maintainers = with maintainers; [ SomeoneSerge ]; 28 + }; 29 + }
+31
pkgs/development/python-modules/superqt/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , setuptools-scm 5 + , pyqt5 6 + , typing-extensions 7 + , pytest 8 + , pytestCheckHook 9 + }: buildPythonPackage rec { 10 + pname = "superqt"; 11 + version = "0.2.5-1"; 12 + src = fetchFromGitHub { 13 + owner = "napari"; 14 + repo = pname; 15 + rev = "v${version}"; 16 + sha256 = "sha256-rkTiCJ8mIogS9SDmLPiaAyhhuBx3kk6rXjCc19zbwiM="; 17 + }; 18 + format = "pyproject"; 19 + nativeBuildInputs = [ setuptools-scm ]; 20 + propagatedBuildInputs = [ pyqt5 typing-extensions ]; 21 + checkInputs = [ pytestCheckHook pytest ]; 22 + doCheck = false; # Segfaults... 23 + SETUPTOOLS_SCM_PRETEND_VERSION = version; 24 + 25 + meta = with lib; { 26 + description = "Missing widgets and components for Qt-python (napari/superqt)"; 27 + homepage = "https://github.com/napari/superqt"; 28 + license = licenses.bsd3; 29 + maintainers = with maintainers; [ SomeoneSerge ]; 30 + }; 31 + }
+2
pkgs/top-level/all-packages.nix
··· 30121 30121 30122 30122 masari = callPackage ../applications/blockchains/masari { boost = boost165; }; 30123 30123 30124 + napari = with python3Packages; toPythonApplication napari; 30125 + 30124 30126 nano-wallet = libsForQt5.callPackage ../applications/blockchains/nano-wallet { 30125 30127 boost = boost172; 30126 30128 };
+22
pkgs/top-level/python-packages.nix
··· 1396 1396 1397 1397 cachetools = callPackage ../development/python-modules/cachetools { }; 1398 1398 1399 + cachey = callPackage ../development/python-modules/cachey { }; 1400 + 1399 1401 cachy = callPackage ../development/python-modules/cachy { }; 1400 1402 1401 1403 cadquery = callPackage ../development/python-modules/cadquery { ··· 2350 2352 docloud = callPackage ../development/python-modules/docloud { }; 2351 2353 2352 2354 docstring-to-markdown = callPackage ../development/python-modules/docstring-to-markdown { }; 2355 + 2356 + docstring-parser = callPackage ../development/python-modules/docstring-parser { }; 2353 2357 2354 2358 docopt = callPackage ../development/python-modules/docopt { }; 2355 2359 ··· 4731 4735 4732 4736 magic = callPackage ../development/python-modules/magic { }; 4733 4737 4738 + magicgui = callPackage ../development/python-modules/magicgui { }; 4739 + 4734 4740 magic-wormhole = callPackage ../development/python-modules/magic-wormhole { }; 4735 4741 4736 4742 magic-wormhole-mailbox-server = callPackage ../development/python-modules/magic-wormhole-mailbox-server { }; ··· 5204 5210 5205 5211 nanotime = callPackage ../development/python-modules/nanotime { }; 5206 5212 5213 + napari = callPackage ../development/python-modules/napari { 5214 + inherit (pkgs.libsForQt5) mkDerivationWith wrapQtAppsHook; 5215 + }; 5216 + 5217 + napari-console = callPackage ../development/python-modules/napari-console { }; 5218 + 5219 + napari-plugin-engine = callPackage ../development/python-modules/napari-plugin-engine { }; 5220 + 5221 + napari-svg = callPackage ../development/python-modules/napari-svg { }; 5222 + 5207 5223 nassl = callPackage ../development/python-modules/nassl { }; 5208 5224 5209 5225 nats-python = callPackage ../development/python-modules/nats-python { }; ··· 6289 6305 6290 6306 psycopg2cffi = callPackage ../development/python-modules/psycopg2cffi { }; 6291 6307 6308 + psygnal = callPackage ../development/python-modules/psygnal { }; 6309 + 6292 6310 ptable = callPackage ../development/python-modules/ptable { }; 6293 6311 6294 6312 ptest = callPackage ../development/python-modules/ptest { }; ··· 7638 7656 pytest-mpl = callPackage ../development/python-modules/pytest-mpl { }; 7639 7657 7640 7658 pytest-mypy = callPackage ../development/python-modules/pytest-mypy { }; 7659 + 7660 + pytest-mypy-plugins = callPackage ../development/python-modules/pytest-mypy-plugins { }; 7641 7661 7642 7662 pytest-openfiles = callPackage ../development/python-modules/pytest-openfiles { }; 7643 7663 ··· 9368 9388 supervise_api = callPackage ../development/python-modules/supervise_api { }; 9369 9389 9370 9390 supervisor = callPackage ../development/python-modules/supervisor { }; 9391 + 9392 + superqt = callPackage ../development/python-modules/superqt { }; 9371 9393 9372 9394 sure = callPackage ../development/python-modules/sure { }; 9373 9395