1{
2 async-timeout,
3 buildPythonPackage,
4 fetchFromGitHub,
5 httpx,
6 lib,
7 pydantic,
8 pytest-asyncio,
9 pytestCheckHook,
10 setuptools,
11}:
12
13buildPythonPackage rec {
14 pname = "lektricowifi";
15 version = "0.0.43";
16 pyproject = true;
17
18 src = fetchFromGitHub {
19 owner = "Lektrico";
20 repo = "lektricowifi";
21 rev = "refs/tags/v.${version}";
22 hash = "sha256-NwM1WpH6tS0iAVpG2gSFJpDPPn9nECHAzpOnWzeYPH4=";
23 };
24
25 postPatch = ''
26 substituteInPlace tests/test_mocked_devices.py \
27 --replace-fail "from asyncmock import AsyncMock" "from unittest.mock import AsyncMock"
28 '';
29
30 build-system = [ setuptools ];
31
32 pythonRelaxDeps = [
33 "pydantic"
34 ];
35
36 dependencies = [
37 async-timeout
38 httpx
39 pydantic
40 ];
41
42 pythonImportsCheck = [ "lektricowifi" ];
43
44 nativeCheckInputs = [
45 pytest-asyncio
46 pytestCheckHook
47 ];
48
49 # AttributeError: type object 'InfoForCharger' has no attribute 'from_dict'
50 doCheck = false;
51
52 meta = {
53 description = "Communication with Lektrico's chargers";
54 homepage = "https://github.com/Lektrico/lektricowifi";
55 license = lib.licenses.mit;
56 maintainers = with lib.maintainers; [ dotlambda ];
57 };
58}