Re: [Mailman-Developers] Migrating Postorius and Hyperkitty to Python 3
Update on this (sorry for the top post),
So we are going to move forward with Python 3 only and will be dropping Python 2 support in next major release for each components.
I am (slowly) working through the test suite to improve the coverage so that nothing breaks when we move to Python 3. There are already some pending merge requests from Simon (thank you!) on both Django-Mailman 3 and Postorius. Once I am done with tests, I will dig in to review them both and co-ordinate with Simon to land them.
thanks, Abhilash
On Sun, 2017-10-01 at 14:12 -0700, Abhilash Raj 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?
participants (1)
-
Abhilash Raj