• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

penguinolog / urwid
93%
master: 92%

Build:
Build:
LAST BUILD BRANCH: overlay-stack
DEFAULT BRANCH: master
Repo Added 20 Jun 2023 08:28AM UTC
Token nZ5xt2o2DKKtMXKnDA1uXfKzjCCxuWXzE regen
Build 1139 Last
Files 77
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH overlay-stack
branch: overlay-stack
CHANGE BRANCH
x
Reset
Sync Branches
  • overlay-stack
  • 2.4.1
  • 2.4.2
  • 2.4.3
  • 2.4.4
  • 2.4.5
  • 2.4.6
  • 2.5.0
  • 2.5.1
  • 2.5.2
  • 2.5.3
  • 2.6.0
  • 2.6.0.post0
  • 2.6.1
  • 2.6.11
  • 2.6.12
  • 2.6.13
  • 2.6.14
  • 2.6.15
  • 2.6.16
  • 2.6.2
  • 2.6.3
  • 2.6.4
  • 2.6.5
  • 2.6.6
  • 2.6.7
  • 2.6.8
  • 2.6.9
  • 3.0.0
  • 3.0.1
  • 3.0.2
  • 3.0.3
  • 3.0.4
  • 3.0.5
  • 4.0.0
  • 4.0.1
  • 4.0.10
  • 4.0.11
  • 4.0.12
  • 4.0.13
  • 4.0.2
  • 4.0.3
  • 4.0.4
  • 4.0.5
  • 4.0.6
  • 4.0.7
  • 4.0.8
  • 4.0.9
  • 4.1.0
  • 4.1.1
  • 4.1.2
  • 4.1.3
  • 4.1.4
  • 4.1.5
  • 4.1.6
  • 4.1.7
  • 4.2.0
  • 4.2.1
  • 4.2.2
  • 4.2.3
  • 4.2.4
  • 4.2.5
  • AttrMap_compat
  • ListBox_relative_scroll
  • add-xterm-insert-keypad-keys
  • add_run_in_exectutor
  • annotations
  • ansi-text-raw-display-attributes-3
  • artifacts_bdist
  • ascii-fallbacks
  • async_callbacks
  • async_in_event_loop
  • attr_shadow_attr
  • bar_graph
  • base_class_events
  • big_text_static_text
  • bigtext-fonts
  • black
  • bug_layout
  • bug_rows_max_listbox
  • bug_scrollable_no_size
  • build_limited_api
  • builld-system
  • bump_ruff
  • button-brackets-selectable-text
  • call-from-thread
  • canvas_optimisation
  • changelog
  • changelog-5.0.0
  • changelog_406
  • changelog_407
  • changelog_501
  • changelog_gen
  • changelog_pre-release
  • check_mixed
  • ci/pypy-tests
  • ci_actionlint
  • ci_cd_extend
  • ci_cd_generate_changelog
  • ci_ci
  • ci_finalise_uv
  • ci_project
  • ci_py314
  • ci_tests
  • ci_try_enable_osx
  • ci_tuning
  • class_docstrings
  • classifiers
  • clean-up
  • clean_graphics
  • cleanup
  • cleanup_code
  • cleanup_helper
  • cleanup_unused
  • clear-iexten
  • clipboard-copy-osc52
  • closed_io
  • code_cleanup
  • columns-hidden-columns
  • columns_accept_focus_widget
  • columns_consistency
  • columns_maxcol
  • columns_optimisation
  • columns_render
  • columns_special_case_fixed
  • columns_support_fixed
  • columns_zero_width
  • command-map-help
  • command_enum
  • command_map_api_extend
  • constants_symbols
  • container-focus-changed-hook
  • container_deprecated_setters
  • content_validation
  • corner_case_ellipsis_not_fit
  • cover_listbox_scrollable
  • coverage_no_tests
  • coverage_special
  • curses_fix
  • deduplicate
  • deprecate-lcd-display
  • deprecate_content_delta
  • deprecate_progress_bar_set_done
  • deprecated_attr_wrap
  • deprecated_decoration
  • deprecated_fix
  • deprecated_positioning
  • deprecated_public
  • deprecation
  • deprecation-process-2
  • deprecation_binary_font
  • deprecation_deadline
  • deprecation_part0
  • deprecation_part1
  • deprecation_part2
  • deprecation_part3
  • deprecation_release_4
  • deprecation_super
  • deprecations
  • deprecations_for_5
  • deprecations_handle
  • deprecations_term_scroller
  • deque_walker_ansi_parser
  • descriptors
  • devcontainer
  • devcontainers
  • disable-macos-ci
  • disallow_broken_wcwidth
  • display-leftovers-csi-key
  • doc
  • doc-draw-screen-thread
  • doc_env
  • doc_event_loop
  • doc_examples
  • doc_fix_typo
  • doc_raises
  • doc_windows
  • docs
  • docs_build
  • docs_changelog
  • docs_disconnect_by_key
  • docs_fixes
  • docs_readability
  • docs_screenshots
  • docs_scrollable
  • docstring-fields
  • docstrings
  • document_fix_graalpy
  • drop-down-widget
  • drop_c_helper
  • drop_unused
  • dropdown-single-option-read-only
  • ds_store
  • edit-cancel-signal
  • edit-grapheme-cursor
  • edit-kill-buffer
  • edit-max-length
  • edit-placeholder-validator-completer
  • edit-postchange-intedit-ellipsis
  • edit-text-pos-readline-submit
  • edit_typing
  • editorconfig
  • empty_grid_flow
  • enable_typing
  • enable_windows_asyncio_tests
  • escape-sequence-fixes
  • escape_test
  • event_loop
  • event_loop_executor
  • example_browse
  • examples_code_style
  • examples_deprecated
  • exceptiongroup
  • expand_tabs
  • expose_widget
  • extend_scrollable
  • extended-keyboard
  • extra_input_handling
  • extra_tests
  • extra_typing
  • faint_extend
  • feat_font
  • feat_terminal_detection
  • feat_tornado
  • feature/ansi-osc8-hyperlinks
  • feature/inherit-attr
  • feature/osc8-hyperlinks
  • feature/radio-button-selected-button
  • feature/running-loop
  • feature_canvas_repr
  • feature_fixed_text
  • feature_selectors
  • feature_wimp_pack
  • fix-ansitext-security
  • fix-asyncio-loop-cleanup
  • fix-attribute-defined-outside-init
  • fix-bargraph-security
  • fix-base-widget-mock-loop
  • fix-canvascache-leak
  • fix-columns-cursor-dropped-column
  • fix-columns-security
  • fix-deque-insert-index
  • fix-display-event-loop-typing
  • fix-edit-override-cursor
  • fix-edit-security
  • fix-event-loop-callbacks
  • fix-event-loop-stale-watch
  • fix-fallback-call-test-flake
  • fix-focus-list-pickle
  • fix-gpm-tracking
  • fix-gridflow-wheel-and-hidden-focus
  • fix-hangup-teardown
  • fix-input-parser-crashes
  • fix-layout-attributes-invalidate
  • fix-lcd-get-input
  • fix-listbox-emptied-body-focus
  • fix-listbox-focus-moves
  • fix-listbox-security
  • fix-macos-dev-tty-selector
  • fix-main-loop-cleanup
  • fix-mouse-tracking-restart
  • fix-numedit-negative-zeros
  • fix-osc-esc-termination
  • fix-pile-security
  • fix-popup-false-widget-and-stubs
  • fix-posix-input-read
  • fix-progressbar-security
  • fix-radiobutton-initial-state
  • fix-raw-display-c1-controls
  • fix-raw-display-fallback-size
  • fix-raw-screen-socket-cycle
  • fix-scrollbar-decorated-widget
  • fix-scrollbar-keypress-before-render
  • fix-setup-g1-hang
  • fix-signal-handler-races
  • fix-signals-leak
  • fix-terminal-keypress-before-render
  • fix-text-control-chars
  • fix-text-pack-tab-stops
  • fix-text-security
  • fix-tree-security
  • fix-watch-pipe
  • fix-widget-races
  • fix-win32-console-size
  • fix-win32-input-thread
  • fix-zmq-watch-keys
  • fix/deque-insert-index-pypy
  • fix/hidden-focus-candidates
  • fix/space-wrap-zero-width-before-break
  • fix/terminal-watch-handle
  • fix/vterm-defects-2
  • fix_asyncio_del_closed_loop
  • fix_build_windows
  • fix_display_typing
  • fix_docstring_event_loop
  • fix_docstrings
  • fix_edit
  • fix_font
  • fix_import_warn
  • fix_imports_moved
  • fix_listbox_render_empty_elements
  • fix_overlay
  • fix_ovl_items_replace
  • fix_py312
  • fix_readme
  • fix_regressions
  • fix_rerais
  • fix_rle_product
  • fix_rows_typing
  • fix_ruff
  • fix_term_scroll
  • fix_toc_html
  • fix_tree_listbox_render_empty_elements
  • fix_zope.interface
  • fixed_flow_overlay
  • fixes
  • flow_filler
  • follow-end-walkers
  • font-hex-and-math-glyphs
  • frame-focus-changed-signal
  • frame_fix
  • frame_focus
  • get_cursor_coord
  • gitter_badge
  • glib_deprecation
  • graalpy-pickle-and-checker-fixes
  • grid_flow_support_fixed
  • gridflow_focus
  • handle_mypy_warnings
  • handle_non_subclassed_widget
  • html_fragment
  • html_fragment-deprecate_monkeypatch
  • implement_scrollbar_layout
  • imports_deprecation_warning
  • initial_mypy
  • input-closed-error
  • integeredit-default-corner-cases
  • isort
  • iterable_microopt
  • join_display
  • khal_insufficient_padding_width
  • kill_py37_py38
  • labeler_scope
  • labeler_update_rules
  • last-row-zero-width-and-escapes
  • lazy_imports
  • lazy_load_explicit_package
  • lb_max_left_right
  • line-box-fixed
  • line_box
  • line_box_double_inheritance
  • line_box_replace
  • linebox-long-title
  • linebox-title-markup
  • listbox-edge-stop
  • listbox-empty-not-selectable
  • listbox-fixes
  • listbox-flow-render
  • listbox-scroll-and-search
  • listbox_contents
  • listbox_guard_walker
  • listbox_tests
  • live-container-selectable
  • logging
  • mainloop-paused-context
  • maintenance_code_quality
  • maintenance_internal
  • maintenance_labeler
  • maintenance_pre_commit
  • maintenance_pyproject
  • maintenance_pytest
  • maintenance_ruff
  • maintenance_rules
  • maintenance_typing
  • maintenance_yamllint
  • master
  • meta_super_position
  • missed_test
  • missed_tests
  • monitored_list_move
  • monkeypathch_pad
  • mouse-button
  • move_listbox_tree
  • mro_simplefocuslistwalker
  • mypy_global_fixes
  • mypy_warnings
  • name-dec-private-modes
  • nested_popups
  • notifications
  • numedit
  • optimisations
  • optimise_signals
  • optional_dependencies
  • outdated-scripts
  • overlay-menu-signal
  • overlay_typing_repr
  • pack_extra
  • pack_on_edit
  • packaging_setup
  • packaging_tests
  • packaging_unstable_test
  • padding_given
  • padding_pack_weight
  • padding_support_fixed
  • palette-hashable-names
  • part_f_keys
  • part_osx
  • pep_424_lazy
  • pile_support_fixed
  • poc_gen_changelog
  • popup-close-on-click-outside
  • popup-launcher-close-on-menu
  • posix_raw_display_optimise
  • pr_template
  • pre-412
  • pre-release_changelog
  • pre_305
  • pre_4.0.2
  • pre_4010
  • pre_4011
  • pre_4012
  • pre_4013
  • pre_404
  • pre_405
  • pre_409
  • pre_410
  • pre_411
  • pre_413
  • pre_414
  • pre_415
  • pre_416
  • pre_417
  • pre_420
  • pre_421
  • pre_422
  • pre_423
  • pre_424
  • pre_425
  • pre_release
  • prep_2_2_2
  • prep_403
  • prepare_408
  • provisional_typing
  • public-palette-access
  • py311_migration_single
  • py312_no_bdist
  • py313
  • py_version_description
  • pydocstyle
  • pylint
  • pylint_silence
  • pylint_warnings
  • pyrefly
  • pyrefly-unused-ignores
  • pyright-typing-fixes
  • raw_display_optimization
  • raw_display_var_naming
  • raw_display_windows_resize
  • raw_input_optimizations
  • ref_dead_code
  • refactor_scrollable
  • refactor_super
  • refactoring_code_style
  • refurb
  • refurb_fixes
  • regression_enums
  • regression_linebox
  • regression_ovl_relative
  • regression_treetools
  • regressions
  • rel_3.0
  • rel_3.0.1
  • rel_3.0.2
  • relnotes-release
  • remove_temporary_dev_script
  • requirements_security
  • restore_palette
  • restore_win32_support
  • rich_repr
  • ruff
  • ruff_0_2
  • ruff_bump
  • ruff_up
  • ruff_update
  • screenshots_trminus
  • scrollable
  • scrollable_annotations
  • scrollable_bar
  • scrollable_bug
  • scrollable_listbox
  • scrollbar-always-visible
  • scrollbar-cursor-coords
  • scrollbar-end-markers
  • scrollbar-markers-4-rows
  • scrollbar-zero-rows
  • scrollbar_estimated_size
  • security_rules
  • select-nav-wrap-around
  • select-navigation
  • selectable_icon
  • setuptools_scm_api
  • sgrmouse_shift_handle
  • shard_body_row_fix
  • shards-zero-row
  • shards_inconsistency
  • signals_subclass_abc
  • sigstp
  • simplify_code
  • sizing_columns
  • sizing_container_list_contents
  • sizing_fixes
  • slots-safe-places
  • special_case_empty_columns_pile
  • sphinx_build_gh_pages_ready
  • spinner
  • split_widget_enums
  • static_check_fix
  • static_checks
  • static_fix
  • static_fixes
  • static_update
  • stop_monkeypatch
  • str_optimise
  • strict_mypy
  • strict_typing
  • subiquity-inspired-bugfixes
  • support_sync_output
  • symbols_use_dataclass
  • table
  • table-column-attr
  • tabs
  • terminal-demo-mouse
  • terminal-modified-keys
  • terminal-mouse-forwarding
  • terminfo-colors
  • terminfo-device-safety
  • test_req_fix
  • test_tree
  • test_vterm
  • testing-module
  • tests
  • tests_display_restart
  • tests_explicit_encoding
  • tests_org
  • tests_organisation
  • tests_windows
  • text-layout-cache-thread-safety
  • text_fixed_api
  • text_layout
  • text_layout_encoding
  • text_pack
  • tox_envs
  • tree
  • tree-leaf-icon-lines
  • tree-navigation-helpers
  • tree_undeprecate
  • treetools_coverage
  • treetools_regression
  • trio_typing
  • type_annotations_trivial
  • typing
  • typing-delegate-mixin
  • typing_
  • typing_attr_map
  • typing_attr_wrap
  • typing_bar_graph
  • typing_big_text_progress_bar
  • typing_canvas
  • typing_containders
  • typing_display
  • typing_errors
  • typing_escape
  • typing_event_loop
  • typing_examples
  • typing_filler_
  • typing_fixes
  • typing_generic
  • typing_glib_loop
  • typing_issues
  • typing_listbox
  • typing_literal_constants
  • typing_monitored_list
  • typing_part_listbox
  • typing_polish
  • typing_radiobutton_checkbox
  • typing_silence
  • typing_split_repr-command_map
  • typing_text
  • typing_util_part_canvas
  • typing_widget
  • typing_widget_decoration
  • typing_widget_vterm_edit
  • typing_wimp
  • typo_job_name
  • un-deprecate_user_arg
  • unfocused-focus-attr
  • unicode_line_breaks
  • unicode_table
  • unicode_win
  • unwarn_escape
  • update-static-checkers
  • update_black
  • update_checkers
  • update_screenshots
  • upload_download_artifact
  • use_base_class_for_row_display
  • uuid_as_signal_key
  • vterm-alt-screen-kitty-keys
  • watch_pipe_implicit_none
  • wcwidth_unicode_auto
  • web_display
  • web_display_fixes
  • web_display_id
  • web_display_init
  • web_encoding_handling
  • web_resize
  • weight_float
  • weighted-pile-and-undrawn-children
  • wheels_only_upstream
  • widget-disable-toggle
  • widget_like
  • widget_mouse_keypress
  • widget_type
  • win_support_mark
  • window-title
  • window_resize_trottle
  • windows_asyncio
  • windows_curses
  • windows_event_debug
  • windows_garbage_commands
  • windows_last_line
  • windows_use_unicode_input
  • workflow_labeler
  • wsl_fix
  • zmq_loop_async

05 Nov 2026 03:50PM UTC coverage: 93.082% (+1.2%) from 91.873%
42059107776

push

github

penguinolog
Define the container contents views once, not per access

Overlay.contents, Frame.contents and ListBox.contents defined a new class on every access.
Its methods held the container, so each container lived until a cycle collection,
and on free-threaded CPython 3.13, which makes every class immortal once a thread has started, forever.

- The views are module-level classes holding their container in a slot.
- Their behaviour and repr text are unchanged.
- The OverlayStack leak test no longer expects to fail on free-threaded 3.13.

6618 of 7304 branches covered (90.61%)

Branch coverage included in aggregate %.

42 of 42 new or added lines in 3 files covered. (100.0%)

1 existing line in 1 file now uncovered.

16982 of 18050 relevant lines covered (94.08%)

14.9 hits per line

Relevant lines Covered
Build:
Build:
18050 RELEVANT LINES 16982 COVERED LINES
14.9 HITS PER LINE
Source Files on overlay-stack
  • Tree
  • List 77
  • Changed 28
  • Source Changed 4
  • Coverage Changed 28
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
42059107776 overlay-stack Define the container contents views once, not per access Overlay.contents, Frame.contents and ListBox.contents defined a new class on every access. Its methods held the container, so each container lived until a cycle collection, and on free-thre... push 05 Nov 2026 03:52PM UTC penguinolog github
93.08
42056100892 overlay-stack Expect the OverlayStack leak test to fail on free-threaded 3.13 Overlay.contents defines a class on every access, and the free-threaded CPython 3.13 build makes every class immortal once a thread has started, so that class keeps each Overlay aliv... push 05 Nov 2026 03:34PM UTC penguinolog github
91.87
42048954018 overlay-stack Count the watch_pipe test timers from the awaited event Three watch_pipe tests stopped the loop on alarms counted from before run(). On a slow start every alarm is due on the first pass, so the loop stopped before the pipe was read. - Each stop ... push 05 Nov 2026 02:51PM UTC penguinolog github
93.07
42046261787 overlay-stack Add OverlayStack to the container widgets diagram The diagram now has the width of the basic widgets diagram, with an extra row. - OverlayStack follows Overlay in the container widgets. - Scroll, pop-up and special widgets move down to keep the ... push 05 Nov 2026 02:35PM UTC penguinolog github
91.87
See All Builds (1078)

Badge your Repo: urwid

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc