
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