1{ lib
2, asynctest
3, buildPythonPackage
4, click
5, defusedxml
6, dicttoxml
7, fetchFromGitHub
8, httpx
9, pycryptodome
10, pytest-asyncio
11, pytest-raises
12, pytestCheckHook
13, pythonOlder
14, respx
15, typing-extensions
16}:
17
18buildPythonPackage rec {
19 pname = "ismartgate";
20 version = "4.0.4";
21 format = "setuptools";
22
23 disabled = pythonOlder "3.7";
24
25 src = fetchFromGitHub {
26 owner = "bdraco";
27 repo = pname;
28 rev = "v${version}";
29 hash = "sha256-yh7gPyy3VMdyINBCZo5K2wA0BY7yYgHrKGZRB/pm77U=";
30 };
31
32 propagatedBuildInputs = [
33 click
34 defusedxml
35 dicttoxml
36 httpx
37 pycryptodome
38 typing-extensions
39 ];
40
41 checkInputs = [
42 asynctest
43 pytest-asyncio
44 pytest-raises
45 pytestCheckHook
46 respx
47 ];
48
49 postPatch = ''
50 substituteInPlace setup.py \
51 --replace '"pytest-runner>=5.2",' ""
52 '';
53
54 pythonImportsCheck = [
55 "ismartgate"
56 ];
57
58 disabledTestPaths = [
59 # Tests are out-dated
60 "ismartgate/tests/test_init.py"
61 ];
62
63
64 meta = with lib; {
65 description = "Python module to work with the ismartgate and gogogate2 API";
66 homepage = "https://github.com/bdraco/ismartgate";
67 license = with licenses; [ mit ];
68 maintainers = with maintainers; [ fab ];
69 };
70}