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.13.0";
21 format = "pyproject";
22
23 disabled = pythonOlder "3.8";
24
25 src = fetchFromGitHub {
26 owner = "pyapp-kit";
27 repo = pname;
28 tag = "v${version}";
29 hash = "sha256-ZEN8S2sI1usXl5A1Ow1+l4BBB6qNnlVt/nvFtAX4maY=";
30 };
31
32 build-system = [
33 hatch-vcs
34 hatchling
35 ];
36
37 dependencies = [
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 pytestFlagsArray = [
52 "-W"
53 "ignore::pydantic.warnings.PydanticDeprecatedSince211"
54 ];
55
56 pythonImportsCheck = [ "psygnal" ];
57
58 meta = with lib; {
59 description = "Implementation of Qt Signals";
60 homepage = "https://github.com/pyapp-kit/psygnal";
61 changelog = "https://github.com/pyapp-kit/psygnal/blob/${src.tag}/CHANGELOG.md";
62 license = licenses.bsd3;
63 maintainers = with maintainers; [ SomeoneSerge ];
64 };
65}