pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / development / python-modules / hahomematic / default.nix
blob4fd81b39ee747645c917b71a2f757e53d65a4742
2   lib,
3   aiohttp,
4   buildPythonPackage,
5   fetchFromGitHub,
6   freezegun,
7   orjson,
8   pydevccu,
9   pytest-aiohttp,
10   pytestCheckHook,
11   python-slugify,
12   pythonOlder,
13   setuptools,
14   voluptuous,
17 buildPythonPackage rec {
18   pname = "hahomematic";
19   version = "2024.10.17";
20   pyproject = true;
22   disabled = pythonOlder "3.12";
24   src = fetchFromGitHub {
25     owner = "danielperna84";
26     repo = "hahomematic";
27     rev = "refs/tags/${version}";
28     hash = "sha256-7VCmZcs2WtS9rlWby40dZGXcFY8E+3q+QH2URJkOLLQ=";
29   };
31   __darwinAllowLocalNetworking = true;
33   postPatch = ''
34     substituteInPlace pyproject.toml \
35       --replace-fail "setuptools==75.1.0" "setuptools" \
36   '';
38   build-system = [ setuptools ];
40   dependencies = [
41     aiohttp
42     orjson
43     python-slugify
44     voluptuous
45   ];
47   nativeCheckInputs = [
48     freezegun
49     pydevccu
50     pytest-aiohttp
51     pytestCheckHook
52   ];
54   pythonImportsCheck = [ "hahomematic" ];
56   meta = with lib; {
57     description = "Python module to interact with HomeMatic devices";
58     homepage = "https://github.com/danielperna84/hahomematic";
59     changelog = "https://github.com/danielperna84/hahomematic/blob/${src.rev}/changelog.md";
60     license = licenses.mit;
61     maintainers = with maintainers; [
62       dotlambda
63       fab
64     ];
65   };