1{ 2 lib, 3 aiohttp, 4 aresponses, 5 buildPythonPackage, 6 certifi, 7 fetchFromGitHub, 8 poetry-core, 9 pydantic, 10 pytest-aiohttp, 11 pytest-asyncio, 12 pytestCheckHook, 13 pythonOlder, 14}: 15 16buildPythonPackage rec { 17 pname = "aiopurpleair"; 18 version = "2025.08.1"; 19 pyproject = true; 20 21 disabled = pythonOlder "3.9"; 22 23 src = fetchFromGitHub { 24 owner = "bachya"; 25 repo = "aiopurpleair"; 26 tag = version; 27 hash = "sha256-VmKIIgfZFk9z8WORDHA4ibL4FZchiRrT6L0rCkxosoc="; 28 }; 29 30 build-system = [ poetry-core ]; 31 32 dependencies = [ 33 aiohttp 34 pydantic 35 certifi 36 ]; 37 38 __darwinAllowLocalNetworking = true; 39 40 nativeCheckInputs = [ 41 aresponses 42 pytest-aiohttp 43 pytest-asyncio 44 pytestCheckHook 45 ]; 46 47 disabledTestPaths = [ 48 # Ignore the examples directory as the files are prefixed with test_. 49 "examples/" 50 ]; 51 52 pythonImportsCheck = [ "aiopurpleair" ]; 53 54 meta = with lib; { 55 description = "Python library for interacting with the PurpleAir API"; 56 homepage = "https://github.com/bachya/aiopurpleair"; 57 changelog = "https://github.com/bachya/aiopurpleair/releases/tag/${src.tag}"; 58 license = licenses.mit; 59 maintainers = with maintainers; [ fab ]; 60 }; 61}