1{ lib
2, aiofiles
3, aiohttp
4, aioresponses
5, aiounittest
6, buildPythonPackage
7, ciso8601
8, fetchFromGitHub
9, pubnub
10, pyjwt
11, pytestCheckHook
12, python-dateutil
13, pythonOlder
14, requests
15, requests-mock
16}:
17
18buildPythonPackage rec {
19 pname = "yalexs";
20 version = "1.10.0";
21 format = "setuptools";
22
23 disabled = pythonOlder "3.9";
24
25 src = fetchFromGitHub {
26 owner = "bdraco";
27 repo = pname;
28 rev = "refs/tags/v${version}";
29 hash = "sha256-7LFKqC8IHzXKKU5Pw6Qud9jqJFc0lSEJFn636T6CsfQ=";
30 };
31
32 propagatedBuildInputs = [
33 aiofiles
34 aiohttp
35 ciso8601
36 pubnub
37 pyjwt
38 python-dateutil
39 requests
40 ];
41
42 nativeCheckInputs = [
43 aioresponses
44 aiounittest
45 pytestCheckHook
46 requests-mock
47 ];
48
49 postPatch = ''
50 # Not used requirement
51 substituteInPlace setup.py \
52 --replace '"vol",' ""
53 '';
54
55 pythonImportsCheck = [
56 "yalexs"
57 ];
58
59 meta = with lib; {
60 description = "Python API for Yale Access (formerly August) Smart Lock and Doorbell";
61 homepage = "https://github.com/bdraco/yalexs";
62 changelog = "https://github.com/bdraco/yalexs/releases/tag/v${version}";
63 license = with licenses; [ mit ];
64 maintainers = with maintainers; [ fab ];
65 };
66}