1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 hatch-vcs,
6 hatchling,
7 mypy-extensions,
8 numpy,
9 pydantic,
10 pytestCheckHook,
11 pythonOlder,
12 toolz,
13 typing-extensions,
14 wrapt,
15 attrs,
16}:
17
18buildPythonPackage rec {
19 pname = "psygnal";
20 version = "0.11.0";
21 format = "pyproject";
22
23 disabled = pythonOlder "3.8";
24
25 src = fetchFromGitHub {
26 owner = "pyapp-kit";
27 repo = pname;
28 rev = "refs/tags/v${version}";
29 hash = "sha256-LZkYlqplapV2jD5yV5Co8zhGdHP0dqkIAoIj1AFETbA=";
30 };
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 attrs
49 ];
50
51 pythonImportsCheck = [ "psygnal" ];
52
53 meta = with lib; {
54 description = "Implementation of Qt Signals";
55 homepage = "https://github.com/pyapp-kit/psygnal";
56 changelog = "https://github.com/pyapp-kit/psygnal/blob/v${version}/CHANGELOG.md";
57 license = licenses.bsd3;
58 maintainers = with maintainers; [ SomeoneSerge ];
59 };
60}