1{ lib
2, buildPythonPackage
3, dlms-cosem
4, fetchFromGitHub
5, pyserial
6, pyserial-asyncio
7, pytestCheckHook
8, pythonOlder
9, pytz
10, tailer
11}:
12
13buildPythonPackage rec {
14 pname = "dsmr-parser";
15 version = "1.3.1";
16 format = "setuptools";
17
18 disabled = pythonOlder "3.8";
19
20 src = fetchFromGitHub {
21 owner = "ndokter";
22 repo = "dsmr_parser";
23 rev = "refs/tags/v${version}";
24 hash = "sha256-PULrKRHrCuDFZcR+5ha0PjkN438QFgf2CrpYhKIqYTs=";
25 };
26
27 propagatedBuildInputs = [
28 dlms-cosem
29 pyserial
30 pyserial-asyncio
31 pytz
32 tailer
33 ];
34
35 nativeCheckInputs = [
36 pytestCheckHook
37 ];
38
39 pythonImportsCheck = [
40 "dsmr_parser"
41 ];
42
43 meta = with lib; {
44 description = "Python module to parse Dutch Smart Meter Requirements (DSMR)";
45 homepage = "https://github.com/ndokter/dsmr_parser";
46 changelog = "https://github.com/ndokter/dsmr_parser/releases/tag/v${version}";
47 license = with licenses; [ mit ];
48 maintainers = with maintainers; [ fab ];
49 };
50}