[Image-SIG] Adding Python 3 support

Mark Sienkiewicz sienkiew at stsci.edu
Thu Oct 11 16:30:14 CEST 2012


On 10/10/12 23:12, Alex Clark wrote:
> On 2012-10-11 02:57:07 +0000, Brian Crowell said:
>
>> On Wed, Oct 10, 2012 at 8:07 PM, Alex Clark <aclark at aclark.net> wrote:
>>> No. But maybe a single "Python 3 support" ticket in the relevant branch
>>> (https://bitbucket.org/effbot/pil-2009-raclette). IIUC, PIL has some Python
>>> support added. One possible scenario is that we take that code and release
>>> it.
>>
>> Do you consider Raclette your upstream? Also, I'm reading through the
>> Python 3 patches on there.
>
> Yes. IIUC that's where there the latest PIL work is/was taking place.


The last commit I see there is 2011-06-28, which is quite some time ago.  Have you confirmed with Fredrik Lundh that PIL is still under active development?  Do you have an agreement with him about how Pillow and PIL will interact?

I presume that Pillow is a fork because he is unable or unwilling to apply the patches that you need and make a release.  There are various good reasons that can happen, but for our purposes, it is only important that it _has_ happened.

I expect a Python 3 port to be a big change.  The more changes you make, the harder it will be to bring in patches from the old code base.  I can see wanting to track the original PIL, but it is common for a free software project eventually reach a state where the original author is no longer able to continue developing it.

If that has happened to PIL, then we have some questions to consider:  Is it time for a new maintainer for PIL?  Is it time for Pillow and PIL to go their separate ways?  Is it time to find a way to merge the two projects?

I don't have any answers, but it seems to me that those are relevant questions.


>
>>
>> Essentially all I'm going to do is update the Python source to where
>> it meets Py3 syntax and library requirements, get the extension
>> modules to build under both Py2 and Py3, then futz with the bytes/str
>> division using the three existing ports as a guide. After that, all we should need is solid testing.
>>> Lundh seemed to expect to be able to
>>> support much older versions of Python, which really wouldn't have
>>> worked when he hit the Python source. I'm going to go with a cleaner
>>> approach. 
>>
>
>
>
> +1. This would be the time for others to weigh in I guess. Is this what folks generally want to see from PIL/Pillow wrt to Python 3 support?


+1.  I have no reason to expect we will get Python 3 support any other way.  I mentioned before that I am not concerned with compatibility with very old Python versions (I already have PIL for those systems), so a simple and clean port looks like the way to go.

Mark S.




More information about the Image-SIG mailing list