1{
2 lib,
3 aiohttp,
4 buildPythonPackage,
5 fetchFromGitHub,
6 meteocalc,
7 pytest-asyncio_0,
8 pytest-aiohttp,
9 pytestCheckHook,
10 pythonOlder,
11 setuptools,
12}:
13
14buildPythonPackage rec {
15 pname = "aioecowitt";
16 version = "2025.3.1";
17 pyproject = true;
18
19 disabled = pythonOlder "3.9";
20
21 src = fetchFromGitHub {
22 owner = "home-assistant-libs";
23 repo = "aioecowitt";
24 tag = version;
25 hash = "sha256-BAiRonfu3tFf5ZERbWO+MuEsefrOIaGxUExYx5fXZIM=";
26 };
27
28 build-system = [ setuptools ];
29
30 dependencies = [
31 aiohttp
32 meteocalc
33 ];
34
35 nativeCheckInputs = [
36 pytest-asyncio_0
37 (pytest-aiohttp.override { pytest-asyncio = pytest-asyncio_0; })
38 pytestCheckHook
39 ];
40
41 pythonImportsCheck = [ "aioecowitt" ];
42
43 meta = with lib; {
44 description = "Wrapper for the EcoWitt protocol";
45 mainProgram = "ecowitt-testserver";
46 homepage = "https://github.com/home-assistant-libs/aioecowitt";
47 changelog = "https://github.com/home-assistant-libs/aioecowitt/releases/tag/${version}";
48 license = with licenses; [ asl20 ];
49 maintainers = with maintainers; [ fab ];
50 };
51}