Python version support for LTS Django (in particular v2.2)

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Python version support for LTS Django (in particular v2.2)

Carlton Gibson-3
Hi all. 

In November last year we added official Python 3.7 support to Django 1.11.

https://groups.google.com/d/topic/django-developers/H7fP5w0YU2I/discussion

This was 18 months after release, and well into the extended support period. 

There had been a long-line of requests to add that support. It seems that lots of users want both the latest 
Python and the Django LTS. 


Django 2.2 officially only supports Python 3.8. 

Python 3.8 is already available. 

Python 3.9 will be available Oct 2020, which is a ≈18months before 2.2. is EOL, and is roughly equivalent to when we added support for Python 3.7 to Django 1.11. 


I predict a similarly strong demand to support the newer Python versions in Django 2.2. 

I'm happy to take whatever line we deem appropriate here, but I'd like to avoid, for example, saying "No, it's not supported" for many months, before then changing our minds. 

So what shall we do? 

Django 2.2 is still in mainstream support and I think it should automatically get Python 3.8 support. 
I think version of Django should support the new Python versions whilst in mainstream support, but I think this applies doubly to the LTS, even though the LTS isn't my thing, simply because of the demand for it. 

Data point: I didn't test the full matrix but, tests are already passing here. 

For Python 3.9 I think we should probably declare now that we will review whether we will support it for 2.2 LTS when it's released. 
(i.e. if it's a small back port like the one required for 3.7/1.11 then yes, otherwise no.) 


What do we think? 

Thanks 
Kind Regards,

Carlton

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/2fd6b27c-fae3-4a05-b8b7-9f04eaf3da89%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Python version support for LTS Django (in particular v2.2)

Carlton Gibson-3
Sorry typo there. Should say: 

> Django 2.2 officially only supports up to Python 3.7. 

Otherwise the issue doesn't make sense. 

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/6a01c30f-3a41-4d66-b40d-c8de221a62fb%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Python version support for LTS Django (in particular v2.2)

Tobias McNulty
tl;dr: I'm in favor of officially supporting 3.8, if it looks like it won't be so hard to do (and especially if doing so will result in a net decrease in the support burden).

Long answer:

I'm not sure if this was prompted in part by my question in #django-dev... but consider me one of the people who was confused about this. (And thanks Mariusz for reminding me of this page which more clearly lays out the supported Django/Python version combos: https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django) :)

At least, we may wish to clarify the 2.2 release notes to say that versions before and after those explicitly listed are NOT supported (and/or link people to the above page from the release notes). Depending on how closely one is paying attention (I wasn't), it's possible to read this sentence and think that Django actually wants me to use Python 3.8 with Django 2.2:

"We highly recommend and only officially support the latest release of each series." (https://docs.djangoproject.com/en/2.2/releases/2.2/)

(I think) I see now that that's referring to the latest release of Django rather than Python, but I'm still not entirely sure about that. (The other possibility being that that language is a holdover from the time when we were supporting both Python 2 and 3.)

Cheers,

Tobias McNulty
Chief Executive Officer

[hidden email]
www.caktusgroup.com



On Wed, Oct 30, 2019 at 10:56 AM Carlton Gibson <[hidden email]> wrote:
Sorry typo there. Should say: 

> Django 2.2 officially only supports up to Python 3.7. 

Otherwise the issue doesn't make sense. 

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/6a01c30f-3a41-4d66-b40d-c8de221a62fb%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/CAMGFDKR8EdXd_9ZwbPK2rk1BSecFQ3bRypTOXOKZb3ajYkRB6g%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Python version support for LTS Django (in particular v2.2)

Carlton Gibson-3
Not so much prompted, as reminded. It's already on my mind... I've a lot of "Add Python 3.8 support" in various places the last couple of weeks... 

That _highly recommend_ sentence could go: 

> We highly recommend and only officially support the latest point release of each support Python series. 

...

On Wednesday, 30 October 2019 16:47:15 UTC+1, Tobias McNulty wrote:
tl;dr: I'm in favor of officially supporting 3.8, if it looks like it won't be so hard to do (and especially if doing so will result in a net decrease in the support burden).

Long answer:

I'm not sure if this was prompted in part by my question in #django-dev... but consider me one of the people who was confused about this. (And thanks Mariusz for reminding me of this page which more clearly lays out the supported Django/Python version combos: <a href="https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fdocs.djangoproject.com%2Fen%2Fdev%2Ffaq%2Finstall%2F%23what-python-version-can-i-use-with-django\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHvM1TqT11WW495Ia2KMUD0nnE1dg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fdocs.djangoproject.com%2Fen%2Fdev%2Ffaq%2Finstall%2F%23what-python-version-can-i-use-with-django\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHvM1TqT11WW495Ia2KMUD0nnE1dg&#39;;return true;">https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django) :)

At least, we may wish to clarify the 2.2 release notes to say that versions before and after those explicitly listed are NOT supported (and/or link people to the above page from the release notes). Depending on how closely one is paying attention (I wasn't), it's possible to read this sentence and think that Django actually wants me to use Python 3.8 with Django 2.2:

"We highly recommend and only officially support the latest release of each series." (<a href="https://docs.djangoproject.com/en/2.2/releases/2.2/" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fdocs.djangoproject.com%2Fen%2F2.2%2Freleases%2F2.2%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGdu6wu_zdv7cp7e6JdbpmmpuIjMg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fdocs.djangoproject.com%2Fen%2F2.2%2Freleases%2F2.2%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGdu6wu_zdv7cp7e6JdbpmmpuIjMg&#39;;return true;">https://docs.djangoproject.com/en/2.2/releases/2.2/)

(I think) I see now that that's referring to the latest release of Django rather than Python, but I'm still not entirely sure about that. (The other possibility being that that language is a holdover from the time when we were supporting both Python 2 and 3.)

Cheers,

Tobias McNulty
Chief Executive Officer

<a href="javascript:" style="color:rgb(108,122,120);text-decoration:none" target="_blank" gdf-obfuscated-mailto="p6mXXLCOAAAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">tob...@...
<a href="http://www.caktusgroup.com/" style="color:rgb(108,122,120);text-decoration:none" target="_blank" rel="nofollow" onmousedown="this.href=&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fwww.caktusgroup.com%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNG6RpHdHUA5QLae7099-vwv2NLrvg&#39;;return true;" onclick="this.href=&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fwww.caktusgroup.com%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNG6RpHdHUA5QLae7099-vwv2NLrvg&#39;;return true;">www.caktusgroup.com



On Wed, Oct 30, 2019 at 10:56 AM Carlton Gibson <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="p6mXXLCOAAAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">carlto...@...> wrote:
Sorry typo there. Should say: 

> Django 2.2 officially only supports up to Python 3.7. 

Otherwise the issue doesn't make sense. 

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="p6mXXLCOAAAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">django-d...@googlegroups.com.
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/django-developers/6a01c30f-3a41-4d66-b40d-c8de221a62fb%40googlegroups.com?utm_medium=email&amp;utm_source=footer" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/msgid/django-developers/6a01c30f-3a41-4d66-b40d-c8de221a62fb%40googlegroups.com?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/msgid/django-developers/6a01c30f-3a41-4d66-b40d-c8de221a62fb%40googlegroups.com?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;">https://groups.google.com/d/msgid/django-developers/6a01c30f-3a41-4d66-b40d-c8de221a62fb%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/f02fff0d-7ffc-4a21-8d98-655742fad3c1%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Python version support for LTS Django (in particular v2.2)

Tobias McNulty
On Wed, Oct 30, 2019 at 12:29 PM Carlton Gibson <[hidden email]> wrote:
That _highly recommend_ sentence could go: 

> We highly recommend and only officially support the latest point release of each support Python series. 

 👏 Love it! (though perhaps drop or edit the second "support")

Tobias

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/CAMGFDKQipHMR5VyM-VvCx0uPB1E9DPeTOX08fL%3DwYR%2B%3D%2B7GTgw%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Python version support for LTS Django (in particular v2.2)

Adam Johnson-2
I'm also in favour of adding 3.8 support and backporting 3.9 support assuming it's not a huge change!

On Wed, 30 Oct 2019 at 16:39, Tobias McNulty <[hidden email]> wrote:
On Wed, Oct 30, 2019 at 12:29 PM Carlton Gibson <[hidden email]> wrote:
That _highly recommend_ sentence could go: 

> We highly recommend and only officially support the latest point release of each support Python series. 

 👏 Love it! (though perhaps drop or edit the second "support")

Tobias

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/CAMGFDKQipHMR5VyM-VvCx0uPB1E9DPeTOX08fL%3DwYR%2B%3D%2B7GTgw%40mail.gmail.com.


--
Adam

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/CAMyDDM2Kx4ep6XaW8HctpvWE329OWCx%2BtCjqj%3DbLBpzUUF6HFA%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Python version support for LTS Django (in particular v2.2)

Nick Pope
In reply to this post by Carlton Gibson-3
I think that the main reason for supporting Python 3.7 in Django 1.11 was to help make things easier for those migrating from Python 2 to 3.

Python 3.8 was only released ~3 months before the Python 2 EOL, so most people in the last year and up to the end of this year will likely migrate to Python 3.7.

I also feel the policy was a little aggressive given that the total change to support Python 3.7 was https://github.com/django/django/compare/216398d1...c11a7b4

So +1 to Python 3.8 for Django 2.2, with an option on Python 3.9 if trivial.

On Wednesday, 30 October 2019 14:44:20 UTC, Carlton Gibson wrote:
Hi all. 

In November last year we added official Python 3.7 support to Django 1.11.

<a href="https://groups.google.com/d/topic/django-developers/H7fP5w0YU2I/discussion" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/topic/django-developers/H7fP5w0YU2I/discussion&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/topic/django-developers/H7fP5w0YU2I/discussion&#39;;return true;">https://groups.google.com/d/topic/django-developers/H7fP5w0YU2I/discussion

This was 18 months after release, and well into the extended support period. 

There had been a long-line of requests to add that support. It seems that lots of users want both the latest 
Python and the Django LTS. 


Django 2.2 officially only supports Python 3.8. 

Python 3.8 is already available. 

Python 3.9 will be available Oct 2020, which is a ≈18months before 2.2. is EOL, and is roughly equivalent to when we added support for Python 3.7 to Django 1.11. 


I predict a similarly strong demand to support the newer Python versions in Django 2.2. 

I'm happy to take whatever line we deem appropriate here, but I'd like to avoid, for example, saying "No, it's not supported" for many months, before then changing our minds. 

So what shall we do? 

Django 2.2 is still in mainstream support and I think it should automatically get Python 3.8 support. 
I think version of Django should support the new Python versions whilst in mainstream support, but I think this applies doubly to the LTS, even though the LTS isn't my thing, simply because of the demand for it. 

Data point: I didn't test the full matrix but, tests are already passing here. 

For Python 3.9 I think we should probably declare now that we will review whether we will support it for 2.2 LTS when it's released. 
(i.e. if it's a small back port like the one required for 3.7/1.11 then yes, otherwise no.) 


What do we think? 

Thanks 
Kind Regards,

Carlton

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/613aee69-1d8b-445c-a64b-0917eed976a7%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Python version support for LTS Django (in particular v2.2)

Johannes Hoppe
In reply to this post by Carlton Gibson-3
I am trying to understand the motivation to use an "old" Django 2.2 but a "bleading edge" Python version. I can understand Nicks logic of people needing to upgrade form Python 2 to 3 and Debian by default gave them Python 3.7.
Following that narrative, maybe we should check what the major operating systems have in stall for us, right? Then again, there is not going to be a big Python 2 to 3 change again *fingerscrossed*.

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/be847bcd-fff5-4672-8d1e-775d8fa7b429%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Python version support for LTS Django (in particular v2.2)

Jani Tiainen
Problem is that Python.org site always gives latest version as default download.

When 3.8 was released one lib I work with suddenly got flood of help requests because there was not prebuilt packages for 3.8. 

So I think it's more issue for people that inadvertly upgrades Python.

to 31. lokak. 2019 klo 11.39 Johannes Hoppe <[hidden email]> kirjoitti:
I am trying to understand the motivation to use an "old" Django 2.2 but a "bleading edge" Python version. I can understand Nicks logic of people needing to upgrade form Python 2 to 3 and Debian by default gave them Python 3.7.
Following that narrative, maybe we should check what the major operating systems have in stall for us, right? Then again, there is not going to be a big Python 2 to 3 change again *fingerscrossed*.

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/be847bcd-fff5-4672-8d1e-775d8fa7b429%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/CAHn91of%2B3oDEyb6cHcKtPG3gk61%3DucqpoRzUnPRpZ%2BS7ux2ZSg%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Python version support for LTS Django (in particular v2.2)

Johannes Hoppe
I see. Well, I think I would be for supporting Python 3.8 in that case. Maybe it makes sense to add Python nightly build tests to those braches to make sure we catch issues early and it doesn't become an overwhelming task.

On Fri, Nov 1, 2019, 05:02 Jani Tiainen <[hidden email]> wrote:
Problem is that Python.org site always gives latest version as default download.

When 3.8 was released one lib I work with suddenly got flood of help requests because there was not prebuilt packages for 3.8. 

So I think it's more issue for people that inadvertly upgrades Python.

to 31. lokak. 2019 klo 11.39 Johannes Hoppe <[hidden email]> kirjoitti:
I am trying to understand the motivation to use an "old" Django 2.2 but a "bleading edge" Python version. I can understand Nicks logic of people needing to upgrade form Python 2 to 3 and Debian by default gave them Python 3.7.
Following that narrative, maybe we should check what the major operating systems have in stall for us, right? Then again, there is not going to be a big Python 2 to 3 change again *fingerscrossed*.

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/be847bcd-fff5-4672-8d1e-775d8fa7b429%40googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/django-developers/SuOdHt2AWgs/unsubscribe.
To unsubscribe from this group and all its topics, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/CAHn91of%2B3oDEyb6cHcKtPG3gk61%3DucqpoRzUnPRpZ%2BS7ux2ZSg%40mail.gmail.com.

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/CAPcC2ok%3DyJkTdwfn7OTsMUODA-Kzuz4G3xfuRWCrpP4ktL9WTw%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Python version support for LTS Django (in particular v2.2)

Mariusz Felisiak

I see. Well, I think I would be for supporting Python 3.8 in that case. Maybe it makes sense to add Python nightly build tests to those braches to make sure we catch issues early and it doesn't become an overwhelming task.

We have such jobs https://djangoci.com/view/Main/

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/42195e8e-a048-420a-a1d8-c700baa7bd83%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Python version support for LTS Django (in particular v2.2)

Mariusz Felisiak
In reply to this post by Carlton Gibson-3
Django 2.2.8 adds compatibility with Python 3.8 (see [1])

Best,
Mariusz


[1] https://github.com/django/django/commit/b93a0e34d9b9b99d41103782b7e7aeabf47517e3

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/4fb487db-ce80-431f-97cf-7580c74d48e6%40googlegroups.com.