urwid 3.0.0__tar.gz → 3.0.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of urwid might be problematic. Click here for more details.
- {urwid-3.0.0 → urwid-3.0.2}/.github/workflows/documentation.yml +0 -1
- {urwid-3.0.0 → urwid-3.0.2}/.github/workflows/pythonpackage.yml +0 -5
- {urwid-3.0.0 → urwid-3.0.2}/.pre-commit-config.yaml +2 -2
- {urwid-3.0.0 → urwid-3.0.2}/PKG-INFO +4 -7
- {urwid-3.0.0 → urwid-3.0.2}/docs/changelog.rst +22 -0
- {urwid-3.0.0 → urwid-3.0.2}/pyproject.toml +2 -2
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_event_loops.py +12 -2
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_scrollable.py +18 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/canvas.py +1 -1
- {urwid-3.0.0 → urwid-3.0.2}/urwid/event_loop/asyncio_loop.py +32 -13
- {urwid-3.0.0 → urwid-3.0.2}/urwid/version.py +2 -2
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/scrollable.py +1 -1
- {urwid-3.0.0 → urwid-3.0.2}/urwid.egg-info/PKG-INFO +4 -7
- {urwid-3.0.0 → urwid-3.0.2}/urwid.egg-info/SOURCES.txt +0 -1
- {urwid-3.0.0 → urwid-3.0.2}/urwid.egg-info/requires.txt +3 -1
- urwid-3.0.0/setup.py +0 -33
- {urwid-3.0.0 → urwid-3.0.2}/.coveralls.yml +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/.devcontainer/dev.dockerfile +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/.devcontainer/devcontainer.json +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/.dockerignore +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/.editorconfig +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/.github/CODE_OF_CONDUCT.md +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/.github/ISSUE_TEMPLATE/docs.md +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/.github/ISSUE_TEMPLATE/question.md +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/.github/dependabot.yml +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/.github/labeler.yml +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/.github/release.yml +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/.github/workflows/isolated_static_check.yml +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/.github/workflows/labels.yml +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/.github/workflows/yamllint.yml +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/.gitignore +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/.yamllint.yml +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/COPYING +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/MANIFEST.in +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/README.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/black-requirements.txt +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/classifiers.txt +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/Makefile +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/conf.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/bigtext.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/bigtext.py.xdotool +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/bigtext1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/bigtext2.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/bigtext3.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/browse.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/browse.py.xdotool +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/browse1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/browse2.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/edit.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/edit.py.xdotool +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/edit1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/edit2.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/edit_text.txt +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/graph.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/graph.py.xdotool +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/graph1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/graph2.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/index.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/palette_test.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/palette_test.py.xdotool +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/palette_test1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/palette_test2.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/pop_up.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/pop_up.py.xdotool +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/pop_up1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/pop_up2.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/real_browse.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/real_edit.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/subproc.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/subproc.py.xdotool +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/subproc1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/subproc2.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/subproc2.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/tour.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/tour.py.xdotool +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/tour1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/examples/tour2.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/index.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/bright_combinations.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/bright_combinations.py.xdotool +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/bright_combinations1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/canvascache.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/displayattributes.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/displaymodules.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/encodings.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/images/display_modules.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/images/introduction.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/images/urwid_widgets.svgz +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/images/urwid_widgets_1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/images/urwid_widgets_1.xcf +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/images/urwid_widgets_2.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/images/urwid_widgets_2.xcf +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/images/widget_layout.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/index.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/mainloop.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/overview.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/safe_combinations.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/safe_combinations.py.xdotool +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/safe_combinations1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/textlayout.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/userinput.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/wanat.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/wanat_multi.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/wcur1.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/wcur2.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/widgets.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/wmod.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/manual/wsel.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/reference/attrspec.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/reference/canvas.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/reference/command_map.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/reference/constants.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/reference/deprecated.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/reference/display_modules.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/reference/exceptions.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/reference/global_settings.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/reference/index.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/reference/list_walkers.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/reference/main_loop.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/reference/meta.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/reference/signals.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/reference/text_layout.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/reference/widget.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tools/compile_pngs.sh +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tools/screenshots.sh +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tools/static/.placeholder +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tools/templates/indexcontent.html +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tools/templates/indexsidebar.html +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tools/templates/localtoc.html +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/adventure.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/adventure.py.xdotool +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/adventure1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/adventure2.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/adventure3.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/adventure4.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/cmenu.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/cmenu.py.xdotool +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/cmenu1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/cmenu2.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/cmenu3.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/cmenu4.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/highcolors.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/highcolors.py.xdotool +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/highcolors1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/hmenu.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/hmenu.py.xdotool +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/hmenu1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/hmenu2.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/hmenu3.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/hmenu4.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/index.rst +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/input.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/input.py.xdotool +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/input1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/input2.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/input3.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/input4.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/input5.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/menu25.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/minimal.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/minimal.py.xdotool +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/minimal1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/multiple.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/multiple.py.xdotool +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/multiple1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/multiple2.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/multiple3.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/multiple4.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/qa.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/qa.py.xdotool +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/qa1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/qa2.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/qa3.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/sig.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/sig.py.xdotool +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/sig1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/sig2.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/sig3.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/sig4.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/smenu.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/smenu.py.xdotool +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/smenu1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/smenu2.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/smenu3.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/urwid_attr.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/urwid_attr.py.xdotool +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/urwid_attr1.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/urwid_attr2.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/urwid_attr3.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/tutorial/urwid_attr4.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/docs/urwid-logo.png +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/examples/asyncio_socket_server.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/examples/bigtext.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/examples/browse.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/examples/calc.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/examples/dialog.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/examples/edit.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/examples/fib.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/examples/graph.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/examples/input_test.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/examples/lcd_cf635.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/examples/palette_test.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/examples/pop_up.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/examples/subproc.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/examples/subproc2.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/examples/terminal.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/examples/tour.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/examples/treesample.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/examples/twisted_serve_ssh.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/examples/twisted_serve_ssh.tac +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/isort-requirements.txt +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/pylint-requirements.txt +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/requirements.txt +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/ruff-requirements.txt +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/setup.cfg +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/test_requirements.txt +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/__init__.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_canvas.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_columns.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_container.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_doctests.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_escapes.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_filler.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_floatedit.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_font.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_frame.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_graphics.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_grid_flow.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_line_box.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_listbox.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_main_loop.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_moved_imports.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_overlay.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_padding.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_pile.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_raw_display.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_signals.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_str_util.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_text_layout.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_tree.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_util.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_vterm.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/test_widget.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tests/util.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/tox.ini +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/__init__.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/command_map.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/container.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/decoration.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/display/__init__.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/display/_posix_raw_display.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/display/_raw_display_base.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/display/_web.css +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/display/_web.js +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/display/_win32.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/display/_win32_raw_display.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/display/common.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/display/curses.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/display/escape.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/display/html_fragment.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/display/lcd.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/display/raw.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/display/web.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/event_loop/__init__.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/event_loop/abstract_loop.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/event_loop/glib_loop.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/event_loop/main_loop.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/event_loop/select_loop.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/event_loop/tornado_loop.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/event_loop/trio_loop.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/event_loop/twisted_loop.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/event_loop/zmq_loop.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/font.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/graphics.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/numedit.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/signals.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/split_repr.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/str_util.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/text_layout.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/util.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/vterm.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/__init__.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/attr_map.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/attr_wrap.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/bar_graph.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/big_text.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/box_adapter.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/columns.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/constants.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/container.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/divider.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/edit.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/filler.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/frame.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/grid_flow.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/line_box.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/listbox.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/monitored_list.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/overlay.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/padding.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/pile.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/popup.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/progress_bar.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/solid_fill.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/text.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/treetools.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/widget.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/widget_decoration.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/widget/wimp.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid/wimp.py +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid.egg-info/dependency_links.txt +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid.egg-info/not-zip-safe +0 -0
- {urwid-3.0.0 → urwid-3.0.2}/urwid.egg-info/top_level.txt +0 -0
|
@@ -12,7 +12,6 @@ on:
|
|
|
12
12
|
paths:
|
|
13
13
|
- "urwid/**"
|
|
14
14
|
- "source/**"
|
|
15
|
-
- "setup.py"
|
|
16
15
|
- "pyproject.toml"
|
|
17
16
|
- "MANIFEST.in"
|
|
18
17
|
- "README.rst"
|
|
@@ -116,10 +115,6 @@ jobs:
|
|
|
116
115
|
# , "macos-latest"
|
|
117
116
|
# enable macOS only if OS specific branch will be added
|
|
118
117
|
python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ]
|
|
119
|
-
exclude:
|
|
120
|
-
# Not supported by external requirements
|
|
121
|
-
- os: "windows-latest"
|
|
122
|
-
python-version: "3.13"
|
|
123
118
|
|
|
124
119
|
steps:
|
|
125
120
|
- uses: actions/checkout@v4
|
|
@@ -26,13 +26,13 @@ repos:
|
|
|
26
26
|
|
|
27
27
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
28
28
|
# Ruff version.
|
|
29
|
-
rev: v0.11.
|
|
29
|
+
rev: v0.11.8
|
|
30
30
|
hooks:
|
|
31
31
|
- id: ruff
|
|
32
32
|
args: [ --fix, --exit-non-zero-on-fix ]
|
|
33
33
|
|
|
34
34
|
- repo: https://github.com/adrienverge/yamllint.git
|
|
35
|
-
rev: v1.37.
|
|
35
|
+
rev: v1.37.1
|
|
36
36
|
hooks:
|
|
37
37
|
- id: yamllint
|
|
38
38
|
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: urwid
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.2
|
|
4
4
|
Summary: A full-featured console (xterm et al.) user interface library
|
|
5
|
-
Home-page: https://urwid.org/
|
|
6
5
|
Author-email: Ian Ward <ian@excess.org>
|
|
7
6
|
License: LGPL-2.1-only
|
|
8
7
|
Project-URL: Homepage, https://urwid.org/
|
|
@@ -31,7 +30,7 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
31
30
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
32
31
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
33
32
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
34
|
-
Requires-Python:
|
|
33
|
+
Requires-Python: >=3.9.0
|
|
35
34
|
Description-Content-Type: text/x-rst
|
|
36
35
|
License-File: COPYING
|
|
37
36
|
Requires-Dist: wcwidth
|
|
@@ -42,8 +41,8 @@ Requires-Dist: PyGObject; extra == "glib"
|
|
|
42
41
|
Provides-Extra: tornado
|
|
43
42
|
Requires-Dist: tornado>=5.0; extra == "tornado"
|
|
44
43
|
Provides-Extra: trio
|
|
45
|
-
Requires-Dist: trio>=0.
|
|
46
|
-
Requires-Dist: exceptiongroup; extra == "trio"
|
|
44
|
+
Requires-Dist: trio>=0.24.0; extra == "trio"
|
|
45
|
+
Requires-Dist: exceptiongroup; python_version < "3.11" and extra == "trio"
|
|
47
46
|
Provides-Extra: twisted
|
|
48
47
|
Requires-Dist: twisted; extra == "twisted"
|
|
49
48
|
Provides-Extra: zmq
|
|
@@ -52,9 +51,7 @@ Provides-Extra: serial
|
|
|
52
51
|
Requires-Dist: pyserial; extra == "serial"
|
|
53
52
|
Provides-Extra: lcd
|
|
54
53
|
Requires-Dist: pyserial; extra == "lcd"
|
|
55
|
-
Dynamic: home-page
|
|
56
54
|
Dynamic: license-file
|
|
57
|
-
Dynamic: requires-python
|
|
58
55
|
|
|
59
56
|
Urwid
|
|
60
57
|
=====
|
|
@@ -2,6 +2,28 @@
|
|
|
2
2
|
Changelog
|
|
3
3
|
---------
|
|
4
4
|
|
|
5
|
+
Urwid 3.0.2
|
|
6
|
+
===========
|
|
7
|
+
|
|
8
|
+
2025-05-07
|
|
9
|
+
|
|
10
|
+
Bug fixes 🕷
|
|
11
|
+
++++++++++++
|
|
12
|
+
* Bugfix: Corner case: Scrollbar render for only 1 row height by @penguinolog in https://github.com/urwid/urwid/pull/1021
|
|
13
|
+
|
|
14
|
+
Urwid 3.0.1
|
|
15
|
+
===========
|
|
16
|
+
|
|
17
|
+
2025-05-07
|
|
18
|
+
|
|
19
|
+
Bug fixes 🕷
|
|
20
|
+
++++++++++++
|
|
21
|
+
* Packaging: drop setup.py and adjust requirements by @penguinolog in https://github.com/urwid/urwid/pull/1018
|
|
22
|
+
Not updated `setup.py` lead to wrong metadata and mark of release 3.0.0 as Python 3.7 compatible.
|
|
23
|
+
Since urwid is distribluted in the pre-packaged format (wheel),
|
|
24
|
+
missing `setup.py` will not affect old toolchain users except special cases (manually enforced sdist usage).
|
|
25
|
+
* Python 3.14 compatibility: adjust `AsyncioEventLoop` by @penguinolog in https://github.com/urwid/urwid/pull/1019
|
|
26
|
+
|
|
5
27
|
Urwid 3.0.0
|
|
6
28
|
===========
|
|
7
29
|
|
|
@@ -45,10 +45,10 @@ dependencies = {file = ["requirements.txt"]}
|
|
|
45
45
|
classifiers = {file = ["classifiers.txt"]}
|
|
46
46
|
|
|
47
47
|
[project.optional-dependencies]
|
|
48
|
-
curses = ["windows-curses;sys_platform=='win32'"]
|
|
48
|
+
curses = ["windows-curses; sys_platform == 'win32'"]
|
|
49
49
|
glib = ["PyGObject"]
|
|
50
50
|
tornado = ["tornado>=5.0"]
|
|
51
|
-
trio = ["trio>=0.
|
|
51
|
+
trio = ["trio>=0.24.0", "exceptiongroup; python_version < '3.11'"]
|
|
52
52
|
twisted = ["twisted"]
|
|
53
53
|
zmq = ["zmq"]
|
|
54
54
|
# for lcd_display
|
|
@@ -213,7 +213,17 @@ class SelectEventLoopTest(unittest.TestCase, EventLoopTestMixin):
|
|
|
213
213
|
@unittest.skipIf(IS_WINDOWS, "Windows is temporary not supported by AsyncioEventLoop.")
|
|
214
214
|
class AsyncioEventLoopTest(unittest.TestCase, EventLoopTestMixin):
|
|
215
215
|
def setUp(self):
|
|
216
|
-
|
|
216
|
+
if sys.version_info[:2] < (3, 11):
|
|
217
|
+
self.loop = asyncio.get_event_loop_policy().get_event_loop()
|
|
218
|
+
self.evl_runner = None
|
|
219
|
+
else:
|
|
220
|
+
self.evl_runner = asyncio.Runner(loop_factory=asyncio.SelectorEventLoop)
|
|
221
|
+
self.loop = self.evl_runner.get_loop()
|
|
222
|
+
self.evl = urwid.AsyncioEventLoop(loop=self.loop)
|
|
223
|
+
|
|
224
|
+
def tearDown(self):
|
|
225
|
+
if self.evl_runner is not None:
|
|
226
|
+
self.evl_runner.close()
|
|
217
227
|
|
|
218
228
|
_expected_idle_handle = None
|
|
219
229
|
|
|
@@ -233,7 +243,7 @@ class AsyncioEventLoopTest(unittest.TestCase, EventLoopTestMixin):
|
|
|
233
243
|
result = 1 / 0 # Simulate error in coroutine
|
|
234
244
|
return result
|
|
235
245
|
|
|
236
|
-
asyncio.ensure_future(error_coro(), loop=
|
|
246
|
+
asyncio.ensure_future(error_coro(), loop=self.loop)
|
|
237
247
|
self.assertRaises(ZeroDivisionError, evl.run)
|
|
238
248
|
|
|
239
249
|
|
|
@@ -306,6 +306,24 @@ class TestScrollBarListBox(unittest.TestCase):
|
|
|
306
306
|
widget.render(reduced_size).decoded_text,
|
|
307
307
|
)
|
|
308
308
|
|
|
309
|
+
def test_minimal_height(self):
|
|
310
|
+
"""If we have only 1 line render height and thumb position in the middle - do not render top."""
|
|
311
|
+
widget = urwid.ScrollBar(
|
|
312
|
+
urwid.ListBox(
|
|
313
|
+
(
|
|
314
|
+
urwid.CheckBox("A"),
|
|
315
|
+
urwid.CheckBox("B"),
|
|
316
|
+
urwid.CheckBox("C"),
|
|
317
|
+
)
|
|
318
|
+
)
|
|
319
|
+
)
|
|
320
|
+
reduced_size = (7, 1)
|
|
321
|
+
self.assertEqual(("[ ] A █",), widget.render(reduced_size).decoded_text)
|
|
322
|
+
widget.keypress(reduced_size, "down")
|
|
323
|
+
self.assertEqual(("[ ] B █",), widget.render(reduced_size).decoded_text)
|
|
324
|
+
widget.keypress(reduced_size, "down")
|
|
325
|
+
self.assertEqual(("[ ] C █",), widget.render(reduced_size).decoded_text)
|
|
326
|
+
|
|
309
327
|
|
|
310
328
|
def trivial_AttrMap(widget):
|
|
311
329
|
return urwid.AttrMap(widget, {})
|
|
@@ -1170,7 +1170,7 @@ def cview_trim_rows(cv, rows: int):
|
|
|
1170
1170
|
|
|
1171
1171
|
|
|
1172
1172
|
def cview_trim_top(cv, trim: int):
|
|
1173
|
-
return (cv[0], trim + cv[1], cv[2], cv[3] - trim
|
|
1173
|
+
return (cv[0], trim + cv[1], cv[2], cv[3] - trim, *cv[4:])
|
|
1174
1174
|
|
|
1175
1175
|
|
|
1176
1176
|
def cview_trim_left(cv, trim: int):
|
|
@@ -41,7 +41,6 @@ if typing.TYPE_CHECKING:
|
|
|
41
41
|
_T = typing.TypeVar("_T")
|
|
42
42
|
|
|
43
43
|
__all__ = ("AsyncioEventLoop",)
|
|
44
|
-
IS_WINDOWS = sys.platform == "win32"
|
|
45
44
|
|
|
46
45
|
|
|
47
46
|
class AsyncioEventLoop(EventLoop):
|
|
@@ -67,20 +66,37 @@ class AsyncioEventLoop(EventLoop):
|
|
|
67
66
|
def __init__(self, *, loop: asyncio.AbstractEventLoop | None = None, **kwargs) -> None:
|
|
68
67
|
super().__init__()
|
|
69
68
|
self.logger = logging.getLogger(__name__).getChild(self.__class__.__name__)
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
|
|
70
|
+
if sys.version_info[:2] < (3, 11):
|
|
72
71
|
self._event_loop_policy_altered: bool = False
|
|
73
72
|
self._original_event_loop_policy: asyncio.AbstractEventLoopPolicy | None = None
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
self.logger.debug("Set WindowsSelectorEventLoopPolicy as asyncio event loop policy")
|
|
78
|
-
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
|
|
79
|
-
self._event_loop_policy_altered = True
|
|
73
|
+
|
|
74
|
+
if loop:
|
|
75
|
+
self._loop: asyncio.AbstractEventLoop = loop
|
|
80
76
|
else:
|
|
81
|
-
self.
|
|
77
|
+
self._original_event_loop_policy = asyncio.get_event_loop_policy()
|
|
78
|
+
if sys.platform == "win32" and not isinstance(
|
|
79
|
+
self._original_event_loop_policy, asyncio.WindowsSelectorEventLoopPolicy
|
|
80
|
+
):
|
|
81
|
+
self.logger.debug("Set WindowsSelectorEventLoopPolicy as asyncio event loop policy")
|
|
82
|
+
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
|
|
83
|
+
self._event_loop_policy_altered = True
|
|
84
|
+
else:
|
|
85
|
+
self._event_loop_policy_altered = False
|
|
86
|
+
|
|
87
|
+
self._loop = asyncio.get_event_loop()
|
|
82
88
|
|
|
83
|
-
|
|
89
|
+
else:
|
|
90
|
+
self._runner: asyncio.Runner | None = None
|
|
91
|
+
|
|
92
|
+
if loop:
|
|
93
|
+
self._loop: asyncio.AbstractEventLoop = loop
|
|
94
|
+
else:
|
|
95
|
+
try:
|
|
96
|
+
self._loop = asyncio.get_running_loop()
|
|
97
|
+
except RuntimeError:
|
|
98
|
+
self._runner = asyncio.Runner(loop_factory=asyncio.SelectorEventLoop)
|
|
99
|
+
self._loop = self._runner.get_loop()
|
|
84
100
|
|
|
85
101
|
self._exc: BaseException | None = None
|
|
86
102
|
|
|
@@ -89,8 +105,11 @@ class AsyncioEventLoop(EventLoop):
|
|
|
89
105
|
self._idle_callbacks: dict[int, Callable[[], typing.Any]] = {}
|
|
90
106
|
|
|
91
107
|
def __del__(self) -> None:
|
|
92
|
-
if
|
|
93
|
-
|
|
108
|
+
if sys.version_info[:2] < (3, 11):
|
|
109
|
+
if self._event_loop_policy_altered:
|
|
110
|
+
asyncio.set_event_loop_policy(self._original_event_loop_policy) # Restore default event loop policy
|
|
111
|
+
elif self._runner is not None:
|
|
112
|
+
self._runner.close()
|
|
94
113
|
|
|
95
114
|
def _also_call_idle(self, callback: Callable[_Spec, _T]) -> Callable[_Spec, _T]:
|
|
96
115
|
"""
|
|
@@ -562,7 +562,7 @@ class ScrollBar(WidgetDecoration[WrappedWidget]):
|
|
|
562
562
|
top_weight = float(pos) / max(1, posmax) # pylint: disable=possibly-used-before-assignment
|
|
563
563
|
top_height = int((maxrow - thumb_height) * top_weight)
|
|
564
564
|
if top_height == 0 and top_weight > 0:
|
|
565
|
-
top_height = 1
|
|
565
|
+
top_height = min(1, maxrow - thumb_height)
|
|
566
566
|
|
|
567
567
|
# Bottom part is remaining space
|
|
568
568
|
bottom_height = maxrow - thumb_height - top_height
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: urwid
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.2
|
|
4
4
|
Summary: A full-featured console (xterm et al.) user interface library
|
|
5
|
-
Home-page: https://urwid.org/
|
|
6
5
|
Author-email: Ian Ward <ian@excess.org>
|
|
7
6
|
License: LGPL-2.1-only
|
|
8
7
|
Project-URL: Homepage, https://urwid.org/
|
|
@@ -31,7 +30,7 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
31
30
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
32
31
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
33
32
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
34
|
-
Requires-Python:
|
|
33
|
+
Requires-Python: >=3.9.0
|
|
35
34
|
Description-Content-Type: text/x-rst
|
|
36
35
|
License-File: COPYING
|
|
37
36
|
Requires-Dist: wcwidth
|
|
@@ -42,8 +41,8 @@ Requires-Dist: PyGObject; extra == "glib"
|
|
|
42
41
|
Provides-Extra: tornado
|
|
43
42
|
Requires-Dist: tornado>=5.0; extra == "tornado"
|
|
44
43
|
Provides-Extra: trio
|
|
45
|
-
Requires-Dist: trio>=0.
|
|
46
|
-
Requires-Dist: exceptiongroup; extra == "trio"
|
|
44
|
+
Requires-Dist: trio>=0.24.0; extra == "trio"
|
|
45
|
+
Requires-Dist: exceptiongroup; python_version < "3.11" and extra == "trio"
|
|
47
46
|
Provides-Extra: twisted
|
|
48
47
|
Requires-Dist: twisted; extra == "twisted"
|
|
49
48
|
Provides-Extra: zmq
|
|
@@ -52,9 +51,7 @@ Provides-Extra: serial
|
|
|
52
51
|
Requires-Dist: pyserial; extra == "serial"
|
|
53
52
|
Provides-Extra: lcd
|
|
54
53
|
Requires-Dist: pyserial; extra == "lcd"
|
|
55
|
-
Dynamic: home-page
|
|
56
54
|
Dynamic: license-file
|
|
57
|
-
Dynamic: requires-python
|
|
58
55
|
|
|
59
56
|
Urwid
|
|
60
57
|
=====
|
urwid-3.0.0/setup.py
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# Urwid setup.py exports the useful bits
|
|
2
|
-
# Copyright (C) 2004-2014 Ian Ward
|
|
3
|
-
#
|
|
4
|
-
# This library is free software; you can redistribute it and/or
|
|
5
|
-
# modify it under the terms of the GNU Lesser General Public
|
|
6
|
-
# License as published by the Free Software Foundation; either
|
|
7
|
-
# version 2.1 of the License, or (at your option) any later version.
|
|
8
|
-
#
|
|
9
|
-
# This library is distributed in the hope that it will be useful,
|
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
12
|
-
# Lesser General Public License for more details.
|
|
13
|
-
#
|
|
14
|
-
# You should have received a copy of the GNU Lesser General Public
|
|
15
|
-
# License along with this library; if not, write to the Free Software
|
|
16
|
-
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
17
|
-
#
|
|
18
|
-
# Urwid web site: https://urwid.org/
|
|
19
|
-
|
|
20
|
-
from __future__ import annotations
|
|
21
|
-
|
|
22
|
-
from setuptools import setup
|
|
23
|
-
|
|
24
|
-
setup(
|
|
25
|
-
name="urwid",
|
|
26
|
-
url="https://urwid.org/",
|
|
27
|
-
python_requires=">3.7",
|
|
28
|
-
setup_requires=[
|
|
29
|
-
"setuptools >= 61.0.0",
|
|
30
|
-
"setuptools_scm[toml]>=7.0",
|
|
31
|
-
"wheel",
|
|
32
|
-
],
|
|
33
|
-
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|