1{
2 lib,
3 buildPythonPackage,
4 bx-py-utils,
5 colorlog,
6 fetchFromGitHub,
7 importlib-resources,
8 jaraco-classes,
9 jaraco-collections,
10 jaraco-itertools,
11 jaraco-context,
12 jaraco-net,
13 keyring,
14 lomond,
15 more-itertools,
16 platformdirs,
17 pytestCheckHook,
18 pythonOlder,
19 requests,
20 requests-mock,
21 requests-toolbelt,
22 setuptools,
23 setuptools-scm,
24}:
25
26buildPythonPackage rec {
27 pname = "jaraco-abode";
28 version = "5.1.1";
29 pyproject = true;
30
31 disabled = pythonOlder "3.8";
32
33 src = fetchFromGitHub {
34 owner = "jaraco";
35 repo = "jaraco.abode";
36 rev = "refs/tags/v${version}";
37 hash = "sha256-TUxljF1k/fvQoNcHx6jMRJrYgzxjXefvMl+mBD0DL8o=";
38 };
39
40 nativeBuildInputs = [
41 setuptools
42 setuptools-scm
43 ];
44
45 propagatedBuildInputs = [
46 requests
47 lomond
48 colorlog
49 keyring
50 requests-toolbelt
51 jaraco-collections
52 jaraco-context
53 jaraco-classes
54 jaraco-net
55 more-itertools
56 importlib-resources
57 bx-py-utils
58 platformdirs
59 jaraco-itertools
60 ];
61
62 nativeCheckInputs = [
63 pytestCheckHook
64 requests-mock
65 ];
66
67 pythonImportsCheck = [ "jaraco.abode" ];
68
69 preCheck = ''
70 export HOME=$TEMP
71 '';
72
73 disabledTests = [
74 "_cookie_string"
75 "test_cookies"
76 "test_empty_cookies"
77 "test_invalid_cookies"
78 # Issue with the regex
79 "test_camera_capture_no_control_URLs"
80 ];
81
82 meta = with lib; {
83 changelog = "https://github.com/jaraco/jaraco.abode/blob/${version}/CHANGES.rst";
84 homepage = "https://github.com/jaraco/jaraco.abode";
85 description = "Library interfacing to the Abode home security system";
86 mainProgram = "abode";
87 license = licenses.mit;
88 maintainers = with maintainers; [
89 jamiemagee
90 dotlambda
91 ];
92 };
93}