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 disabled = pythonOlder "3.7";
22
23 src = fetchFromGitHub {
24 owner = "bdraco";
25 repo = pname;
26 rev = "v${version}";
27 sha256 = "sha256-yh7gPyy3VMdyINBCZo5K2wA0BY7yYgHrKGZRB/pm77U=";
28 };
29
30 propagatedBuildInputs = [
31 click
32 defusedxml
33 dicttoxml
34 httpx
35 pycryptodome
36 typing-extensions
37 ];
38
39 checkInputs = [
40 asynctest
41 pytest-asyncio
42 pytest-raises
43 pytestCheckHook
44 respx
45 ];
46
47 postPatch = ''
48 substituteInPlace setup.py \
49 --replace '"pytest-runner>=5.2",' ""
50 '';
51
52 pythonImportsCheck = [ "ismartgate" ];
53
54 meta = with lib; {
55 description = "Python module to work with the ismartgate and gogogate2 API";
56 homepage = "https://github.com/bdraco/ismartgate";
57 license = with licenses; [ mit ];
58 maintainers = with maintainers; [ fab ];
59 };
60}