1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 httpx,
6 orjson,
7 poetry-core,
8 pytest-asyncio,
9 pytest-cov-stub,
10 pytestCheckHook,
11 pythonOlder,
12 respx,
13 rich,
14 syrupy,
15 tenacity,
16 typer,
17}:
18
19buildPythonPackage rec {
20 pname = "pytrydan";
21 version = "0.8.1";
22 pyproject = true;
23
24 disabled = pythonOlder "3.10";
25
26 src = fetchFromGitHub {
27 owner = "dgomes";
28 repo = "pytrydan";
29 tag = "v${version}";
30 hash = "sha256-OHC+Ul64BYCsgoFDxI1hPjBGkd/pQ0j0c9Pt5lWg1E0=";
31 };
32
33 pythonRelaxDeps = [ "tenacity" ];
34
35 build-system = [ poetry-core ];
36
37 dependencies = [
38 httpx
39 orjson
40 rich
41 tenacity
42 typer
43 ];
44
45 nativeCheckInputs = [
46 pytest-asyncio
47 pytest-cov-stub
48 pytestCheckHook
49 respx
50 syrupy
51 ];
52
53 pythonImportsCheck = [ "pytrydan" ];
54
55 meta = with lib; {
56 description = "Library to interface with V2C EVSE Trydan";
57 homepage = "https://github.com/dgomes/pytrydan";
58 changelog = "https://github.com/dgomes/pytrydan/blob/${version}/CHANGELOG.md";
59 license = licenses.mit;
60 maintainers = with maintainers; [ fab ];
61 mainProgram = "pytrydan";
62 };
63}