[Mailman-Developers] Migrating Postorius and Hyperkitty to Python 3

Abhilash Raj maxking at asynchronous.in
Sun Oct 8 17:54:10 EDT 2017


On Sun, Oct 8, 2017, at 02:39 PM, Terri Oda wrote:
> What's the state for Centos? I think it was the last likely distro we
> cared about with old python needs, but I'm not sure core supports it
> at all any more.
I am not sure about the state of CentOS, but Core doesn't support Python
2 anymore. So, in theory, if you need to run Mailman 3, you need Python
3 anyway as the API isn't meant to be exposed outside of a single host.
Also, I don't know about the state of containers support in distros, but
with containers, there is always an option to run Python3 even if their
distro doesn't support.

> 
> 
> On October 1, 2017 2:12:46 PM PDT, Abhilash Raj
> <maxking at asynchronous.in> wrote:>> Hi All,
>> 
>> 
>> 
>> Mailman uses Django web framework for the web based frontends,
>> Postorius
>>>> - The Official UI, and Hyperkitty - The official Archiver. They
>>   are both
>>>> Django "apps" which means that they can be plugged into any other
>>>> existing Django "project" (aka Django "installation") to work
>> alongside
>>>> other apps that people might be running.
>> 
>> 
>> 
>> Currently, both the Django apps we have are Python 2 only, we have
>>>> talked about moving to Python 3 but we decided we want it to be
>> 
>> bilingual (support both 2 & 3). The reason we decided that was
>> because
>>>> if people would want to embed Postorius & Hyperkitty in their
>> 
>> installations, they need to be able to run it under whatever python
>>>> versions they are using.
>> 
>> 
>> 
>> I want to revisit this assumption for being bilingual.
>> Currently, there
>>>> is no supported version of Django which doesn't support Python 3.
>>>> Starting from v2.0, set to release in December 2017, Django is
>> going to
>>>> drop Python2 support. Now, that doesn't mean no one can run
>> Django under
>>>> Python2, 1.11 (LTS version) supports Python2 and will be supported
>>>> probably till Python 2 is supported (April 2020 according to [1]).
>>>> 
>> 
>> I believe that our (limited) development efforts would be best
>> utilized
>>>> if we just drop the support for Python 2 in Postorius & Hyperkitty
>>>> instead of trying to be bilingual. Any day one of our
>> dependencies may
>>>> decide to do the same, and we would have to then use Python 3 anyway.
>>>> Also, dropping Python 2 support doesn't seem like a lot of pain for
>>>> anyone, you just need another instance of Django running,
>> which is not
>>>> *that* hard using uwsgi (in Emperor mode). I believe most of our
>>>> dependencies should support Python 3, or should have a good enough
>>>> replacement if it doesn't.
>> 
>> 
>> 
>> 
>> 
>> Thoughts?
>> 
>> 
>> 
>> [1]: https://www.djangoproject.com/download/
>> 

--
  Abhilash Raj
  maxking at asynchronous.in




More information about the Mailman-Developers mailing list