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

Remove deprecated tkinter.tix module #75552

Closed
ned-deily opened this issue Sep 6, 2017 · 7 comments
Closed

Remove deprecated tkinter.tix module #75552

ned-deily opened this issue Sep 6, 2017 · 7 comments
Labels
3.13 bugs and security fixes OS-windows topic-tkinter

Comments

@ned-deily
Copy link
Member

ned-deily commented Sep 6, 2017

BPO 31371
Nosy @rhettinger, @pfmoore, @taleinat, @tjguk, @jkloth, @ned-deily, @zware, @serhiy-storchaka, @zooba
PRs
  • bpo-31371: Remove Tix #3393
  • 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 2018-09-06.14:42:24.327>
    created_at = <Date 2017-09-06.21:33:20.186>
    labels = ['expert-tkinter', 'OS-windows']
    title = 'Remove deprecated tkinter.tix module'
    updated_at = <Date 2018-09-06.14:42:24.324>
    user = 'https://github.com/ned-deily'

    bugs.python.org fields:

    activity = <Date 2018-09-06.14:42:24.324>
    actor = 'zach.ware'
    assignee = 'none'
    closed = True
    closed_date = <Date 2018-09-06.14:42:24.327>
    closer = 'zach.ware'
    components = ['Tkinter', 'Windows']
    creation = <Date 2017-09-06.21:33:20.186>
    creator = 'ned.deily'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 31371
    keywords = []
    message_count = 5.0
    messages = ['301524', '301545', '301570', '324670', '324695']
    nosy_count = 9.0
    nosy_names = ['rhettinger', 'paul.moore', 'taleinat', 'tim.golden', 'jkloth', 'ned.deily', 'zach.ware', 'serhiy.storchaka', 'steve.dower']
    pr_nums = ['3393']
    priority = 'normal'
    resolution = 'later'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = None
    url = 'https://bugs.python.org/issue31371'
    versions = []

    Linked PRs

    @ned-deily
    Copy link
    Member Author

    Tix is an old Tk widget extension set that has long been superseded by the ttk widgets that were added in Tk 8.5, officially released 10 years ago and since superseded by Tk 8.6. Tix was useful for users of Tk 8.4 but tkinter is no longer built, tested, or supported with 8.4. Despite that, we have continued to build and ship Tix with the python.org Windows installers. The last maintenance release of Tix was in 2008.

    As of Python 3.6.0 (https://docs.python.org/3.6/library/tkinter.tix.html), we documented tkinter.tix as:

    Deprecated since version 3.6: This Tk extension is unmaintained
    and should not be used in new code. Use tkinter.ttk instead.

    For 3.7, I believe it is time to remove both tkinter.tix and the building of Tix in the Windows builds.

    @rhettinger
    Copy link
    Contributor

    +1 for removal.

    @serhiy-storchaka
    Copy link
    Member

    According to PEP-4, "In order to facilitate writing code that works in both Python 2 & 3 simultaneously, any module that exists in both Python 3.5 and Python 2.7 will not be removed from the standard library until Python 2.7 is no longer supported as specified by PEP-373." Is there a reason for haste? The Tix library still is included in recent versions of Linux distributives and should be compatible with Tcl 8.6.

    Ttk is not direct replacement of Tix. They provide different sets of widgets. May be you meant Tile, the predecessor of ttk?

    @taleinat
    Copy link
    Contributor

    taleinat commented Sep 6, 2018

    We should decide on this.

    I agree with Serhiy that in accordance with PEP-4, as long as Tix still works, we should keep it.

    Copy link
    Member

    We missed the boat for 3.7 anyway.

    With the PEP-4 argument, I won't push any further for ripping Tix out completely before 2020, but if something happens to break building it on Windows before then my fix will be to remove it from the Windows build.

    Copy link
    Member

    The time is ripe. tkinter.tix has been deprecated in documentation since 3.6, has emitted DeprecationWarning on import since 3.11 in accordance with PEP-387, and with Python 2.7 long dead (for us, anyway :)) PEP-4 (since rewritten) is no longer a concern.

    @taleinat
    Copy link
    Contributor

    taleinat commented Jun 1, 2023

    For anyone looking for more details on the reasoning behind this removal, @zware's comment on the PR explains this well:

    Tix has been unmaintained for 10 years now, has open security vulnerabilities, and every update of anything in our toolchain risks breaking it. If you still need it, it's open source and can be vendored into your project or maintained separately, but we will no longer provide it out of the box as of Python 3.13.

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    3.13 bugs and security fixes OS-windows topic-tkinter
    Projects
    None yet
    Development

    No branches or pull requests

    5 participants