1{
2 lib,
3 aiohttp,
4 aresponses,
5 awesomeversion,
6 backoff,
7 buildPythonPackage,
8 cachetools,
9 fetchFromGitHub,
10 poetry-core,
11 pytest-asyncio,
12 pytestCheckHook,
13 pythonOlder,
14 yarl,
15}:
16
17buildPythonPackage rec {
18 pname = "python-technove";
19 version = "1.2.2";
20 pyproject = true;
21
22 disabled = pythonOlder "3.11";
23
24 src = fetchFromGitHub {
25 owner = "Moustachauve";
26 repo = "pytechnove";
27 rev = "refs/tags/v${version}";
28 hash = "sha256-kc5jR0IM2OagvmtqhicnBbrwrdk3E/iJhRIgUtKoirI=";
29 };
30
31 postPatch = ''
32 substituteInPlace pyproject.toml \
33 --replace-fail "--cov" ""
34 '';
35
36 nativeBuildInputs = [ poetry-core ];
37
38 propagatedBuildInputs = [
39 aiohttp
40 awesomeversion
41 backoff
42 cachetools
43 yarl
44 ];
45
46 nativeCheckInputs = [
47 aresponses
48 pytest-asyncio
49 pytestCheckHook
50 ];
51
52 pythonImportsCheck = [ "technove" ];
53
54 meta = with lib; {
55 description = "Python library to interact with TechnoVE local device API";
56 homepage = "https://github.com/Moustachauve/pytechnove";
57 changelog = "https://github.com/Moustachauve/pytechnove/releases/tag/v${version}";
58 license = licenses.mit;
59 maintainers = with maintainers; [ fab ];
60 };
61}