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