beeware / toga

A Python native, OS native GUI toolkit.
https://toga.readthedocs.io/en/latest/
BSD 3-Clause "New" or "Revised" License
4.2k stars 656 forks source link

Building docs on Python 3.8 fails #2483

Open rmartin16 opened 3 months ago

rmartin16 commented 3 months ago

Describe the bug

The introduction of LatLng causes docs build to fail on Python 3.8.

WARNING: error while formatting arguments for toga.LatLng: Handler <function update_defvalue at 0x7b18851e2160> for event 'autodoc-before-process-signature' threw an exception (exception: )

Steps to reproduce

Run tox -e docs-all using Python3.8

Expected behavior

Docs should build correctly using Python3.8....or maybe support for building docs with Python3.8 should be dropped.

If I had to guess, I'd venture the docs error because we're stuck on an old version of Sphinx....nonetheless, if you remove the docstring for LatLng, the docs build will finish.

Screenshots

No response

Environment

Logs

tox -e docs-all ``` ❯ tox -e docs-all docs-all: commands[0]> python -m sphinx -T -W --keep-going --jobs auto -v -a -E -b html /home/russell/tmp/beeware/toga/docs /home/russell/tmp/beeware/toga/docs/_build/html Running Sphinx v7.1.2 Adding copy buttons to code blocks... locale_dir /home/russell/tmp/beeware/toga/docs/locales/en/LC_MESSAGES does not exists loading intersphinx inventory from https://docs.python.org/3/objects.inv... loading intersphinx inventory from https://pillow.readthedocs.io/en/stable/objects.inv... locale_dir /home/russell/tmp/beeware/toga/docs/locales/en/LC_MESSAGES does not exists locale_dir /home/russell/tmp/beeware/toga/docs/locales/en/LC_MESSAGES does not exists building [mo]: all of 0 po files writing output... building [html]: all source files updating environment: locale_dir /home/russell/tmp/beeware/toga/docs/locales/en/LC_MESSAGES does not exists [new config] 95 added, 0 changed, 0 removed reading sources... [ 5%] background/community .. background/project/faq reading sources... [ 11%] background/project/index .. background/project/success reading sources... [ 16%] how-to/contribute/code .. how-to/internal/index reading sources... [ 21%] how-to/internal/release .. index reading sources... [ 26%] reference/api/app .. reference/api/containers/optioncontainer reading sources... [ 32%] reference/api/containers/scrollcontainer .. reference/api/hardware/index reading sources... [ 37%] reference/api/index .. reference/api/resources/command reading sources... [ 42%] reference/api/resources/fonts .. reference/api/resources/sources/list_source reading sources... [ 47%] reference/api/resources/sources/source .. reference/api/screens reading sources... [ 53%] reference/api/types .. reference/api/widgets/dateinput reading sources... [ 58%] reference/api/widgets/detailedlist .. reference/api/widgets/label reading sources... [ 63%] reference/api/widgets/mapview .. reference/api/widgets/progressbar reading sources... [ 68%] reference/api/widgets/selection .. reference/api/widgets/table-accessors reading sources... [ 74%] reference/api/widgets/table-values .. reference/api/widgets/webview reading sources... [ 79%] reference/api/widgets/widget .. reference/platforms/iOS reading sources... [ 84%] reference/platforms/index .. reference/platforms/testing reading sources... [ 89%] reference/platforms/unix-prerequisites .. reference/plugins/index reading sources... [ 95%] reference/style/index .. tutorial/index reading sources... [100%] tutorial/tutorial-0 .. tutorial/tutorial-4 WARNING: error while formatting arguments for toga.LatLng: Handler for event 'autodoc-before-process-signature' threw an exception (exception: ) looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done copying assets... copying downloadable files... [100%] tutorial/resources/icons.zip copying static files... done copying extra files... done done writing output... [ 6%] background/index .. background/project/philosophy writing output... [ 12%] background/project/releases .. how-to/contribute/index writing output... [ 19%] how-to/index .. how-to/topics/layout writing output... [ 25%] index .. reference/api/containers/optioncontainer writing output... [ 31%] reference/api/containers/scrollcontainer .. reference/api/index writing output... [ 38%] reference/api/keys .. reference/api/resources/icons writing output... [ 44%] reference/api/resources/images .. reference/api/resources/sources/value_source writing output... [ 50%] reference/api/resources/validators .. reference/api/widgets/canvas writing output... [ 56%] reference/api/widgets/dateinput .. reference/api/widgets/label writing output... [ 62%] reference/api/widgets/mapview .. reference/api/widgets/selection writing output... [ 69%] reference/api/widgets/slider .. reference/api/widgets/textinput writing output... [ 75%] reference/api/widgets/timeinput .. reference/index writing output... [ 81%] reference/platforms/android .. reference/platforms/terminal writing output... [ 88%] reference/platforms/testing .. reference/plugins/index writing output... [ 94%] reference/style/index .. tutorial/tutorial-0 writing output... [100%] tutorial/tutorial-1 .. tutorial/tutorial-4 generating indices... genindex py-modindex done writing additional pages... search done copying images... [ 1%] images/toga-demo-cocoa.png copying images... [ 2%] images/toga-demo-gtk.png copying images... [ 3%] images/toga-demo-winforms.png copying images... [ 3%] reference/images/optioncontainer-cocoa.png copying images... [ 4%] reference/images/optioncontainer-gtk.png copying images... [ 5%] reference/images/optioncontainer-winforms.png copying images... [ 6%] reference/images/optioncontainer-android.png copying images... [ 7%] reference/images/optioncontainer-iOS.png copying images... [ 8%] reference/images/scrollcontainer-cocoa.png copying images... [ 8%] reference/images/scrollcontainer-gtk.png copying images... [ 9%] reference/images/scrollcontainer-winforms.png copying images... [ 10%] reference/images/scrollcontainer-android.png copying images... [ 11%] reference/images/scrollcontainer-iOS.png copying images... [ 12%] reference/images/splitcontainer-cocoa.png copying images... [ 13%] reference/images/splitcontainer-gtk.png copying images... [ 13%] reference/images/splitcontainer-winforms.png copying images... [ 14%] reference/images/mainwindow-cocoa.png copying images... [ 15%] reference/images/mainwindow-gtk.png copying images... [ 16%] reference/images/mainwindow-winforms.png copying images... [ 17%] reference/images/mainwindow-android.png copying images... [ 18%] reference/images/mainwindow-iOS.png copying images... [ 18%] reference/images/activityindicator-cocoa.png copying images... [ 19%] reference/images/activityindicator-gtk.png copying images... [ 20%] reference/images/button-cocoa.png copying images... [ 21%] reference/images/button-gtk.png copying images... [ 22%] reference/images/button-winforms.png copying images... [ 23%] reference/images/button-android.png copying images... [ 24%] reference/images/button-iOS.png copying images... [ 24%] reference/images/canvas-cocoa.png copying images... [ 25%] reference/images/canvas-gtk.png copying images... [ 26%] reference/images/canvas-winforms.png copying images... [ 27%] reference/images/canvas-android.png copying images... [ 28%] reference/images/canvas-iOS.png copying images... [ 29%] reference/images/dateinput-winforms.png copying images... [ 29%] reference/images/dateinput-android.png copying images... [ 30%] reference/images/detailedlist-cocoa.png copying images... [ 31%] reference/images/detailedlist-gtk.png copying images... [ 32%] reference/images/detailedlist-winforms.png copying images... [ 33%] reference/images/detailedlist-android.png copying images... [ 34%] reference/images/detailedlist-iOS.png copying images... [ 34%] reference/images/divider-cocoa.png copying images... [ 35%] reference/images/divider-gtk.png copying images... [ 36%] reference/images/divider-winforms.png copying images... [ 37%] reference/images/divider-android.png copying images... [ 38%] reference/images/imageview.png copying images... [ 39%] reference/images/label-cocoa.png copying images... [ 39%] reference/images/label-gtk.png copying images... [ 40%] reference/images/label-winforms.png copying images... [ 41%] reference/images/label-android.png copying images... [ 42%] reference/images/label-iOS.png copying images... [ 43%] reference/images/mapview-cocoa.png copying images... [ 44%] reference/images/mapview-gtk.png copying images... [ 45%] reference/images/mapview-winforms.png copying images... [ 45%] reference/images/mapview-android.png copying images... [ 46%] reference/images/mapview-iOS.png copying images... [ 47%] reference/images/multilinetextinput-cocoa.png copying images... [ 48%] reference/images/multilinetextinput-gtk.png copying images... [ 49%] reference/images/multilinetextinput-winforms.png copying images... [ 50%] reference/images/multilinetextinput-android.png copying images... [ 50%] reference/images/multilinetextinput-iOS.png copying images... [ 51%] reference/images/numberinput-cocoa.png copying images... [ 52%] reference/images/numberinput-gtk.png copying images... [ 53%] reference/images/numberinput-winforms.png copying images... [ 54%] reference/images/numberinput-android.png copying images... [ 55%] reference/images/numberinput-iOS.png copying images... [ 55%] reference/images/passwordinput-cocoa.png copying images... [ 56%] reference/images/passwordinput-gtk.png copying images... [ 57%] reference/images/passwordinput-winforms.png copying images... [ 58%] reference/images/passwordinput-android.png copying images... [ 59%] reference/images/passwordinput-iOS.png copying images... [ 60%] reference/images/progressbar-cocoa.png copying images... [ 61%] reference/images/progressbar-gtk.png copying images... [ 61%] reference/images/progressbar-winforms.png copying images... [ 62%] reference/images/progressbar-android.png copying images... [ 63%] reference/images/progressbar-iOS.png copying images... [ 64%] reference/images/selection-cocoa.png copying images... [ 65%] reference/images/selection-gtk.png copying images... [ 66%] reference/images/selection-winforms.png copying images... [ 66%] reference/images/selection-android.png copying images... [ 67%] reference/images/selection-iOS.png copying images... [ 68%] reference/images/slider-cocoa.png copying images... [ 69%] reference/images/slider-gtk.png copying images... [ 70%] reference/images/slider-winforms.png copying images... [ 71%] reference/images/slider-android.png copying images... [ 71%] reference/images/slider-iOS.png copying images... [ 72%] reference/images/switch-cocoa.png copying images... [ 73%] reference/images/switch-gtk.png copying images... [ 74%] reference/images/switch-winforms.png copying images... [ 75%] reference/images/switch-android.png copying images... [ 76%] reference/images/switch-iOS.png copying images... [ 76%] reference/images/table-cocoa.png copying images... [ 77%] reference/images/table-gtk.png copying images... [ 78%] reference/images/table-winforms.png copying images... [ 79%] reference/images/table-android.png copying images... [ 80%] reference/images/textinput-cocoa.png copying images... [ 81%] reference/images/textinput-gtk.png copying images... [ 82%] reference/images/textinput-winforms.png copying images... [ 82%] reference/images/textinput-android.png copying images... [ 83%] reference/images/textinput-iOS.png copying images... [ 84%] reference/images/timeinput-winforms.png copying images... [ 85%] reference/images/timeinput-android.png copying images... [ 86%] reference/images/tree-cocoa.png copying images... [ 87%] reference/images/tree-gtk.png copying images... [ 87%] reference/images/webview-cocoa.png copying images... [ 88%] reference/images/webview-gtk.png copying images... [ 89%] reference/images/webview-winforms.png copying images... [ 90%] reference/images/webview-android.png copying images... [ 91%] reference/images/webview-iOS.png copying images... [ 92%] reference/images/window-cocoa.png copying images... [ 92%] reference/images/window-gtk.png copying images... [ 93%] reference/images/window-winforms.png copying images... [ 94%] reference/screenshots/gtk.png copying images... [ 95%] reference/screenshots/cocoa.png copying images... [ 96%] reference/screenshots/winforms.png copying images... [ 97%] tutorial/screenshots/tutorial-2.png copying images... [ 97%] tutorial/screenshots/tutorial-3.png copying images... [ 98%] tutorial/screenshots/tutorial-4.png copying images... [ 99%] tutorial/screenshots/tutorial-0.png copying images... [100%] tutorial/screenshots/tutorial-1.png dumping search index in English (code: en)... done dumping object inventory... done build finished with problems, 1 warning. docs-all: exit 1 (5.38 seconds) /home/russell/tmp/beeware/toga> python -m sphinx -T -W --keep-going --jobs auto -v -a -E -b html /home/russell/tmp/beeware/toga/docs /home/russell/tmp/beeware/toga/docs/_build/html pid=2487650 docs-all: FAIL code 1 (5.41=setup[0.04]+cmd[5.38] seconds) evaluation failed :( (5.50 seconds) ```

Additional context

No response

freakboy3742 commented 3 months ago

My enthusiasm for maintaining 3.8 support is rapidly waning, given that it will be fully deprecated in 6 months time. I'd suggest deprecating the docs configuration a little early is the best approach here.

Not sure how we flag that in the project configuration, or if we just log this as a known issue, and close it when 3.8 is formally deprecated.