1{
2 lib,
3 pythonOlder,
4 fetchFromGitHub,
5 buildPythonPackage,
6 pytestCheckHook,
7 setuptools,
8 pyserial,
9 openpyxl,
10}:
11
12buildPythonPackage rec {
13 pname = "pysunspec2";
14 version = "1.3.3";
15 pyproject = true;
16
17 disabled = pythonOlder "3.5";
18
19 src = fetchFromGitHub {
20 owner = "sunspec";
21 repo = "pysunspec2";
22 tag = "v${version}";
23 hash = "sha256-mVx8Rt5GLyQ2ss0iJPi32Fhl9pD7hsXxW94p+8ri+w4=";
24 fetchSubmodules = true;
25 };
26
27 build-system = [ setuptools ];
28
29 dependencies = [
30 openpyxl
31 pyserial
32 ];
33
34 nativeCheckInputs = [ pytestCheckHook ];
35
36 pytestFlags = [
37 # This test relies on old pymodbus 2 version
38 "--ignore=sunspec2/tests/test_tls_client.py"
39 ];
40
41 pythonImportsCheck = [ "sunspec2" ];
42
43 meta = with lib; {
44 description = "Python library for interfacing with SunSpec devices";
45 homepage = "https://github.com/sunspec/pysunspec2";
46 changelog = "https://github.com/sunspec/pysunspec2/releases/tag/${src.tag}";
47 license = licenses.asl20;
48 maintainers = [ lib.maintainers.cheriimoya ];
49 };
50}