From Mageia wiki
Jump to: navigation, search

Summary

Replace PIL (python-imaging) with Pillow, an actively maintained fork which is also heading for python3 compatibility

Owner

  • Name: Philippe Makowski
  • Email: philippem@mageia.org

Resources

All people packaging software that use PIL

Current status

  • Targeted release: Mageia 4
  • Last updated: 2024/03/29
  • Percentage of completion: 100%

Detailed Description

The PIL project has been rather inactive lately (last release in 2009), and one big issue is the missing python 3 compatibility. There seems to be some general agreement that Pillow [1] is a likely candidate to succeed PIL, and in particular to bring python 3 support, see the discussion at [2]. Pillow describes itself as

 Pillow is the "friendly" PIL fork. PIL is the Python Imaging Library. Pillow was
 started for and is currently maintained by the Plone community. But it is used by
 many other folks in the Python web community, and probably elsewhere too.
 
 The fork author's goal is to foster packaging improvements via:
 
 - Publicized development and solicitation of community support.
 - Exploration of packaging problems within the fork, most noticably
   via adding setuptools support but also via clean up & refactoring
   of packaging code. 

Pillow is practically a drop-in replacement for PIL.

Fedora did the move for Fedora 19 [3]


Why it would be good for Mageia to include it

  • Actively maintained python imaging library
  • Python 3 compatibility

Test case

Software / Packages Dependencies

List of packages to be implied (to be done) but we can have an idea from the Fedora page [3]

What could disrupt development of this new feature

Pillow is a drop-in replacement for PIL, with one detail: The PIL modules now use relative imports between each other, so it is no longer possible to write

import Image

but one needs to write

from PIL import Image

Planning

  • Package Pillow, add obsoletes/provides for python-imaging DONE
  • Notify maintainers of packages depending on PIL, work with them to make the move DONE
urpmq --whatrequires python-imaging

Contingency

Release Notes

Documentation