`catimages` from `compat` should be moved to be a separate python package that depends on pywikibot `core`, and a whole lot of other libraries.
Checklist for dependencies of catimages.py
| Package name | PYPI package | Ubuntu package | Py2.6 | Py3.5 | CI |
| numpy | [[https://pypi.python.org/pypi/numpy|yes]] | | yes | yes | [[https://travis-ci.org/numpy/numpy|yes]] |
| scipy | [[https://pypi.python.org/pypi/scipy|yes]] | | yes | yes | [[https://travis-ci.org/scipy/scipy|yes]] |
| cv | deprecated and replaced by cv2 |
| cv2 | | yes for [[http://packages.ubuntu.com/trusty/python/python-opencv|py2]] | yes | yes | [[http://pullrequest.opencv.org/#/summary/opencv|yes]] |
| pyexiv2 | deprecated by gexiv2. But preferably use exiftool as it's more complete |
| gi (new dep) | | yes ([[http://packages.ubuntu.com/trusty/python/python-gi|py2]], [[http://packages.ubuntu.com/trusty/python3-gi|py3]]) | yes | yes | [[http://build.gnome.org/#/|yes]] (gnome-continuous) |
| gtk | Only used to find intersection of Rectangles. Preferably remove this dep? | yes ([[http://packages.ubuntu.com/trusty/python/python-gtk2|py2]], [[http://packages.ubuntu.com/trusty/gir1.2-gtk-2.0|py3]]) | yes | yes |[[http://build.gnome.org/#/|yes]] (gnome-continuous) |
| rsvg | | yes ([[http://packages.ubuntu.com/trusty/python-rsvg|py2]], [[http://packages.ubuntu.com/trusty/gir1.2-rsvg-2.0|py3]]) | yes | yes |[[http://build.gnome.org/#/|yes]] (gnome-continuous) |
| cairo | | yes ([[http://packages.ubuntu.com/trusty/python-cairo|py2]], [[http://packages.ubuntu.com/trusty/python3-cairo|py3]]) | yes | yes |[[http://build.gnome.org/#/|yes]] (gnome-continuous) |
| magic | [[https://pypi.python.org/pypi/python-magic|yes]] | | yes | yes | [[https://travis-ci.org/ahupp/python-magic|yes]] |
| jseg | This is currently a zip file. Pypi pkg needed |
| jseg/jpeg-6b | Can Pillow be used instead ? jpeg-6b seems to be a zip |
| _music21 | Do we still need the patch ? If not, use [[https://pypi.python.org/pypi/music21|pypi]] | | | | [[https://travis-ci.org/cuthbertLab/music21|yes]] |
| opencv (own) | Do we still need this ? |
| pydmtx | [[https://pypi.python.org/pypi/pydmtx|yes]], used for QR Codes. Probably use OpenCV instead ? | | | |
| py_w3c | [[https://pypi.python.org/pypi/py_w3c|yes]], but use requests/bs4 instead ? | | | |
| _zbar | Use a new library for barcodes. Not been updated since 2010 |
| _bob | Do we still need the patch ? If not use [[https://pypi.python.org/pypi/bob|pypi]] | | | | [[https://travis-ci.org/idiap/bob?branch=master|yes]] |
| xbob_flandmark | [[https://pypi.python.org/pypi/xbob.flandmark|yes]], But flandmark is deprecated for [[http://cmp.felk.cvut.cz/~uricamic/clandmark/|clandmark]] | | | | no |
| bob.ip.flandmark | [[https://pypi.python.org/pypi/bob.ip.flandmark|yes]], A newer xbob.flandmark, But deprecated for [[http://cmp.felk.cvut.cz/~uricamic/clandmark/|clandmark]] | | | | [[https://travis-ci.org/bioidiap/bob.ip.flandmark|yes]] |
| py_flandmark | no. Incomplete python bindings are installed with [[https://github.com/uricamic/clandmark|clandmark]] | | | | no |
| pywt | [[https://pypi.python.org/pypi/PyWavelets|yes]] | | | | [[https://travis-ci.org/PyWavelets/pywt|yes]] |
| slic | This is currently a zip file. Use [[http://www.vlfeat.org/overview/slic.html|vlfeat]] instead ? |
| vlfeat | [[https://pypi.python.org/pypi/cyvlfeat|yes]] Probably use this instead of clandmark and slic. | | yes | yes | [[https://travis-ci.org/menpo/cyvlfeat/|yes]] |
| yaafelib | No pypi pkg. Use [[https://github.com/bmcfee/librosa|librosa]] as alternative maybe? - as it has pypi | | | | [[https://travis-ci.org/mckelvin/Yaafe|yes]] |
| matplotlib | [[https://pypi.python.org/pypi/matplotlib|yes]] | | yes | yes | [[https://travis-ci.org/matplotlib/matplotlib|yes]] |
| pycolorname | [[https://pypi.python.org/pypi/pycolorname|yes]] | | yes | yes | [[https://circleci.com/gh/AbdealiJK/pycolorname|yes]] |
| Pillow | [[https://pypi.python.org/pypi/Pillow|yes]] | | yes | yes | [[https://travis-ci.org/python-pillow/Pillow|yes]] |
Binary tools:
- exiftools
- convert (imagemagick)
- pdftotext
- pdfimages
- ffprobe
List of analysis done by catimages (Categories populated and metadata being analyzed): https://etherpad.wikimedia.org/p/Zl7V7KuK7J
Details:
Primary mentor: @DrTrigon
Co-mentor: @jayvdb
Other mentors: (optional, Phabricator username)
Skills: python and computer vision
Estimated project time for a senior contributor: 2-4 weeks
Microtasks: T76211 T128946 T67192
Conpherence: Z360
Meetings: T133762