1{
2 lib,
3 aiohttp,
4 buildPythonPackage,
5 fetchFromGitHub,
6 setuptools,
7 pytestCheckHook,
8}:
9
10buildPythonPackage rec {
11 pname = "pytubefix";
12 version = "9.5.1";
13 pyproject = true;
14
15 src = fetchFromGitHub {
16 owner = "JuanBindez";
17 repo = "pytubefix";
18 tag = "v${version}";
19 hash = "sha256-r8bzgDQK3csx3Myh90lVnv4Zs3cJq6B+PmpVAUCMRLs=";
20 };
21
22 build-system = [ setuptools ];
23
24 dependencies = [ aiohttp ];
25
26 nativeCheckInputs = [ pytestCheckHook ];
27
28 disabledTestPaths = [
29 # Tests require network access
30 "tests/test_captions.py"
31 "tests/test_cli.py"
32 "tests/test_exceptions.py"
33 "tests/test_extract.py"
34 "tests/test_main.py"
35 "tests/test_query.py"
36 "tests/test_streams.py"
37 ];
38
39 disabledTests = [
40 "test_playlist_failed_pagination"
41 "test_playlist_pagination"
42 "test_create_mock_html_json"
43 ];
44
45 pythonImportsCheck = [ "pytubefix" ];
46
47 meta = {
48 description = "Pytube fork with additional features and fixes";
49 homepage = "https://github.com/JuanBindez/pytubefix";
50 changelog = "https://github.com/JuanBindez/pytubefix/releases/tag/${src.tag}";
51 license = lib.licenses.mit;
52 maintainers = with lib.maintainers; [ youhaveme9 ];
53 };
54}