at master 1.7 kB view raw
1{ 2 lib, 3 aiofiles, 4 aiohttp, 5 async-timeout, 6 async-generator, 7 buildPythonPackage, 8 fetchFromGitHub, 9 pypubsub, 10 pyserial, 11 pyserial-asyncio, 12 pytestCheckHook, 13 pythonAtLeast, 14 pythonOlder, 15 setuptools, 16 voluptuous, 17}: 18 19buildPythonPackage rec { 20 pname = "pyinsteon"; 21 version = "1.6.3"; 22 pyproject = true; 23 24 disabled = pythonOlder "3.8"; 25 26 src = fetchFromGitHub { 27 owner = "pyinsteon"; 28 repo = "pyinsteon"; 29 tag = version; 30 hash = "sha256-SyhPM3NS7iJX8jwTJ4YWZ72eYLn9JT6eESekPf5eCKI="; 31 }; 32 33 build-system = [ setuptools ]; 34 35 dependencies = [ 36 aiofiles 37 aiohttp 38 async-timeout 39 pypubsub 40 pyserial 41 pyserial-asyncio 42 voluptuous 43 ]; 44 45 nativeCheckInputs = [ 46 async-generator 47 pytestCheckHook 48 ]; 49 50 disabledTests = [ 51 # RuntimeError: BUG: Dead Listener called, still subscribed! 52 "test_linking_with_i1_device" 53 ]; 54 55 disabledTestPaths = lib.optionals (pythonAtLeast "3.12") [ 56 # Tests are blocking or failing 57 "tests/test_handlers/" 58 ]; 59 60 pythonImportsCheck = [ "pyinsteon" ]; 61 62 meta = with lib; { 63 description = "Python library to support Insteon home automation projects"; 64 longDescription = '' 65 This is a Python package to interface with an Insteon Modem. It has been 66 tested to work with most USB or RS-232 serial based devices such as the 67 2413U, 2412S, 2448A7 and Hub models 2242 and 2245. 68 ''; 69 homepage = "https://github.com/pyinsteon/pyinsteon"; 70 changelog = "https://github.com/pyinsteon/pyinsteon/releases/tag/${version}"; 71 license = with licenses; [ mit ]; 72 maintainers = with maintainers; [ fab ]; 73 mainProgram = "insteon_tools"; 74 }; 75}