1{
2 lib,
3 aiohttp,
4 aioresponses,
5 aiounittest,
6 buildPythonPackage,
7 fetchFromGitHub,
8 pytestCheckHook,
9 pythonOlder,
10}:
11
12buildPythonPackage rec {
13 pname = "airly";
14 version = "1.1.0";
15 format = "setuptools";
16
17 src = fetchFromGitHub {
18 owner = "ak-ambi";
19 repo = "python-airly";
20 rev = "v${version}";
21 hash = "sha256-weliT/FYnRX+pzVAyRWFly7lfj2z7P+hpq5SIhyIgmI=";
22 };
23
24 propagatedBuildInputs = [ aiohttp ];
25
26 # aiounittest is not supported on 3.12
27 doCheck = pythonOlder "3.12";
28
29 nativeCheckInputs = [
30 aioresponses
31 aiounittest
32 pytestCheckHook
33 ];
34
35 preCheck = ''
36 cd tests
37 '';
38
39 disabledTests = [
40 "InstallationsLoaderTestCase"
41 "MeasurementsSessionTestCase"
42 ];
43
44 pythonImportsCheck = [ "airly" ];
45
46 meta = with lib; {
47 description = "Python module for getting air quality data from Airly sensors";
48 homepage = "https://github.com/ak-ambi/python-airly";
49 license = with licenses; [ mit ];
50 maintainers = with maintainers; [ fab ];
51 };
52}