1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, httpx
5, protobuf
6, pytest-asyncio
7, pytest-httpx
8, pytest-mock
9, pytestCheckHook
10, pythonOlder
11, setuptools-scm
12, zeroconf
13}:
14
15buildPythonPackage rec {
16 pname = "devolo-plc-api";
17 version = "0.6.3";
18 format = "setuptools";
19
20 disabled = pythonOlder "3.8";
21
22 src = fetchFromGitHub {
23 owner = "2Fake";
24 repo = "devolo_plc_api";
25 rev = "v${version}";
26 sha256 = "6EIT6ifC4M4qj/2dZYVZ3fb3bPs25R7IEh/MduYTTkU=";
27 };
28
29 SETUPTOOLS_SCM_PRETEND_VERSION = version;
30
31 nativeBuildInputs = [
32 setuptools-scm
33 ];
34
35 propagatedBuildInputs = [
36 httpx
37 protobuf
38 zeroconf
39 ];
40
41
42 checkInputs = [
43 pytest-asyncio
44 pytest-httpx
45 pytest-mock
46 pytestCheckHook
47 ];
48
49 pythonImportsCheck = [
50 "devolo_plc_api"
51 ];
52
53 meta = with lib; {
54 description = "Python module to interact with Devolo PLC devices";
55 homepage = "https://github.com/2Fake/devolo_plc_api";
56 license = licenses.gpl3Only;
57 maintainers = with maintainers; [ fab ];
58 };
59}