1{ lib
2, aiohttp
3, buildPythonPackage
4, dnspython
5, fetchFromGitHub
6, pytest-asyncio
7, pytestCheckHook
8, pythonOlder
9}:
10
11buildPythonPackage rec {
12 pname = "pykaleidescape";
13 version = "2022.2.3";
14 format = "setuptools";
15
16 disabled = pythonOlder "3.7";
17
18 src = fetchFromGitHub {
19 owner = "SteveEasley";
20 repo = pname;
21 rev = "refs/tags/v${version}";
22 hash = "sha256-h5G7wV4Z+sf8Qq4GNFsp8DVDSgQgS0dLGf+DzK/egYM=";
23 };
24
25 propagatedBuildInputs = [
26 aiohttp
27 dnspython
28 ];
29
30 nativeCheckInputs = [
31 pytest-asyncio
32 pytestCheckHook
33 ];
34
35 pythonImportsCheck = [
36 "kaleidescape"
37 ];
38
39 disabledTests = [
40 # Test requires network access
41 "test_resolve_succeeds"
42 ];
43
44 meta = with lib; {
45 description = "Module for controlling Kaleidescape devices";
46 homepage = "https://github.com/SteveEasley/pykaleidescape";
47 changelog = "https://github.com/SteveEasley/pykaleidescape/releases/tag/v${version}";
48 license = licenses.mit;
49 maintainers = with maintainers; [ fab ];
50 };
51}