slackdump: 3.0.3 -> 3.0.5 (#379390)
[NixPkgs.git] / pkgs / by-name / fl / flexget / package.nix
blob6d88b0a87725c529622c5d2c50cb7437425b0a6c
2   lib,
3   python3Packages,
4   fetchFromGitHub,
5   stdenv,
6 }:
8 python3Packages.buildPythonApplication rec {
9   pname = "flexget";
10   version = "3.13.6";
11   pyproject = true;
13   # Fetch from GitHub in order to use `requirements.in`
14   src = fetchFromGitHub {
15     owner = "Flexget";
16     repo = "Flexget";
17     tag = "v${version}";
18     hash = "sha256-I6AQtoGk/YUDM5DzegvLi8QmVvoma16zJGZ8BMUUN3c=";
19   };
21   # relax dep constrains, keep environment constraints
22   pythonRelaxDeps = true;
24   build-system = with python3Packages; [ setuptools ];
26   dependencies = with python3Packages; [
27     # See https://github.com/Flexget/Flexget/blob/master/pyproject.toml
28     # and https://github.com/Flexget/Flexget/blob/develop/requirements.txt
29     apscheduler
30     beautifulsoup4
31     colorama
32     feedparser
33     guessit
34     html5lib
35     jinja2
36     jsonschema
37     loguru
38     psutil
39     pydantic
40     pynzb
41     pyrss2gen
42     python-dateutil
43     pyyaml
44     rarfile
45     rebulk
46     requests
47     rich
48     rpyc
49     sqlalchemy
50     zstandard
52     # WebUI requirements
53     cherrypy
54     flask-compress
55     flask-cors
56     flask-login
57     flask-restx
58     flask
59     packaging
60     pyparsing
61     werkzeug
62     zxcvbn
63     pendulum
65     # Plugins requirements
66     transmission-rpc
67     qbittorrent-api
68     deluge-client
69     cloudscraper
70     python-telegram-bot
71     boto3
72   ];
74   pythonImportsCheck = [
75     "flexget"
76     "flexget.api.core.authentication"
77     "flexget.api.core.database"
78     "flexget.api.core.plugins"
79     "flexget.api.core.schema"
80     "flexget.api.core.server"
81     "flexget.api.core.tasks"
82     "flexget.api.core.user"
83     "flexget.components.thetvdb.api"
84     "flexget.components.tmdb.api"
85     "flexget.components.trakt.api"
86     "flexget.components.tvmaze.api"
87     "flexget.plugins.clients.aria2"
88     "flexget.plugins.clients.deluge"
89     "flexget.plugins.clients.nzbget"
90     "flexget.plugins.clients.pyload"
91     "flexget.plugins.clients.qbittorrent"
92     "flexget.plugins.clients.rtorrent"
93     "flexget.plugins.clients.transmission"
94     "flexget.plugins.services.kodi_library"
95     "flexget.plugins.services.myepisodes"
96     "flexget.plugins.services.pogcal_acquired"
97   ];
99   nativeCheckInputs = [
100     python3Packages.pytestCheckHook
101     python3Packages.pytest-vcr
102     python3Packages.paramiko
103   ];
105   doCheck = !stdenv.isDarwin;
107   disabledTests = [
108     # reach the Internet
109     "TestExistsMovie"
110     "TestImdb"
111     "TestImdbLookup"
112     "TestImdbParser"
113     "TestInputHtml"
114     "TestInputSites"
115     "TestNfoLookupWithMovies"
116     "TestNpoWatchlistInfo"
117     "TestNpoWatchlistLanguageTheTVDBLookup"
118     "TestNpoWatchlistPremium"
119     "TestPlex"
120     "TestRadarrListActions"
121     "TestRssOnline"
122     "TestSeriesRootAPI"
123     "TestSftpDownload"
124     "TestSftpList"
125     "TestSonarrListActions"
126     "TestSubtitleList"
127     "TestTMDBMovieLookupAPI"
128     "TestTVDBEpisodeABSLookupAPI"
129     "TestTVDBEpisodeAirDateLookupAPI"
130     "TestTVDBEpisodeLookupAPI"
131     "TestTVDBExpire"
132     "TestTVDBFavorites"
133     "TestTVDBLanguages"
134     "TestTVDBList"
135     "TestTVDBLookup"
136     "TestTVDBLookup"
137     "TestTVDBSeriesActorsLookupAPI"
138     "TestTVDBSeriesLookupAPI"
139     "TestTVDSearchIMDBLookupAPI"
140     "TestTVDSearchNameLookupAPI"
141     "TestTVDSearchZAP2ITLookupAPI"
142     "TestTVMAzeSeriesLookupAPI"
143     "TestTVMazeSeasonLookup"
144     "TestTVMazeShowLookup"
145     "TestTVMazeUnicodeLookup"
146     "TestTaskParsing::test_selected_parser_cleared"
147     "TestTheTVDBLanguages"
148     "TestTheTVDBList"
149     "TestTmdbLookup"
150     "TestURLRewriters"
151     "TestURLRewriters::test_ettv"
152     # others
153     "TestRegexp"
154     "TestYamlLists"
155   ];
157   meta = {
158     homepage = "https://flexget.com/";
159     changelog = "https://github.com/Flexget/Flexget/releases/tag/v${version}";
160     description = "Multipurpose automation tool for all of your media";
161     license = lib.licenses.mit;
162     maintainers = with lib.maintainers; [ pbsds ];
163   };