1{
2 lib,
3 aiolifx,
4 async-timeout,
5 buildPythonPackage,
6 fetchFromGitHub,
7 poetry-core,
8 pytest-asyncio,
9 pytestCheckHook,
10 pythonOlder,
11 typer,
12}:
13
14buildPythonPackage rec {
15 pname = "aiolifx-themes";
16 version = "0.4.17";
17 pyproject = true;
18
19 disabled = pythonOlder "3.9";
20
21 src = fetchFromGitHub {
22 owner = "Djelibeybi";
23 repo = "aiolifx-themes";
24 rev = "refs/tags/v${version}";
25 hash = "sha256-nKzvdDzwizF1Db8qFQuOH7gLnYHmdCYdQZPN+gNg8mU=";
26 };
27
28 prePatch = ''
29 # Don't run coverage, or depend on typer for no reason.
30 substituteInPlace pyproject.toml \
31 --replace-fail " --cov=aiolifx_themes --cov-report=term-missing:skip-covered" "" \
32 --replace-fail "typer = " "# unused: typer = "
33 '';
34
35 build-system = [ poetry-core ];
36
37 dependencies = [ aiolifx ];
38
39 nativeCheckInputs = [
40 async-timeout
41 pytestCheckHook
42 pytest-asyncio
43 ];
44
45 pythonImportsCheck = [ "aiolifx_themes" ];
46
47 meta = with lib; {
48 description = "Color themes for LIFX lights running on aiolifx";
49 homepage = "https://github.com/Djelibeybi/aiolifx-themes";
50 changelog = "https://github.com/Djelibeybi/aiolifx-themes/releases/tag/v${version}";
51 license = licenses.mit;
52 maintainers = with maintainers; [ lukegb ];
53 };
54}