1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 click,
7 pycountry-convert,
8 pycryptodome,
9 requests,
10 sleekxmppfs,
11 requests-mock,
12 pytestCheckHook,
13}:
14
15buildPythonPackage rec {
16 pname = "py-sucks";
17 version = "0.9.10";
18 pyproject = true;
19
20 src = fetchFromGitHub {
21 owner = "mib1185";
22 repo = "py-sucks";
23 tag = "v${version}";
24 hash = "sha256-MjlE5HdxChAgV/O7cD3foqkmKie7FgRRxvOcW+NAtfA=";
25 };
26
27 build-system = [ setuptools ];
28
29 dependencies = [
30 click
31 pycountry-convert
32 pycryptodome
33 requests
34 sleekxmppfs
35 ];
36
37 pythonImportsCheck = [ "sucks" ];
38
39 nativeCheckInputs = [
40 requests-mock
41 pytestCheckHook
42 ];
43
44 disabledTests = [
45 # assumes $HOME is at a specific place
46 "test_config_file_name"
47 ];
48
49 meta = {
50 changelog = "https://github.com/mib1185/py-sucks/releases/tag/v${version}";
51 description = "Library for controlling certain robot vacuums";
52 homepage = "https://github.com/mib1185/py-sucks";
53 license = lib.licenses.gpl3Only;
54 mainProgram = "sucks";
55 maintainers = with lib.maintainers; [ dotlambda ];
56 };
57}