Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 aiohttp,
4 aioresponses,
5 buildPythonPackage,
6 fetchFromGitHub,
7 orjson,
8 pytest-aiohttp,
9 pytest-asyncio,
10 pytest-cov-stub,
11 pytestCheckHook,
12 pythonOlder,
13 segno,
14 setuptools,
15 trustme,
16}:
17
18buildPythonPackage rec {
19 pname = "aiounifi";
20 version = "84";
21 pyproject = true;
22
23 disabled = pythonOlder "3.11";
24
25 src = fetchFromGitHub {
26 owner = "Kane610";
27 repo = "aiounifi";
28 tag = "v${version}";
29 hash = "sha256-8zOM1K1N1NFUQwyEVRDFqHntK+HSpXG2F1sRhOs7Bc4=";
30 };
31
32 postPatch = ''
33 substituteInPlace pyproject.toml \
34 --replace-fail "setuptools==80.9.0" "setuptools" \
35 --replace-fail "wheel==0.46.1" "wheel"
36 '';
37
38 build-system = [ setuptools ];
39
40 dependencies = [
41 aiohttp
42 orjson
43 segno
44 ];
45
46 nativeCheckInputs = [
47 aioresponses
48 pytest-aiohttp
49 pytest-asyncio
50 pytest-cov-stub
51 pytestCheckHook
52 trustme
53 ];
54
55 pytestFlags = [ "--asyncio-mode=auto" ];
56
57 pythonImportsCheck = [ "aiounifi" ];
58
59 meta = with lib; {
60 description = "Python library for communicating with Unifi Controller API";
61 homepage = "https://github.com/Kane610/aiounifi";
62 changelog = "https://github.com/Kane610/aiounifi/releases/tag/v${version}";
63 license = licenses.mit;
64 maintainers = [ ];
65 mainProgram = "aiounifi";
66 };
67}