1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 fetchFromGitLab,
6 pytestCheckHook,
7 pythonOlder,
8 setuptools-scm,
9}:
10
11buildPythonPackage rec {
12 pname = "tololib";
13 version = "1.2.2";
14 pyproject = true;
15
16 disabled = pythonOlder "3.7";
17
18 src = fetchFromGitLab {
19 owner = "MatthiasLohr";
20 repo = "tololib";
21 rev = "refs/tags/v${version}";
22 hash = "sha256-dfyc96VcauERv2E5I6nOIXAHbmTHiRLqS+0XH0GB5HM=";
23 };
24
25 build-system = [ setuptools-scm ];
26
27 nativeCheckInputs = [ pytestCheckHook ];
28
29 preCheck = ''
30 export PATH="$PATH:$out/bin";
31 '';
32
33 pythonImportsCheck = [ "tololib" ];
34
35 # Network discovery doesn't work in the sandbox for darwin
36 doCheck = !stdenv.hostPlatform.isDarwin;
37
38 meta = with lib; {
39 description = "Python Library for Controlling TOLO Sauna/Steam Bath Devices";
40 homepage = "https://gitlab.com/MatthiasLohr/tololib";
41 changelog = "https://gitlab.com/MatthiasLohr/tololib/-/blob/v${version}/CHANGELOG.md";
42 license = with licenses; [ mit ];
43 maintainers = with maintainers; [ fab ];
44 mainProgram = "tolo-cli";
45 };
46}