1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchFromGitHub,
6 bleak,
7 pyyaml,
8 voluptuous,
9 pytestCheckHook,
10 pytest-asyncio,
11 poetry-core,
12}:
13
14buildPythonPackage rec {
15 pname = "idasen";
16 version = "0.12.0";
17 pyproject = true;
18
19 disabled = pythonOlder "3.8";
20
21 src = fetchFromGitHub {
22 owner = "newAM";
23 repo = "idasen";
24 tag = "v${version}";
25 hash = "sha256-TQ+DBFpG+IeZ4/dN+YKMw3AM4Dl1rpqA1kRcb3Tb3jA=";
26 };
27
28 build-system = [ poetry-core ];
29
30 dependencies = [
31 bleak
32 pyyaml
33 voluptuous
34 ];
35
36 nativeCheckInputs = [
37 pytestCheckHook
38 pytest-asyncio
39 ];
40
41 pythonImportsCheck = [ "idasen" ];
42
43 meta = with lib; {
44 description = "Python API and CLI for the ikea IDÅSEN desk";
45 mainProgram = "idasen";
46 homepage = "https://github.com/newAM/idasen";
47 changelog = "https://github.com/newAM/idasen/blob/v${version}/CHANGELOG.md";
48 license = licenses.mit;
49 maintainers = with maintainers; [ newam ];
50 };
51}