Skip to content

gh-78335: Complete the widget option lists in tkinter docstrings#152485

Merged
serhiy-storchaka merged 2 commits into
python:mainfrom
serhiy-storchaka:gh-78335-widget-option-docstrings
Jun 28, 2026
Merged

gh-78335: Complete the widget option lists in tkinter docstrings#152485
serhiy-storchaka merged 2 commits into
python:mainfrom
serhiy-storchaka:gh-78335-widget-option-docstrings

Conversation

@serhiy-storchaka

@serhiy-storchaka serhiy-storchaka commented Jun 28, 2026

Copy link
Copy Markdown
Member

Several tkinter widget __init__ docstrings (shown by help(Widget)) omitted valid options, and Menubutton and Message had no option list at all. List every option supported by the widget, tagging those added in Tk 9.0 and 9.1.

Add test_options_in_docstring, which asserts that every option in the test's OPTIONS is named in the widget's __init__ docstring. Options reported by keys() but missing from the docstring are only printed in verbose mode, since some of them depend on the Tk version.

The option lists were verified against the options reported by Tk 8.6, 9.0 and 9.1.

Several widget __init__ docstrings omitted valid options, and Menubutton and
Message had no option list at all.  List every option supported by the widget,
tagging those added in Tk 9.0 and 9.1.

Add test_options_in_docstring, asserting that every option in OPTIONS is named
in the widget's __init__ docstring.  Options reported by keys() but not in the
docstring are only printed in verbose mode, as some depend on the Tk version.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@serhiy-storchaka serhiy-storchaka added needs backport to 3.13 bugs and security fixes needs backport to 3.14 bugs and security fixes needs backport to 3.15 pre-release feature fixes, bugs and security fixes labels Jun 28, 2026
Add the missing widget options to the __init__ docstrings of the
tkinter.ttk widget classes, including options added in Tk 9.0 and 9.1,
tagged accordingly.  This is what test_options_in_docstring already
required of the classic tkinter widgets.

ttk.OptionMenu documents only its own options (like tkinter.OptionMenu),
so it is exempted from the test.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@serhiy-storchaka serhiy-storchaka merged commit ba0c0e6 into python:main Jun 28, 2026
50 of 51 checks passed
@miss-islington-app

Copy link
Copy Markdown

Thanks @serhiy-storchaka for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13, 3.14, 3.15.
🐍🍒⛏🤖

@serhiy-storchaka serhiy-storchaka deleted the gh-78335-widget-option-docstrings branch June 28, 2026 16:14
@bedevere-app

bedevere-app Bot commented Jun 28, 2026

Copy link
Copy Markdown

GH-152500 is a backport of this pull request to the 3.15 branch.

@bedevere-app bedevere-app Bot removed the needs backport to 3.15 pre-release feature fixes, bugs and security fixes label Jun 28, 2026
@miss-islington-app

Copy link
Copy Markdown

Sorry, @serhiy-storchaka, I could not cleanly backport this to 3.13 due to a conflict.
Please backport using cherry_picker on command line.

cherry_picker ba0c0e6be18ea56d00b4534cc9e32d1acaba96d6 3.13

@bedevere-app

bedevere-app Bot commented Jun 28, 2026

Copy link
Copy Markdown

GH-152501 is a backport of this pull request to the 3.14 branch.

@bedevere-app bedevere-app Bot removed the needs backport to 3.14 bugs and security fixes label Jun 28, 2026
serhiy-storchaka added a commit that referenced this pull request Jun 28, 2026
…gs (GH-152485) (GH-152501)

Several widget __init__ docstrings omitted valid options, and Menubutton and
Message had no option list at all.  List every option supported by the widget,
tagging those added in Tk 9.0 and 9.1.

Add test_options_in_docstring, asserting that every option in OPTIONS is named
in the widget's __init__ docstring.  Options reported by keys() but not in the
docstring are only printed in verbose mode, as some depend on the Tk version.
(cherry picked from commit ba0c0e6)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
serhiy-storchaka added a commit that referenced this pull request Jun 28, 2026
…gs (GH-152485) (GH-152500)

Several widget __init__ docstrings omitted valid options, and Menubutton and
Message had no option list at all.  List every option supported by the widget,
tagging those added in Tk 9.0 and 9.1.

Add test_options_in_docstring, asserting that every option in OPTIONS is named
in the widget's __init__ docstring.  Options reported by keys() but not in the
docstring are only printed in verbose mode, as some depend on the Tk version.
(cherry picked from commit ba0c0e6)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
@bedevere-app

bedevere-app Bot commented Jun 28, 2026

Copy link
Copy Markdown

GH-152513 is a backport of this pull request to the 3.13 branch.

@bedevere-app bedevere-app Bot removed the needs backport to 3.13 bugs and security fixes label Jun 28, 2026
serhiy-storchaka added a commit that referenced this pull request Jun 28, 2026
…152485) (GH-152513)

Several widget __init__ docstrings omitted valid options, and Menubutton and
Message had no option list at all.  List every option supported by the widget,
tagging those added in Tk 9.0 and 9.1.

Add test_options_in_docstring, asserting that every option in OPTIONS is named
in the widget's __init__ docstring.  Options reported by keys() but not in the
docstring are only printed in verbose mode, as some depend on the Tk version.


(cherry picked from commit ba0c0e6)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant