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

Abhilash Raj maxking at asynchronous.in
Wed Nov 15 22:29:01 EST 2017


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?
> 
> [1]: https://www.djangoproject.com/download/
> 



More information about the Mailman-Developers mailing list