at master 1.5 kB view raw
1{ 2 lib, 3 aiohttp-retry, 4 buildPythonPackage, 5 fetchFromGitHub, 6 freezegun, 7 ical, 8 mashumaro, 9 parameterized, 10 pycryptodome, 11 pytest-aiohttp, 12 pytest-asyncio_0, 13 pytest-cov-stub, 14 pytest-golden, 15 pytest-mock, 16 pytestCheckHook, 17 python-dateutil, 18 pythonOlder, 19 pyyaml, 20 requests, 21 requests-mock, 22 responses, 23 setuptools, 24}: 25 26buildPythonPackage rec { 27 pname = "pyrainbird"; 28 version = "6.0.2"; 29 pyproject = true; 30 31 disabled = pythonOlder "3.10"; 32 33 src = fetchFromGitHub { 34 owner = "allenporter"; 35 repo = "pyrainbird"; 36 tag = version; 37 hash = "sha256-CcoZZ60PItqy0bCc36WfyNF9Fc28aHwQ6hhnY41lBNg="; 38 }; 39 40 build-system = [ setuptools ]; 41 42 dependencies = [ 43 aiohttp-retry 44 ical 45 mashumaro 46 pycryptodome 47 python-dateutil 48 pyyaml 49 requests 50 ]; 51 52 __darwinAllowLocalNetworking = true; 53 54 nativeCheckInputs = [ 55 freezegun 56 parameterized 57 (pytest-aiohttp.override { pytest-asyncio = pytest-asyncio_0; }) 58 pytest-asyncio_0 59 pytest-cov-stub 60 pytest-golden 61 pytest-mock 62 pytestCheckHook 63 requests-mock 64 responses 65 ]; 66 67 pythonImportsCheck = [ "pyrainbird" ]; 68 69 meta = with lib; { 70 description = "Module to interact with Rainbird controllers"; 71 homepage = "https://github.com/allenporter/pyrainbird"; 72 changelog = "https://github.com/allenporter/pyrainbird/releases/tag/${version}"; 73 license = licenses.mit; 74 maintainers = with maintainers; [ fab ]; 75 }; 76}