I have now more carefully investigated the dependencies and added blocking bugs:
REQUIREMENT SRC PACKAGE STATUS BUGS
------------------------------------------------------------------
Safe>=0.4 safe ITP #850088
colorclass>=2.2.0 colorclass ITP #850087
flask-cors>=2.1.2 flask-cors ITP #850091
flask-restplus==0.8.6 flask-restplus ITP #850089
rpyc rpyc ITP #850097
terminaltables>=3.1.0 terminaltables ITP #850093
FeedParser>=5.2.1 feedparser OUTDATED
cherrypy>=3.7.0 cherrypy3 OUTDATED #828942
subliminal >= 2.0rc1 subliminal OUTDATED #850098
vcrpy>=1.7.4 vcr.py OUTDATED
flask-login>=0.4.0 flask-login PY2-ONLY #802614
pynzb pynzb PY2-ONLY
Droppable dependencies: I think that coverage checks are not particularly
relevant to the debian package, so I can avoid having to package
codacy-coverage. Similarly, gitpython seems to only be used in a script to
update the upstream changelog, so I can also omit that.
Pinned versions: Note that guessit and flask-restplus are pinned to old
versions by upstream flexget. If flask-restplus can't be unpinned then I'll
have to adjust the ITP to package the old version flexget wants. If guessit can
be unpinned (which I suspect it can since the dependency conflict which cause
the situation seems to have disappeared in new upstream guessit) then that will
possibly also need to be updated before flexget can be packaged. See:
https://requires.io/github/Flexget/Flexget/requirements/?branch=master
pynzb: Upstream seems abandoned as it hasn't been touched in 8 years. This is
why it's a python2-only package. Only one flexget plugin needs this dependency
so it could be reasonable to just patch that out for now to simplify things.
Since pynzb is pretty small SLOC-wise it might be possible to eventually adopt
it upstream or convince someone else to take over.
Since there is a lot of work to be done this could take me a while but I'll try
not to let the effort lapse again! Hopefully I can get some help from the
Python modules team.