Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, awesomeversion 3, buildPythonPackage 4, envoy-utils 5, fetchFromGitHub 6, httpx 7, lxml 8, orjson 9, poetry-core 10, pyjwt 11, pytest-asyncio 12, pytestCheckHook 13, pythonOlder 14, respx 15, syrupy 16, tenacity 17}: 18 19buildPythonPackage rec { 20 pname = "pyenphase"; 21 version = "1.11.4"; 22 format = "pyproject"; 23 24 disabled = pythonOlder "3.11"; 25 26 src = fetchFromGitHub { 27 owner = "pyenphase"; 28 repo = "pyenphase"; 29 rev = "refs/tags/v${version}"; 30 hash = "sha256-ZFK7Pyn8YsxdxPICtDXx2L+3t/xG3x2HC+F0plDbvHk="; 31 }; 32 33 postPatch = '' 34 substituteInPlace pyproject.toml \ 35 --replace " --cov=pyenphase --cov-report=term-missing:skip-covered" "" 36 ''; 37 38 nativeBuildInputs = [ 39 poetry-core 40 ]; 41 42 propagatedBuildInputs = [ 43 awesomeversion 44 envoy-utils 45 httpx 46 lxml 47 orjson 48 pyjwt 49 tenacity 50 ]; 51 52 nativeCheckInputs = [ 53 pytest-asyncio 54 pytestCheckHook 55 respx 56 syrupy 57 ]; 58 59 pythonImportsCheck = [ 60 "pyenphase" 61 ]; 62 63 meta = with lib; { 64 description = "Library to control enphase envoy"; 65 homepage = "https://github.com/pyenphase/pyenphase"; 66 changelog = "https://github.com/pyenphase/pyenphase/blob/${version}/CHANGELOG.md"; 67 license = licenses.mit; 68 maintainers = with maintainers; [ fab ]; 69 }; 70}