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

turtle in the tkinter package? #48134

Closed
kirillsimonov mannequin opened this issue Sep 16, 2008 · 9 comments
Closed

turtle in the tkinter package? #48134

kirillsimonov mannequin opened this issue Sep 16, 2008 · 9 comments
Assignees
Labels
release-blocker stdlib Python modules in the Lib dir type-feature A feature request or enhancement

Comments

@kirillsimonov
Copy link
Mannequin

kirillsimonov mannequin commented Sep 16, 2008

BPO 3884
Nosy @gvanrossum, @loewis, @brettcannon, @birkenfeld, @benjaminp
Files
  • turtle.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 = 'https://github.com/loewis'
    closed_at = <Date 2008-09-21.07:32:33.219>
    created_at = <Date 2008-09-16.21:05:37.432>
    labels = ['type-feature', 'library', 'release-blocker']
    title = 'turtle in the tkinter package?'
    updated_at = <Date 2008-09-22.13:41:55.168>
    user = 'https://bugs.python.org/kirillsimonov'

    bugs.python.org fields:

    activity = <Date 2008-09-22.13:41:55.168>
    actor = 'kirill_simonov'
    assignee = 'loewis'
    closed = True
    closed_date = <Date 2008-09-21.07:32:33.219>
    closer = 'loewis'
    components = ['Library (Lib)']
    creation = <Date 2008-09-16.21:05:37.432>
    creator = 'kirill_simonov'
    dependencies = []
    files = ['11529']
    hgrepos = []
    issue_num = 3884
    keywords = ['patch']
    message_count = 9.0
    messages = ['73311', '73314', '73318', '73465', '73467', '73495', '73501', '73538', '73576']
    nosy_count = 8.0
    nosy_names = ['gvanrossum', 'loewis', 'brett.cannon', 'kirill_simonov', 'georg.brandl', 'glingl', 'gregorlingl', 'benjamin.peterson']
    pr_nums = []
    priority = 'release blocker'
    resolution = 'fixed'
    stage = None
    status = 'closed'
    superseder = None
    type = 'enhancement'
    url = 'https://bugs.python.org/issue3884'
    versions = ['Python 3.0']

    @kirillsimonov
    Copy link
    Mannequin Author

    kirillsimonov mannequin commented Sep 16, 2008

    I wonder why the module 'turtle' was moved to the 'tkinter' package. It
    is not a part of Tk, it does not provide new or extend existing tkinter
    API. While it uses tkinter, so do pydoc or idle; this is just an
    implementation detail. If some day a new GUI library replaces tkinter
    in the standard Python library, turtle's interface will not have to be
    changed, only the implementation. Moreover this change unnecessarily
    breaks all existing demos and tutorials that use turtle. Why do this if
    it does not give any substantial benefits? Finally, 'import turtle' is
    easier than 'from tkinter import turtle' for complete newbies in
    programming, who are the primary users of this module.

    So I propose to keep turtle a top-level module as it was in Python 1 and 2.

    @kirillsimonov kirillsimonov mannequin added stdlib Python modules in the Lib dir type-feature A feature request or enhancement labels Sep 16, 2008
    @benjaminp
    Copy link
    Contributor

    Unfortunately, as we are approaching 3.0rc1, it is too late to make a
    change like this. I'm assigning this to Brett if he has an opinion, but
    I don't expect this change to be able to happen.

    @brettcannon
    Copy link
    Member

    As Benjamin said, it's too late in the release cycle to change this.

    Plus turtle is entirely Tk-dependent so putting in the package makes
    sense to me. It also isn't important enough to be a top-level package.
    Finally, I disagree that telling a newbie to type from tkinter import turtle is any more difficult than to tell them to type import tkinter; if they don't know about importing then either form won't
    make sense to them.

    @loewis
    Copy link
    Mannequin

    loewis mannequin commented Sep 20, 2008

    I'd like to appeal that decision. That the turtle module is implemented
    in Tkinter is, well, an implementation detail. What matters to the end
    user is the turtle API, which has little to do with Tkinter (at least,
    the most high-level API doesn't).

    I think it is a mistake to have the module in the tkinter package, hence
    I marked this bug release-critical, and would like to ask that this is
    reconsidered before rc2 (clearly, when 3.0 is released, this mistake
    cannot be corrected easily anymore).

    In considering this issue, please understand the target audience of the
    turtle module: children that just learn programming. I completely agree
    with Kirill (and also with Gregor Lingl, who complained about this also,
    but didn't follow up). For these people, stability of documentation is
    much more important than for trained programmers: when they get an
    import error, they consider all kinds of problems (such as them having
    mistyped things, or the computer being broken and the module being
    missing); the real cause (arbitrary renaming) doesn't come to their mind
    as the first thing.

    Attached is a patch that has the necessary changes.

    Guido, would you be willing to pronounce?

    @loewis loewis mannequin assigned gvanrossum and unassigned brettcannon Sep 20, 2008
    @loewis loewis mannequin reopened this Sep 20, 2008
    @loewis loewis mannequin added the release-blocker label Sep 20, 2008
    @gvanrossum
    Copy link
    Member

    Agreed. It's toplevel in 2.6. Let's keep it toplevel in 3.x.

    @gvanrossum gvanrossum assigned loewis and unassigned gvanrossum Sep 20, 2008
    @loewis
    Copy link
    Mannequin

    loewis mannequin commented Sep 21, 2008

    This is now fixed in r66531.

    @loewis loewis mannequin closed this as completed Sep 21, 2008
    @birkenfeld
    Copy link
    Member

    Docs done in r66534.

    @gregorlingl
    Copy link
    Mannequin

    gregorlingl mannequin commented Sep 21, 2008

    Of course I highly appreciate this decision.

    I'd like to point you to an urgent issue concerning turtle.py
    which needs a decision and which I've just posted to Python-dev

    Regards,
    Gregor

    @kirillsimonov
    Copy link
    Mannequin Author

    kirillsimonov mannequin commented Sep 22, 2008

    Thank you for the fix, I really appeciate it.

    @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
    release-blocker stdlib Python modules in the Lib dir type-feature A feature request or enhancement
    Projects
    None yet
    Development

    No branches or pull requests

    4 participants