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.4.1";
19 pyproject = true;
20
21 disabled = pythonOlder "3.12";
22
23 src = fetchFromGitHub {
24 owner = "jeeftor";
25 repo = "weatherflow4py";
26 tag = "v${version}";
27 hash = "sha256-nHpLdzO49HhX5+gtYrgche4whs7Onzp4HeRNFwLHcVI=";
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 disabledTests = [
48 # KeyError
49 "test_convert_json_to_weather_data4"
50 ];
51
52 meta = with lib; {
53 description = "Module to interact with the WeatherFlow REST API";
54 homepage = "https://github.com/jeeftor/weatherflow4py";
55 changelog = "https://github.com/jeeftor/weatherflow4py/releases/tag/${src.tag}";
56 license = licenses.mit;
57 maintainers = with maintainers; [ fab ];
58 };
59}