[Image-SIG] Pillow, the "friendly" PIL fork

Alex Clark aclark at aclark.net
Sun Aug 1 20:38:21 CEST 2010

On 8/1/10 7:04 AM, in article
AANLkTikcnVgGTjnWTiag0xNmKwdNU+QW2prNoETSv3mS at mail.gmail.com, "Fredrik
Lundh" <fredrik at pythonware.com> wrote:

> 2010/7/31 Daniel Fetchinson <fetchinson at googlemail.com>:
>>> I have been wanting to tackle this for sometime, and finally got around to
>>> it tonight. I've created a "friendly" fork of PIL called "Pillow":
>>> http://pypi.python.org/pypi/Pillow/1.0
>>> Some background: I've been doing Plone development for the past 5 years or
>>> so, and PIL has always "been an issue". I won't get into what the issues are
>>> now, but I assume folks know them.
>> Well, I actually don't know what the "issues" are, but am very
>> interested in hearing them!
> Plone exists in the Zope universe, not the Python universe, which is
> an issue in itself.

We are working on that. Or at least I should say, I am working on that. I've
pushed very hard for Plone to become "more Pythonic". And Zope should do the
same IMVHO (though I'm not as involved in the Zope community).

Things like making http://plone.org/products support "PyPI-like uploading"
(which Tarek Ziadé helped us with) have taken us at least part of the way
toward achieving that goal.

> In this case, I think the actual "issue" is that Zope uses its own
> build system that's puts specific requirements on the distutils
> packaging; 

Can you say what you are referring to here? I'm not familiar with itŠ or
rather I should say I don't want to guess.

Note: as of Zope 2.12, Zope 2 uses the egg package format.

> requirements that are not compatible with PIL's setup file.

OK, I'm trying to figure this out. As I understand it, the result of the
incompatibility is that:

 import Image

Fails in Zope 2 if PIL is installed because Zope 2 (OFS) has it's own Image

>  Instead of just sit down and contribute a patch like everyone else
> would have done, they've spent a couple of years ranting on their own
> mailing lists and occasionally sending me nastygrams (including
> writing reviews on PyPI telling people to stay away from the software
> because if it's not convenient to use with a package system you
> invented yourself, it's worthless for everyone).

Right, and that's what I'd like to straighten out once and for all if
possible. It seems to me it's the Python community that should "save us". In
other words, if everyone follows the Python standards (whether they are
good/bad/wright/wrong/etc) we'd at least be able to move forward.

> At least a packaging
> fork means that someone's over there is producing something more than
> invectives, but I'd still prefer a patch.

Can you explain what that patch would look like? I'm interested in providing
such a patch if possible. However, I'm under the impression that there is a
fundamental disagreement preventing the inclusion of such a patch (i.e. If I
submit a patch that breaks "import Image" you aren't going to apply it.)

At the very least, it would be "nice" to get the story straight and if Plone
(and anyone else interested) needs to move forward with a packaging fork we
can do so in agreement and harmony (i.e. PIL can continue to support "import
Imaging" while Pillow would require "from PIL import Imaging") and we would
aim to include any new PIL feature adds in PIL to Pillow.



FWIW, I think it was Chris Withers (on the repoze-dev list) that suggested
someone "pop in to image-sig" to take care of this. So thanks Chris Withers,

> </F>
> _______________________________________________
> Image-SIG maillist  -  Image-SIG at python.org
> http://mail.python.org/mailman/listinfo/image-sig

Alex Clark · http://aclark.net
Author ‹ Plone 3.3 Site Administration · http://aclark.net/admin

More information about the Image-SIG mailing list