1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 poetry-core,
6 pytestCheckHook,
7 pythonOlder,
8 pytz,
9 requests,
10 requests-mock,
11}:
12
13buildPythonPackage rec {
14 pname = "meteofrance-api";
15 version = "1.4.0";
16 pyproject = true;
17
18 disabled = pythonOlder "3.11";
19
20 src = fetchFromGitHub {
21 owner = "hacf-fr";
22 repo = "meteofrance-api";
23 tag = "v${version}";
24 hash = "sha256-5zqmzPbzC9IUZ+y1FRh+u1gds/ZdGeRm5/ajQf8UKTQ=";
25 };
26
27 build-system = [ poetry-core ];
28
29 dependencies = [
30 pytz
31 requests
32 ];
33
34 nativeCheckInputs = [
35 pytestCheckHook
36 requests-mock
37 ];
38
39 pythonImportsCheck = [ "meteofrance_api" ];
40
41 disabledTests = [
42 # Tests require network access
43 "test_currentphenomenons"
44 "test_dictionary"
45 "test_forecast"
46 "test_full_with_coastal_bulletin"
47 "test_fulls"
48 "test_no_rain_expected"
49 "test_picture_of_the_day"
50 "test_places"
51 "test_rain"
52 "test_session"
53 "test_observation"
54 "test_workflow"
55 ];
56
57 meta = with lib; {
58 description = "Module to access information from the Meteo-France API";
59 homepage = "https://github.com/hacf-fr/meteofrance-api";
60 changelog = "https://github.com/hacf-fr/meteofrance-api/releases/tag/v${version}";
61 license = licenses.mit;
62 maintainers = with maintainers; [ fab ];
63 mainProgram = "meteofrance-api";
64 };
65}