1{ lib
2, aiohttp
3, buildPythonPackage
4, fetchFromGitHub
5, requests
6, pytestCheckHook
7, pythonOlder
8, setuptools
9, wheel
10}:
11
12buildPythonPackage rec {
13 pname = "heatzypy";
14 version = "2.1.9";
15 pyproject = true;
16
17 disabled = pythonOlder "3.11";
18
19 src = fetchFromGitHub {
20 owner = "Cyr-ius";
21 repo = "heatzypy";
22 rev = "refs/tags/${version}";
23 hash = "sha256-O2HtCaNtBvjhjlSXLRhEuilI8z7nGgzFa8USYiHfZ+E=";
24 };
25
26 postPatch = ''
27 substituteInPlace pyproject.toml \
28 --replace "replace_by_workflow" "${version}"
29 '';
30
31 nativeBuildInputs = [
32 setuptools
33 wheel
34 ];
35
36 propagatedBuildInputs = [
37 aiohttp
38 requests
39 ];
40
41 # Module has no tests
42 doCheck = false;
43
44 pythonImportsCheck = [
45 "heatzypy"
46 ];
47
48 meta = with lib; {
49 description = "Module to interact with Heatzy devices";
50 homepage = "https://github.com/Cyr-ius/heatzypy";
51 changelog = "https://github.com/cyr-ius/heatzypy/releases/tag/${version}";
52 license = licenses.gpl3Plus;
53 maintainers = with maintainers; [ fab ];
54 };
55}