1{ 2 lib, 3 aiohttp, 4 aresponses, 5 buildPythonPackage, 6 fetchFromGitHub, 7 freezegun, 8 poetry-core, 9 pytest-asyncio, 10 pytestCheckHook, 11 pythonOlder, 12}: 13 14buildPythonPackage rec { 15 pname = "aiorecollect"; 16 version = "2023.12.0"; 17 format = "pyproject"; 18 19 disabled = pythonOlder "3.9"; 20 21 src = fetchFromGitHub { 22 owner = "bachya"; 23 repo = "aiorecollect"; 24 tag = version; 25 hash = "sha256-Rj0+r7eERLY5VzmuDQH/TeVLfmvmKwPqcvd1b/To0Ts="; 26 }; 27 28 postPatch = '' 29 # this is not used directly by the project 30 sed -i '/certifi =/d' pyproject.toml 31 ''; 32 33 nativeBuildInputs = [ poetry-core ]; 34 35 propagatedBuildInputs = [ aiohttp ]; 36 37 __darwinAllowLocalNetworking = true; 38 39 nativeCheckInputs = [ 40 aresponses 41 freezegun 42 pytest-asyncio 43 pytestCheckHook 44 ]; 45 46 disabledTestPaths = [ 47 # Ignore the examples directory as the files are prefixed with test_. 48 "examples/" 49 ]; 50 51 pythonImportsCheck = [ "aiorecollect" ]; 52 53 meta = with lib; { 54 description = "Python library for the Recollect Waste API"; 55 longDescription = '' 56 aiorecollect is a Python asyncio-based library for the ReCollect 57 Waste API. It allows users to programmatically retrieve schedules 58 for waste removal in their area, including trash, recycling, compost 59 and more. 60 ''; 61 homepage = "https://github.com/bachya/aiorecollect"; 62 changelog = "https://github.com/bachya/aiorecollect/releases/tag/${version}"; 63 license = with licenses; [ mit ]; 64 maintainers = with maintainers; [ fab ]; 65 }; 66}