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