[Mailman-Developers] Why is postorius using python2?

f at florianfuchs.com f at florianfuchs.com
Tue Aug 4 23:01:52 CEST 2015


Am 2015-08-04 20:55, schrieb Barry Warsaw:
> Others have provided good answers, but I'll add one comment about what 
> I
> consider to be policy regarding Python version support.  Feedback 
> welcome of
> course!
> 
> On Aug 03, 2015, at 02:34 PM, Simon Hanna wrote:
> 
>> I was astonished to find out that postorius still uses python2 
>> although
>> mailman made the switch to python3.
> 
> The Core can be Python 3-only because the official way to script it is 
> through
> the REST API, which of course is not only Python-version independent, 
> but
> actually only depends on you being able to speak HTTP+JSON.  Of course
> mailman.client is the official Python binding to the REST API and that 
> should
> remain bilingual (Python 2 & 3 compatible) for some time.
> 
> Note that this did break HyperKitty at the time because it was 
> importing from
> the 'mailman' package.  That's of course since been fixed.
> 
> I think both HyperKitty and Postorius should officially support Python 
> 3, but
> remain Python 2 compatible.  The reason for this is that they're both 
> Django
> applications, so if they have to co-habitate with other Python 2-only 
> Django
> apps, they'll need to also run in Python 2.  They should be Python 3
> compatible, because, well, Python 3 is much awesomer!

We don't have any direct Python2-only dependencies in Postorius any more 
since we made the switch from django-social-auth to 
python-social-auth/django-browserid in April. I'm pretty sure the same 
is true for HyperKitty (Aurélien...?). So I guess there's no reason why 
we shouldn't start supporting Python 3 as well.

So the question would be: Go bilingual or py3 only? Bilingual was what 
we had agreed on before, for the reasons Barry stated above. But mabye 
this argument becomes less valid as time passes and Python 3 adoption is 
on the rise. Plus: If someone would want to integrate a py3-only 
Postorius/HK into an existing site *and* this site is not py3 
compatible, it would still be possible to run both on the same server, 
using another VirtualHost/subdomain or similar.

I'm thinking aloud here, not *necessarily* advocating to only support 
Python 3 soon. But I wonder if there are really that many people who 
would be negatively affected by it. And, as stated above, for those who 
are, there's always a way around it. Mabye it's worth giving it another 
thought.

OTOH, supporting both py2+3 is probably not that much more work. But it 
doesn't make our code much nicer and is not exactly a strong satement in 
favor of Python 3 adoption.

Cheers,
Florian




More information about the Mailman-Developers mailing list