> I do not think this matters, first off there is no commitment from our side 
> on type hinting or anything. We do not have any DEP or something related and 
> didn't even discuss if we actually want type hinting. Personally I am kinda 
> against it anyways, since it clutters the code for not much gain. So if we 
> were to do it, I would prefer stub files anyways, in which case we won't 
> depend on any python version as far as I understood that.

As Django user, I have to say type hinting would help a lot to understand how 
things work in Django without looking at docs. It could save a lot of time for 
beginners, too. Also I have to mention, that PyCharm (which is the most popular 
IDE for Python, I believe) has support for type hinting and could help you 
avoid many problems before even firing up a server.

In my opinion not adding type hints in Django 2.0 would be a mistake.

> "Django 2.0 will be the last version of Django to support Python 3.4. This 
> allows those running older operating systems with Python 3.4 (such as Ubuntu 
> 14.04 and CentOS 6) to use the latest version of Django for an additional 
> eight months. If you don't intend to upgrade to a system with Python 3.5 or 
> later by the end of security updates for Django 2.0 in April 2019, stick with 
> Django 1.11 LTS which is supported until April 2020."


As to Python 3.4 support, Django 1.11 will be LTS and most projects written 
with Django <=1.10 will probably stay on LTS version. Using Django 2.0 in 
existing project would require rewriting some bits anyway (correct me if I'm 
wrong), so there's really not much point in sticking to Python 3.4/3.5 in my 
opinion. If you're rewriting your code to use new version of Django, you could 
as well use new version of Python. Isn't it the whole point of major release?

Sticking to 3.6 would allow using format strings, and that would greatly 
increase readability (looking at %-strings here). To be honest, using 
str.format on string with many variables can hurt readability almost as much as 
% does. Also, variable annotation only appeared in 3.6, so supporting Python 
3.5 an older would mean that variable annotation is only possible using 
comments (which is not necessarily a bad thing, tough it has some downsides as 
pointed out in PEP-526).

I have to add, that nowadays deploying python applications with desired version 
of Python is fairly easy. One could use relocatable virtualenvs, Docker 
containers and so on. So even if you're on an outdated distro (or something 
like RHEL, that wouldn't get new python version in ages, probably) and your OS 
is stuck with older version of Python, your application doesn't have to be.

Since there're a lot of Django users out there who aren't subscribed to this 
mailing list, I suggest to sum up this discussion in a blog post and let users 
vote. I believe a big "Help decide Django 2.0 fate" button on djangoproject.com 
would attract much more attention to the issue. Maybe most of Django users are 
ready to migrate to Python 3.6 when they switch to Django 2.0 (probably not, 
but who knows) and developers could start enjoying new Python features a year 
or two earlier.

P.S. Please treat everything above as a personal opinion, I'm probably wrong 
about some things. And sorry for a bad English, it's not my native language.

> On 7 Jan 2017, at 19:48, Tim Graham <timogra...@gmail.com> wrote:
> 
> Daniele, here's my try at being more concrete than "It seems reasonable" and 
> "decent ledge of overlap". Let me know if you meant something different!
> 
> "Django 2.0 will be the last version of Django to support Python 3.4. This 
> allows those running older operating systems with Python 3.4 (such as Ubuntu 
> 14.04 and CentOS 6) to use the latest version of Django for an additional 
> eight months. If you don't intend to upgrade to a system with Python 3.5 or 
> later by the end of security updates for Django 2.0 in April 2019, stick with 
> Django 1.11 LTS which is supported until April 2020."
> 
> I'd rather not allow Python 3.4 users to strand themselves on Django 2.0 when 
> sticking with 1.11 would provide longer security support (lesson learned from 
> Python 2.6 users stranded on Django 1.6), but hopefully documenting this 
> danger will help prevent that this time around.
> 
> On Saturday, January 7, 2017 at 6:30:23 AM UTC-5, Daniele Procida wrote:
> On Sat, Jan 7, 2017, Florian Apolloner <f.apo...@gmail.com <javascript:>> 
> wrote: 
> 
> >Not sure on how we'd put that into text, but something along the lines of 
> >"we will support 3.4+ as long as feasible for us to do so" -- though I do 
> >understand that this is like the same as saying: "We'll just support what 
> >we want, how long we want" :D 
> 
> For the purposes of being reassuring, it needs to be concrete, otherwise 
> we're just moving people's doubt and uncertainty around! 
> 
> 
> It seems reasonable that Django 2.0 should continue to support Python 3.4, 
> and that Django 2.1 should not. That provides a decent ledge of overlap for 
> those climbing up these tricky upgrade paths to rest on and catch their 
> breath. 
> 
> Daniele 
> 
> 
> -- 
> 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 django-developers+unsubscr...@googlegroups.com 
> <mailto:django-developers+unsubscr...@googlegroups.com>.
> To post to this group, send email to django-developers@googlegroups.com 
> <mailto:django-developers@googlegroups.com>.
> Visit this group at https://groups.google.com/group/django-developers 
> <https://groups.google.com/group/django-developers>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/django-developers/68cfdafc-730c-42bb-a772-4f17193645f5%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/django-developers/68cfdafc-730c-42bb-a772-4f17193645f5%40googlegroups.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
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 django-developers+unsubscr...@googlegroups.com.
To post to this group, send email to django-developers@googlegroups.com.
Visit this group at https://groups.google.com/group/django-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/FCA58BE1-AD25-41D6-8D7B-B469CFEDC3BD%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to