1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, setuptools-scm
5, pytestCheckHook
6, typing-extensions
7, qtpy
8, pyside2
9, psygnal
10, docstring-parser
11, napari # a reverse-dependency, for tests
12}: buildPythonPackage rec {
13 pname = "magicgui";
14 version = "0.5.1";
15
16 format = "pyproject";
17
18 src = fetchFromGitHub {
19 owner = "napari";
20 repo = "magicgui";
21 rev = "refs/tags/v${version}";
22 hash = "sha256-fVfBQaaT8/lUGqZRXjOPgvkC01Izb8Sxqn7RCqnW9bo=";
23 };
24
25 SETUPTOOLS_SCM_PRETEND_VERSION = version;
26
27 nativeBuildInputs = [ setuptools-scm ];
28 propagatedBuildInputs = [ typing-extensions qtpy pyside2 psygnal docstring-parser ];
29 nativeCheckInputs = [ pytestCheckHook ];
30
31 doCheck = false; # Reports "Fatal Python error"
32
33 passthru.tests = { inherit napari; };
34
35 meta = with lib; {
36 description = "Build GUIs from python functions, using magic. (napari/magicgui)";
37 homepage = "https://github.com/napari/magicgui";
38 license = licenses.mit;
39 maintainers = with maintainers; [ SomeoneSerge ];
40 };
41}