Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Keep typing.py provisional for the duration of the Python 3.6 release cycle #73502

Closed
gvanrossum opened this issue Jan 18, 2017 · 11 comments
Closed
Labels
3.7 (EOL) end of life stdlib Python modules in the Lib dir

Comments

@gvanrossum
Copy link
Member

BPO 29316
Nosy @gvanrossum, @brettcannon, @rhettinger, @ned-deily, @ambv, @ilevkivskyi
Files
  • provisional-typing-patch.diff
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = <Date 2017-01-20.15:18:24.666>
    created_at = <Date 2017-01-18.21:20:07.443>
    labels = ['3.7', 'library']
    title = 'Keep typing.py provisional for the duration of the Python 3.6 release cycle'
    updated_at = <Date 2017-01-20.15:18:24.665>
    user = 'https://github.com/gvanrossum'

    bugs.python.org fields:

    activity = <Date 2017-01-20.15:18:24.665>
    actor = 'ned.deily'
    assignee = 'none'
    closed = True
    closed_date = <Date 2017-01-20.15:18:24.666>
    closer = 'ned.deily'
    components = ['Library (Lib)']
    creation = <Date 2017-01-18.21:20:07.443>
    creator = 'gvanrossum'
    dependencies = []
    files = ['46356']
    hgrepos = []
    issue_num = 29316
    keywords = ['patch', '3.6regression']
    message_count = 11.0
    messages = ['285758', '285759', '285760', '285761', '285769', '285824', '285861', '285864', '285911', '285912', '285913']
    nosy_count = 7.0
    nosy_names = ['gvanrossum', 'brett.cannon', 'rhettinger', 'ned.deily', 'lukasz.langa', 'python-dev', 'levkivskyi']
    pr_nums = []
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = None
    url = 'https://bugs.python.org/issue29316'
    versions = ['Python 3.6', 'Python 3.7']

    @gvanrossum
    Copy link
    Member Author

    The 3.6 what's new (https://docs.python.org/3/whatsnew/3.6.html#whatsnew36-typing) claims typing.py 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 typing.py over the duration of 3.6's lifetime. Nothing backwards incompatible, but definitely new features.

    See also python/typing#247

    @ilevkivskyi
    Copy link
    Member

    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.

    @ambv
    Copy link
    Contributor

    ambv commented Jan 18, 2017

    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

    @ambv ambv added stdlib Python modules in the Lib dir 3.7 (EOL) end of life labels Jan 18, 2017
    @ilevkivskyi
    Copy link
    Member

    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.

    @rhettinger
    Copy link
    Contributor

    +1 for keeping this provisional. The code is still maturing and needs to be iterated while we gain experience with it.

    @brettcannon
    Copy link
    Member

    Keeping it provisional sounds reasonable to me, especially if it helps land protocol support.

    @ned-deily
    Copy link
    Member

    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 (https://docs.python.org/3.5/whatsnew/3.5.html); it doesn't appear to have been mentioned in the library reference (https://docs.python.org/3.5/library/typing.html) and probably should have been. FTR, it looks like there was some discussion of removing typing's provisional status in python/typing#278 and python/typing#247. 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.

    @gvanrossum
    Copy link
    Member Author

    Thanks everybody! We'll make typing.py provisional again for 3.6. @levkivskyi do you have the stomach to upload a patch here?

    @gvanrossum gvanrossum changed the title Can we keep typing.py provisional for the duration of the Python 3.6 release cycle? Keep typing.py provisional for the duration of the Python 3.6 release cycle Jan 20, 2017
    @ilevkivskyi
    Copy link
    Member

    Yes, I attached the patch.

    @python-dev
    Copy link
    Mannequin

    python-dev mannequin commented Jan 20, 2017

    New changeset 72c64b6e5486 by Ned Deily in branch '3.6':
    Issue bpo-29316: Restore the provisional status of typing module and add
    https://hg.python.org/cpython/rev/72c64b6e5486

    New changeset ef416878495f by Ned Deily in branch 'default':
    Issue bpo-29316: merge 3.6
    https://hg.python.org/cpython/rev/ef416878495f

    @ned-deily
    Copy link
    Member

    Patch LGTM, thanks Ivan!

    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    3.7 (EOL) end of life stdlib Python modules in the Lib dir
    Projects
    None yet
    Development

    No branches or pull requests

    6 participants