1{
2 lib,
3 aiofiles,
4 buildPythonPackage,
5 fetchFromGitHub,
6 hatchling,
7 hatch-vcs,
8 pyserial,
9 pyserial-asyncio-fast,
10}:
11
12buildPythonPackage rec {
13 pname = "benqprojector";
14 version = "0.1.8";
15 pyproject = true;
16
17 src = fetchFromGitHub {
18 owner = "rrooggiieerr";
19 repo = "benqprojector.py";
20 tag = version;
21 hash = "sha256-BttaLpjiybjeoJhOXfo6Qlox4bRqf9auvNg/wtm9gMQ=";
22 };
23
24 build-system = [
25 hatchling
26 hatch-vcs
27 ];
28
29 dependencies = [
30 aiofiles
31 pyserial
32 pyserial-asyncio-fast
33 ];
34
35 # Test cases require an actual serial/telnet connection to a projector
36 doCheck = false;
37
38 pythonImportsCheck = [ "benqprojector" ];
39
40 meta = rec {
41 description = "Python library to control BenQ projectors";
42 homepage = "https://github.com/rrooggiieerr/benqprojector.py";
43 changelog = "${homepage}/releases/tag/${src.tag}";
44 license = lib.licenses.asl20;
45 maintainers = with lib.maintainers; [ sephalon ];
46 };
47}