1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 poetry-core,
6 pytest-asyncio,
7 pytest-cov-stub,
8 pytest-timeout,
9 pytestCheckHook,
10 pythonOlder,
11 typer,
12}:
13
14buildPythonPackage rec {
15 pname = "aiovlc";
16 version = "0.6.6";
17 pyproject = true;
18
19 disabled = pythonOlder "3.11";
20
21 src = fetchFromGitHub {
22 owner = "MartinHjelmare";
23 repo = "aiovlc";
24 tag = "v${version}";
25 hash = "sha256-HnMzr6yKEtPFJlaKbvKYTXXjlz1wDLdOw65IPZJkWB0=";
26 };
27
28 build-system = [ poetry-core ];
29
30 optional-dependencies = {
31 cli = [ typer ];
32 };
33
34 nativeCheckInputs = [
35 pytest-asyncio
36 pytest-cov-stub
37 pytest-timeout
38 pytestCheckHook
39 ]
40 ++ lib.flatten (builtins.attrValues optional-dependencies);
41
42 pythonImportsCheck = [ "aiovlc" ];
43
44 meta = with lib; {
45 description = "Python module to control VLC";
46 homepage = "https://github.com/MartinHjelmare/aiovlc";
47 changelog = "https://github.com/MartinHjelmare/aiovlc/blob/v${version}/CHANGELOG.md";
48 license = licenses.asl20;
49 maintainers = with maintainers; [ fab ];
50 };
51}