1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 poetry-core,
6 poetry-dynamic-versioning,
7 pytest-asyncio_0,
8 pytestCheckHook,
9}:
10
11buildPythonPackage rec {
12 pname = "pybalboa";
13 version = "1.1.3";
14 pyproject = true;
15
16 src = fetchFromGitHub {
17 owner = "garbled1";
18 repo = "pybalboa";
19 # missing tag: https://github.com/garbled1/pybalboa/issues/100
20 rev = "6aa7e3c401ab03b93c083acdf430afb708e20e9b";
21 hash = "sha256-xOMbMmTTDDbd0WL0LFJ6lztsQMdI/r9MLhV9DmB6m3I=";
22 };
23
24 build-system = [
25 poetry-core
26 poetry-dynamic-versioning
27 ];
28
29 nativeCheckInputs = [
30 pytest-asyncio_0
31 pytestCheckHook
32 ];
33
34 disabledTests = [
35 # async def functions are not natively supported.
36 "test_cancel_task"
37 ];
38
39 pythonImportsCheck = [ "pybalboa" ];
40
41 meta = with lib; {
42 description = "Module to communicate with a Balboa spa wifi adapter";
43 homepage = "https://github.com/garbled1/pybalboa";
44 changelog = "https://github.com/garbled1/pybalboa/releases/tag/${version}";
45 license = licenses.asl20;
46 maintainers = with maintainers; [ fab ];
47 };
48}