Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / pyenphase / default.nix
blob45e4b014db726f8668f4799c103fbd51959a4e9e
2   lib,
3   awesomeversion,
4   buildPythonPackage,
5   envoy-utils,
6   fetchFromGitHub,
7   httpx,
8   lxml,
9   orjson,
10   poetry-core,
11   pyjwt,
12   pytest-asyncio,
13   pytestCheckHook,
14   pythonOlder,
15   respx,
16   syrupy,
17   tenacity,
20 buildPythonPackage rec {
21   pname = "pyenphase";
22   version = "1.20.2";
23   pyproject = true;
25   disabled = pythonOlder "3.11";
27   src = fetchFromGitHub {
28     owner = "pyenphase";
29     repo = "pyenphase";
30     rev = "refs/tags/v${version}";
31     hash = "sha256-sjZaLqTYoXJ1cpaSuyLNAsUrACOMVah7DKaKxGkG0zE=";
32   };
34   postPatch = ''
35     substituteInPlace pyproject.toml \
36       --replace-fail " --cov=pyenphase --cov-report=term-missing:skip-covered" ""
37   '';
39   build-system = [ poetry-core ];
41   dependencies = [
42     awesomeversion
43     envoy-utils
44     httpx
45     lxml
46     orjson
47     pyjwt
48     tenacity
49   ];
51   nativeCheckInputs = [
52     pytest-asyncio
53     pytestCheckHook
54     respx
55     syrupy
56   ];
58   disabledTests = [
59     # https://github.com/pyenphase/pyenphase/issues/97
60     "test_with_7_x_firmware"
61   ];
63   pythonImportsCheck = [ "pyenphase" ];
65   meta = with lib; {
66     description = "Library to control enphase envoy";
67     homepage = "https://github.com/pyenphase/pyenphase";
68     changelog = "https://github.com/pyenphase/pyenphase/blob/v${version}/CHANGELOG.md";
69     license = licenses.mit;
70     maintainers = with maintainers; [ fab ];
71   };