Skip to content

Remove deprecated tkinter.tix module #75552

Description

@ned-deily
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

    Activity

    1. ned-deily commented on Sep 6, 2017

      @ned-deily
      MemberAuthor

      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.

    2. changed the title [-]Remove deprecated tkinter.ttx module in 3.7[/-] [+]Remove deprecated tkinter.tix module in 3.7[/+] on Sep 6, 2017
    3. rhettinger commented on Sep 6, 2017

      @rhettinger
      Contributor

      +1 for removal.

    4. serhiy-storchaka commented on Sep 7, 2017

      @serhiy-storchaka
      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?

    5. taleinat commented on Sep 6, 2018

      @taleinat
      Contributor

      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.

    6. zware commented on Sep 6, 2018

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

    7. changed the title [-]Remove deprecated tkinter.tix module in 3.7[/-] [+]Remove deprecated tkinter.tix module[/+] on Sep 6, 2018
    8. transferred this issue fromon Apr 10, 2022
    9. zware commented on May 24, 2023

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

    10. reopened this on May 24, 2023
    11. added 5 commits that reference this issue on May 24, 2023
    12. added 3 commits that reference this issue on May 26, 2023
    13. taleinat commented on Jun 1, 2023

      @taleinat
      Contributor

      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

    Metadata

    Metadata

    Assignees

    No one assigned

      Projects

      No projects

        Milestone

        No milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions