1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, hatch-vcs
5, hatchling
6, mypy-extensions
7, numpy
8, pydantic
9, pytestCheckHook
10, pythonOlder
11, toolz
12, typing-extensions
13, wrapt
14}:
15
16buildPythonPackage rec {
17 pname = "psygnal";
18 version = "0.9.5";
19 format = "pyproject";
20
21 disabled = pythonOlder "3.8";
22
23 src = fetchFromGitHub {
24 owner = "pyapp-kit";
25 repo = pname;
26 rev = "refs/tags/v${version}";
27 hash = "sha256-eDfGWmTKJrkkzRy1I3wl3WYPCxtPHSRzqAoOiO7QQ9Y=";
28 };
29
30 SETUPTOOLS_SCM_PRETEND_VERSION = version;
31
32 buildInputs = [
33 hatch-vcs
34 hatchling
35 ];
36
37 propagatedBuildInputs = [
38 mypy-extensions
39 typing-extensions
40 ];
41
42 nativeCheckInputs = [
43 numpy
44 pydantic
45 pytestCheckHook
46 toolz
47 wrapt
48 ];
49
50 pythonImportsCheck = [
51 "psygnal"
52 ];
53
54 meta = with lib; {
55 description = "Implementation of Qt Signals";
56 homepage = "https://github.com/pyapp-kit/psygnal";
57 changelog = "https://github.com/pyapp-kit/psygnal/blob/v${version}/CHANGELOG.md";
58 license = licenses.bsd3;
59 maintainers = with maintainers; [ SomeoneSerge ];
60 };
61}