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

Abhilash Raj maxking at asynchronous.in
Sun Oct 1 17:12:46 EDT 2017


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