> 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.