1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6
7 babelfish,
8 beautifulsoup4,
9 chardet,
10 click,
11 click-option-group,
12 dogpile-cache,
13 enzyme,
14 guessit,
15 srt,
16 pysubs2,
17 rarfile,
18 requests,
19 platformdirs,
20 setuptools,
21 stevedore,
22 tomli,
23
24 pytestCheckHook,
25 pytest-cov-stub,
26 pytest-xdist,
27 mypy,
28 sympy,
29 vcrpy,
30}:
31
32buildPythonPackage rec {
33 pname = "subliminal";
34 version = "2.2.1";
35 pyproject = true;
36
37 disabled = pythonOlder "3.8";
38
39 src = fetchFromGitHub {
40 owner = "Diaoul";
41 repo = "subliminal";
42 tag = version;
43 hash = "sha256-g7gg2qdLKl7bg/nNXRWN9wZaNShOOc38sVASZrIycMU=";
44 };
45
46 build-system = [ setuptools ];
47
48 propagatedBuildInputs = [
49 babelfish
50 beautifulsoup4
51 chardet
52 click
53 click-option-group
54 dogpile-cache
55 enzyme
56 guessit
57 srt
58 pysubs2
59 rarfile
60 requests
61 platformdirs
62 stevedore
63 tomli
64 ];
65
66 nativeCheckInputs = [
67 pytestCheckHook
68 pytest-cov-stub
69 pytest-xdist
70 mypy
71 sympy
72 vcrpy
73 ];
74
75 pythonImportsCheck = [ "subliminal" ];
76
77 disabledTests = [
78 # Tests require network access
79 "test_refine"
80 "test_scan"
81 "test_hash"
82 ];
83
84 meta = {
85 description = "Python library to search and download subtitles";
86 homepage = "https://github.com/Diaoul/subliminal";
87 changelog = "https://github.com/Diaoul/subliminal/blob/${version}/HISTORY.rst";
88 license = lib.licenses.mit;
89 maintainers = with lib.maintainers; [ doronbehar ];
90 };
91}