1{
2 lib,
3 aiohttp,
4 asyncstdlib,
5 buildPythonPackage,
6 dataclasses-json,
7 fetchFromGitHub,
8 pytest-cov-stub,
9 pytest-mock,
10 pytestCheckHook,
11 pythonOlder,
12 setuptools,
13}:
14
15buildPythonPackage rec {
16 pname = "meteoswiss-async";
17 version = "0.1.1";
18 pyproject = true;
19
20 disabled = pythonOlder "3.11";
21
22 src = fetchFromGitHub {
23 owner = "albertomontesg";
24 repo = "meteoswiss-async";
25 tag = version;
26 hash = "sha256-xFvfyLZvBfnbzShKN+94piNUVjV1cfi4jWpc/Xw6XG4=";
27 };
28
29 pythonRelaxDeps = [
30 "aiohttp"
31 "asyncstdlib"
32 ];
33
34 build-system = [ setuptools ];
35
36 dependencies = [
37 aiohttp
38 asyncstdlib
39 dataclasses-json
40 ];
41
42 nativeCheckInputs = [
43 pytestCheckHook
44 pytest-mock
45 pytest-cov-stub
46 ];
47
48 pythonImportsCheck = [ "meteoswiss_async" ];
49
50 meta = {
51 description = "Asynchronous client library for MeteoSwiss API";
52 homepage = "https://github.com/albertomontesg/meteoswiss-async";
53 changelog = "https://github.com/albertomontesg/meteoswiss-async/releases/tag/${version}";
54 license = lib.licenses.mit;
55 maintainers = with lib.maintainers; [ fab ];
56 };
57}