1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchFromGitHub,
6 poetry-core,
7 aiohttp,
8 pydantic,
9 yarl,
10 aresponses,
11 pytest-asyncio,
12 pytest-cov-stub,
13 pytestCheckHook,
14 syrupy,
15}:
16
17buildPythonPackage rec {
18 pname = "youtubeaio";
19 version = "2.0.0";
20 pyproject = true;
21
22 disabled = pythonOlder "3.11";
23
24 src = fetchFromGitHub {
25 owner = "joostlek";
26 repo = "python-youtube";
27 tag = "v${version}";
28 hash = "sha256-lpmqQXizfFJXgGcKWhFqS4XMML12CFlB40k2ixdszCM=";
29 };
30
31 build-system = [ poetry-core ];
32
33 dependencies = [
34 aiohttp
35 pydantic
36 yarl
37 ];
38
39 pythonImportsCheck = [ "youtubeaio" ];
40
41 nativeCheckInputs = [
42 aresponses
43 pytest-asyncio
44 pytest-cov-stub
45 pytestCheckHook
46 syrupy
47 ];
48
49 meta = {
50 changelog = "https://github.com/joostlek/python-youtube/releases/tag/${src.tag}";
51 description = "Asynchronous Python client for the YouTube V3 API";
52 homepage = "https://github.com/joostlek/python-youtube";
53 license = lib.licenses.mit;
54 maintainers = with lib.maintainers; [ dotlambda ];
55 };
56}