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

urwid / urwid / 37013991564
91%

Build:
DEFAULT BRANCH: master
Ran 02 Oct 2026 01:36PM UTC
Jobs 12
Files 68
Run time 1min
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

02 Oct 2026 01:35PM UTC coverage: 86.278% (+0.04%) from 86.24%
37013991564

push

github

web-flow
Bound ListBox scans and hold the ListBox weakly (#1383)

f0b1e11 made calculate_visible quadratic in the number of 0-height
widgets. Separately, wrapping bodies of 0-height widgets hung the
scrolling keys, page up, page down and end raised ListBoxError on
bodies ending in 0-height widgets, and the body's "modified" handler
kept every ListBox alive with its walker.

- _SeenPositions tracks visited positions in a set and falls back to
  a list compared with == once a position cannot be hashed, since
  walker positions only promise ==.
- calculate_visible and render's short-body check use it instead of
  a list and a frozenset.
- Up, down, page up and page down stop when a (position, row offset)
  pair repeats, so a cycle of the body that adds no rows ends.
- Page down clamps its fallback offset to the last row, as page up
  already does, and bottom valign keeps a 0-height focus on the last
  row.
- The fell-short step of page up and page down never focuses a
  0-height widget.
- The "modified" handler holds the ListBox weakly and goes away with
  it; the deque walker tests expect the unbound ListBox._invalidate.

| what | avg time before | avg time after | percent change |
| --- | --- | --- | --- |
| urwid.ListBox.calculate_visible (1000 0-row widgets) | 4.51 ms | 0.92 ms | -79.6% |
| urwid.ListBox.calculate_visible (4000 0-row widgets) | 61.21 ms | 3.77 ms | -93.8% |
| urwid.ListBox.calculate_visible (16000 0-row widgets) | 994.59 ms | 15.80 ms | -98.4% |

4577 of 5508 branches covered (83.1%)

Branch coverage included in aggregate %.

46 of 46 new or added lines in 1 file covered. (100.0%)

11506 of 13133 relevant lines covered (87.61%)

9.79 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-3.14-windows-latest - 37013991564.1 02 Oct 2026 01:37PM UTC 68
75.9
GitHub Action Run
2 run-3.10-ubuntu-latest - 37013991564.2 02 Oct 2026 01:36PM UTC 68
84.92
GitHub Action Run
3 run-3.10-windows-latest - 37013991564.3 02 Oct 2026 01:37PM UTC 68
75.91
GitHub Action Run
4 run-3.12-ubuntu-latest - 37013991564.4 02 Oct 2026 01:36PM UTC 68
84.91
GitHub Action Run
5 run-3.13-windows-latest - 37013991564.5 02 Oct 2026 01:37PM UTC 68
75.91
GitHub Action Run
6 run-3.11-windows-latest - 37013991564.6 02 Oct 2026 01:37PM UTC 68
75.91
GitHub Action Run
7 run-3.9-windows-latest - 37013991564.7 02 Oct 2026 01:38PM UTC 68
75.89
GitHub Action Run
8 run-3.9-ubuntu-latest - 37013991564.8 02 Oct 2026 01:37PM UTC 68
84.89
GitHub Action Run
9 run-3.14-ubuntu-latest - 37013991564.9 02 Oct 2026 01:36PM UTC 68
84.91
GitHub Action Run
10 run-3.13-ubuntu-latest - 37013991564.10 02 Oct 2026 01:36PM UTC 68
84.91
GitHub Action Run
11 run-3.11-ubuntu-latest - 37013991564.11 02 Oct 2026 01:36PM UTC 68
84.91
GitHub Action Run
12 run-3.12-windows-latest - 37013991564.12 02 Oct 2026 01:38PM UTC 68
75.91
GitHub Action Run
Source Files on build 37013991564
  • Tree
  • List 68
  • Changed 3
  • Source Changed 1
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #37013991564
  • 7a676b6a on github
  • Prev Build on master (#37012579990)
  • Next Build on master (#37014927690)
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