1{
2 lib,
3 aiohttp,
4 aioresponses,
5 buildPythonPackage,
6 dataclasses-json,
7 fetchFromGitHub,
8 marshmallow,
9 poetry-core,
10 pytest-asyncio,
11 pytestCheckHook,
12 pythonOlder,
13 websockets,
14}:
15
16buildPythonPackage rec {
17 pname = "weatherflow4py";
18 version = "1.2.0";
19 pyproject = true;
20
21 disabled = pythonOlder "3.12";
22
23 src = fetchFromGitHub {
24 owner = "jeeftor";
25 repo = "weatherflow4py";
26 rev = "refs/tags/v${version}";
27 hash = "sha256-NOruMysLm0Pu2fsaA/qCNdeCTacomvJ51oqI8V2WFWI=";
28 };
29
30 build-system = [ poetry-core ];
31
32 dependencies = [
33 aiohttp
34 dataclasses-json
35 marshmallow
36 websockets
37 ];
38
39 nativeCheckInputs = [
40 aioresponses
41 pytest-asyncio
42 pytestCheckHook
43 ];
44
45 pythonImportsCheck = [ "weatherflow4py" ];
46
47 meta = with lib; {
48 description = "Module to interact with the WeatherFlow REST API";
49 homepage = "https://github.com/jeeftor/weatherflow4py";
50 changelog = "https://github.com/jeeftor/weatherflow4py/releases/tag/v${version}";
51 license = licenses.mit;
52 maintainers = with maintainers; [ fab ];
53 };
54}