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