Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 aiohttp,
4 aresponses,
5 buildPythonPackage,
6 certifi,
7 ciso8601,
8 fetchFromGitHub,
9 frozenlist,
10 mashumaro,
11 poetry-core,
12 pyjwt,
13 pytest-aiohttp,
14 pytest-asyncio,
15 pytestCheckHook,
16 pytest-cov-stub,
17 yarl,
18}:
19
20buildPythonPackage rec {
21 pname = "aionotion";
22 version = "2025.02.0";
23 pyproject = true;
24
25 src = fetchFromGitHub {
26 owner = "bachya";
27 repo = "aionotion";
28 tag = version;
29 hash = "sha256-MqH3CPp+dAX5DXtnHio95KGQ+Ok2TXrX6rn/AMx5OsY=";
30 };
31
32 postPatch = ''
33 substituteInPlace pyproject.toml \
34 --replace-fail "poetry-core==" "poetry-core>="
35 '';
36
37 nativeBuildInputs = [ poetry-core ];
38
39 propagatedBuildInputs = [
40 aiohttp
41 certifi
42 ciso8601
43 frozenlist
44 mashumaro
45 pyjwt
46 yarl
47 ];
48
49 pythonRelaxDeps = [
50 "ciso8601"
51 "frozenlist"
52 "mashumaro"
53 ];
54
55 __darwinAllowLocalNetworking = true;
56
57 nativeCheckInputs = [
58 aresponses
59 pytest-aiohttp
60 pytest-asyncio
61 pytest-cov-stub
62 pytestCheckHook
63 ];
64
65 disabledTestPaths = [ "examples" ];
66
67 pythonImportsCheck = [ "aionotion" ];
68
69 meta = {
70 description = "Python library for Notion Home Monitoring";
71 homepage = "https://github.com/bachya/aionotion";
72 changelog = "https://github.com/bachya/aionotion/releases/tag/${src.tag}";
73 license = with lib.licenses; [ mit ];
74 maintainers = with lib.maintainers; [ fab ];
75 };
76}