1{
2 lib,
3 aiohttp,
4 async-timeout,
5 buildPythonPackage,
6 fetchPypi,
7 pytest-asyncio,
8 pytest-httpserver,
9 pytestCheckHook,
10 pythonOlder,
11 setuptools-scm,
12 voluptuous,
13}:
14
15buildPythonPackage rec {
16 pname = "solax";
17 version = "3.2.3";
18 pyproject = true;
19
20 disabled = pythonOlder "3.8";
21
22 src = fetchPypi {
23 inherit pname version;
24 hash = "sha256-ht+UP/is9+galMiVz/pkwtre1BXfCTT39SpSz4Vctvs=";
25 };
26
27 build-system = [ setuptools-scm ];
28
29 dependencies = [
30 aiohttp
31 async-timeout
32 voluptuous
33 ];
34
35 nativeCheckInputs = [
36 pytest-asyncio
37 pytest-httpserver
38 pytestCheckHook
39 ];
40
41 pythonImportsCheck = [ "solax" ];
42
43 disabledTests = [
44 # Tests require network access
45 "test_discovery"
46 "test_smoke"
47 ];
48
49 meta = with lib; {
50 description = "Python wrapper for the Solax Inverter API";
51 homepage = "https://github.com/squishykid/solax";
52 changelog = "https://github.com/squishykid/solax/releases/tag/v${version}";
53 license = with licenses; [ mit ];
54 maintainers = with maintainers; [ fab ];
55 };
56}