This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Title: Keep provisional for the duration of the Python 3.6 release cycle
Type: Stage: resolved
Components: Library (Lib) Versions: Python 3.7, Python 3.6
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: brett.cannon, gvanrossum, levkivskyi, lukasz.langa, ned.deily, python-dev, rhettinger
Priority: normal Keywords: 3.6regression, patch

Created on 2017-01-18 21:20 by gvanrossum, last changed 2022-04-11 14:58 by admin. This issue is now closed.

File name Uploaded Description Edit
provisional-typing-patch.diff levkivskyi, 2017-01-20 14:56 review
Messages (11)
msg285758 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2017-01-18 21:20
The 3.6 what's new ( claims is no longer provisional, but I don't think it's quite ready yet. There are a number of things that I'd like to merge into over the duration of 3.6's lifetime. Nothing backwards incompatible, but definitely new features.

See also
msg285759 - (view) Author: Ivan Levkivskyi (levkivskyi) * (Python committer) Date: 2017-01-18 21:22
I don't have any strong opinion on this. If others don't object then I am perfectly fine with keeping typing provisional for 3.6.
msg285760 - (view) Author: Łukasz Langa (lukasz.langa) * (Python committer) Date: 2017-01-18 21:33
There are three specific areas I can identify that are missing from the typing module at the moment:
* support for structural typing (protocols)
* support for typing heterogenous dictionaries (dictionary "schema")
* support for typing arbitrary callables
msg285761 - (view) Author: Ivan Levkivskyi (levkivskyi) * (Python committer) Date: 2017-01-18 21:40
There are also minor things like NoReturn, typing_inspect helpers(?) etc. 

The main good point I see for keeping typing provisional is we could iterate fast and come up with more "settled" and robust API in time for 3.7.
msg285769 - (view) Author: Raymond Hettinger (rhettinger) * (Python committer) Date: 2017-01-19 07:09
+1 for keeping this provisional.  The code is still maturing and needs to be iterated while we gain experience with it.
msg285824 - (view) Author: Brett Cannon (brett.cannon) * (Python committer) Date: 2017-01-19 17:55
Keeping it provisional sounds reasonable to me, especially if it helps land protocol support.
msg285861 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2017-01-19 23:51
As far as I can tell, the only places that typing was declared as provisional were in PEP 484 and twice in the 3.5 What's New document (; it doesn't appear to have been mentioned in the library reference ( and probably should have been.  FTR, it looks like there was some discussion of removing typing's provisional status in and  While it seems somewhat unusual to reinstate a feature's provisional status, I don't have an objection as 3.6 release manager since it is clear that typing is still a new and evolving module.  To make the change in status, the 3.6 What's New document should be updated, a Misc/NEWS entry added for 3.6.1, and the provisional status added to Docs/library/typing.rst.
msg285864 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2017-01-20 00:14
Thanks everybody! We'll make provisional again for 3.6. @levkivskyi do you have the stomach to upload a patch here?
msg285911 - (view) Author: Ivan Levkivskyi (levkivskyi) * (Python committer) Date: 2017-01-20 14:56
Yes, I attached the patch.
msg285912 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2017-01-20 15:17
New changeset 72c64b6e5486 by Ned Deily in branch '3.6':
Issue #29316: Restore the provisional status of typing module and add

New changeset ef416878495f by Ned Deily in branch 'default':
Issue #29316: merge 3.6
msg285913 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2017-01-20 15:18
Patch LGTM, thanks Ivan!
Date User Action Args
2022-04-11 14:58:42adminsetgithub: 73502
2017-01-20 15:18:24ned.deilysetstatus: open -> closed
resolution: fixed
messages: + msg285913

stage: patch review -> resolved
2017-01-20 15:17:30python-devsetnosy: + python-dev
messages: + msg285912
2017-01-20 14:56:22levkivskyisetfiles: + provisional-typing-patch.diff
keywords: + patch
messages: + msg285911

stage: needs patch -> patch review
2017-01-20 00:14:48gvanrossumsetmessages: + msg285864
title: Can we keep provisional for the duration of the Python 3.6 release cycle? -> Keep provisional for the duration of the Python 3.6 release cycle
2017-01-19 23:51:30ned.deilysetmessages: + msg285861
stage: needs patch
2017-01-19 17:55:06brett.cannonsetnosy: + brett.cannon
messages: + msg285824
2017-01-19 07:09:26rhettingersetnosy: + rhettinger
messages: + msg285769
2017-01-19 00:39:28berker.peksagsetnosy: + ned.deily
2017-01-18 21:40:12levkivskyisetmessages: + msg285761
2017-01-18 21:33:41lukasz.langasetversions: + Python 3.6, Python 3.7
nosy: + lukasz.langa

messages: + msg285760

components: + Library (Lib)
keywords: + 3.6regression
2017-01-18 21:22:01levkivskyisetnosy: + levkivskyi
messages: + msg285759
2017-01-18 21:20:07gvanrossumcreate