Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / pyinsteon / default.nix
blob22242ee62bf49bc3bbcf87c3373c270eef180c57
1 { lib
2 , aiofiles
3 , aiohttp
4 , async-timeout
5 , async-generator
6 , buildPythonPackage
7 , fetchFromGitHub
8 , pypubsub
9 , pyserial
10 , pyserial-asyncio
11 , pytestCheckHook
12 , pythonAtLeast
13 , pythonOlder
14 , setuptools
15 , voluptuous
18 buildPythonPackage rec {
19   pname = "pyinsteon";
20   version = "1.5.3";
21   pyproject = true;
23   disabled = pythonOlder "3.8";
25   src = fetchFromGitHub {
26     owner = "pyinsteon";
27     repo = "pyinsteon";
28     rev = "refs/tags/${version}";
29     hash = "sha256-9d6QbekUv63sjKdK+ZogYOkGfFXVW+JB6ITHnehLwtM=";
30   };
32   build-system = [
33     setuptools
34   ];
36   dependencies = [
37     aiofiles
38     aiohttp
39     async-timeout
40     pypubsub
41     pyserial
42     pyserial-asyncio
43     voluptuous
44   ];
46   nativeCheckInputs = [
47     async-generator
48     pytestCheckHook
49   ];
51   disabledTestPaths = lib.optionals (pythonAtLeast "3.12") [
52     # Tests are blocking or failing
53     "tests/test_handlers/"
54   ];
56   pythonImportsCheck = [
57     "pyinsteon"
58   ];
60   meta = with lib; {
61     description = "Python library to support Insteon home automation projects";
62     longDescription = ''
63       This is a Python package to interface with an Insteon Modem. It has been
64       tested to work with most USB or RS-232 serial based devices such as the
65       2413U, 2412S, 2448A7 and Hub models 2242 and 2245.
66     '';
67     homepage = "https://github.com/pyinsteon/pyinsteon";
68     changelog = "https://github.com/pyinsteon/pyinsteon/releases/tag/${version}";
69     license = with licenses; [ mit ];
70     maintainers = with maintainers; [ fab ];
71     mainProgram = "insteon_tools";
72   };