1{ lib 2, aiohttp 3, aresponses 4, buildPythonPackage 5, fetchFromGitHub 6, fetchpatch 7, poetry-core 8, pytest-aiohttp 9, pytest-asyncio 10, pytestCheckHook 11, pythonOlder 12}: 13 14buildPythonPackage rec { 15 pname = "aiowatttime"; 16 version = "2023.08.0"; 17 format = "pyproject"; 18 19 disabled = pythonOlder "3.8"; 20 21 src = fetchFromGitHub { 22 owner = "bachya"; 23 repo = pname; 24 rev = "refs/tags/${version}"; 25 hash = "sha256-/ulDImbLOTcoA4iH8e65A01aqqnCLn+01DWuM/4H4p4="; 26 }; 27 28 patches = [ 29 # This patch removes references to setuptools and wheel that are no longer 30 # necessary and changes poetry to poetry-core, so that we don't need to add 31 # unnecessary nativeBuildInputs. 32 # 33 # https://github.com/bachya/aiowatttime/pull/206 34 # 35 (fetchpatch { 36 name = "clean-up-build-dependencies.patch"; 37 url = "https://github.com/bachya/aiowatttime/commit/c3cd53f794964c5435148caacd04f4e0ab8f550a.patch"; 38 hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM="; 39 }) 40 ]; 41 42 nativeBuildInputs = [ 43 poetry-core 44 ]; 45 46 propagatedBuildInputs = [ 47 aiohttp 48 ]; 49 50 __darwinAllowLocalNetworking = true; 51 52 nativeCheckInputs = [ 53 aresponses 54 pytest-aiohttp 55 pytest-asyncio 56 pytestCheckHook 57 ]; 58 59 # Ignore the examples directory as the files are prefixed with test_ 60 disabledTestPaths = [ "examples/" ]; 61 62 pythonImportsCheck = [ "aiowatttime" ]; 63 64 meta = with lib; { 65 description = "Python library for interacting with WattTime"; 66 homepage = "https://github.com/bachya/aiowatttime"; 67 license = with licenses; [ mit ]; 68 maintainers = with maintainers; [ fab ]; 69 }; 70}