1{ lib
2, buildPythonPackage
3, cryptography
4, fetchFromGitHub
5, pytest-asyncio
6, pytest-sugar
7, pytest-timeout
8, pytestCheckHook
9, pythonOlder
10, setuptools
11}:
12
13buildPythonPackage rec {
14 pname = "pylutron-caseta";
15 version = "0.17.1";
16 format = "pyproject";
17
18 disabled = pythonOlder "3.8";
19
20 src = fetchFromGitHub {
21 owner = "gurumitts";
22 repo = pname;
23 rev = "v${version}";
24 hash = "sha256-W3OfYNVendYOrwN/WGeAkNAnZctvlssZ3Bvp5caPZao=";
25 };
26
27 nativeBuildInputs = [
28 setuptools
29 ];
30
31 propagatedBuildInputs = [
32 cryptography
33 ];
34
35 checkInputs = [
36 pytest-asyncio
37 pytest-sugar
38 pytest-timeout
39 pytestCheckHook
40 ];
41
42 pytestFlagsArray = [
43 "--asyncio-mode=auto"
44 ];
45
46 pythonImportsCheck = [
47 "pylutron_caseta"
48 ];
49
50 meta = with lib; {
51 description = "Python module o control Lutron Caseta devices";
52 homepage = "https://github.com/gurumitts/pylutron-caseta";
53 license = with licenses; [ asl20 ];
54 maintainers = with maintainers; [ fab ];
55 };
56}