python312Packages.fnllm: 0.0.11 -> 0.0.12 (#364582)
[NixPkgs.git] / pkgs / development / python-modules / bellows / default.nix
blobcbfea2399312c0413b866f9e20b8aef02bbe5e35
2   lib,
3   async-timeout,
4   buildPythonPackage,
5   click,
6   click-log,
7   fetchFromGitHub,
8   pure-pcapy3,
9   pyserial-asyncio,
10   pytest-asyncio,
11   pytest-timeout,
12   pytestCheckHook,
13   pythonOlder,
14   setuptools,
15   voluptuous,
16   zigpy,
19 buildPythonPackage rec {
20   pname = "bellows";
21   version = "0.42.0";
22   pyproject = true;
24   disabled = pythonOlder "3.8";
26   src = fetchFromGitHub {
27     owner = "zigpy";
28     repo = "bellows";
29     rev = "refs/tags/${version}";
30     hash = "sha256-knWCCshsFvnMXknzpzYLCqb/ADB1Vl4RH5PBbxD5WgE=";
31   };
33   postPatch = ''
34     substituteInPlace pyproject.toml \
35       --replace-fail '"setuptools-git-versioning<2"' "" \
36       --replace-fail 'dynamic = ["version"]' 'version = "${version}"'
37   '';
39   build-system = [ setuptools ];
41   dependencies = [
42     click
43     click-log
44     pure-pcapy3
45     pyserial-asyncio
46     voluptuous
47     zigpy
48   ] ++ lib.optionals (pythonOlder "3.11") [ async-timeout ];
50   nativeCheckInputs = [
51     pytestCheckHook
52     pytest-asyncio
53     pytest-timeout
54   ];
56   pythonImportsCheck = [ "bellows" ];
58   meta = with lib; {
59     description = "Python module to implement EZSP for EmberZNet devices";
60     homepage = "https://github.com/zigpy/bellows";
61     changelog = "https://github.com/zigpy/bellows/releases/tag/${version}";
62     license = licenses.gpl3Plus;
63     maintainers = with maintainers; [ mvnetbiz ];
64     mainProgram = "bellows";
65   };