1{ lib
2, aiohttp
3, aioresponses
4, buildPythonPackage
5, dacite
6, fetchFromGitHub
7, pytest-asyncio
8, pytest-error-for-skips
9, pytestCheckHook
10, pythonOlder
11}:
12
13buildPythonPackage rec {
14 pname = "gios";
15 version = "2.1.0";
16
17 disabled = pythonOlder "3.8";
18
19 src = fetchFromGitHub {
20 owner = "bieniu";
21 repo = pname;
22 rev = version;
23 sha256 = "sha256-WjuDsu0EA+KtErusw5VADyvleVegXHCTEkuQ1lU/SRU=";
24 };
25
26 propagatedBuildInputs = [
27 aiohttp
28 dacite
29 ];
30
31 checkInputs = [
32 aioresponses
33 pytest-asyncio
34 pytest-error-for-skips
35 pytestCheckHook
36 ];
37
38 postPatch = ''
39 substituteInPlace setup.cfg \
40 --replace "--cov --cov-report term-missing " ""
41 substituteInPlace setup.py \
42 --replace "pytest-runner" ""
43 '';
44
45 disabledTests = [
46 # Test requires network access
47 "test_invalid_station_id"
48 ];
49
50 pythonImportsCheck = [ "gios" ];
51
52 meta = with lib; {
53 description = "Python client for getting air quality data from GIOS";
54 homepage = "https://github.com/bieniu/gios";
55 license = licenses.asl20;
56 maintainers = with maintainers; [ fab ];
57 };
58}