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

urwid / urwid / 37016855127
90%

Build:
DEFAULT BRANCH: master
Ran 02 Oct 2026 02:01PM 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 02:00PM UTC coverage: 86.293% (+0.005%) from 86.288%
37016855127

push

github

web-flow
Linear-time text layout; fix mixed markup runs (#1386)

Laying out a paragraph without spaces took time quadratic in its length,
and tag markup mixing str and bytes produced wrong attribute runs.

- calc_string_text_pos, calc_text_pos, is_wide_char, move_next_char and
  the UTF-8 grapheme decoder segment a window that doubles until the
  result is found, instead of the whole rest of the text.
- StandardTextLayout checks a line by the part that fits, and searches
  for each newline and tab once per paragraph, not per display line.
- move_prev_char stops at start_offs, and joining a line with the one
  before it must move the break past the removed space: a space plus a
  combining mark or emoji modifier no longer raises ValueError or makes
  the layout loop forever.
- decompose_tagmarkup converts elements of the other text type with
  errors="replace", as apply_target_encoding does, and recounts the
  attribute runs in the converted text.

| what | avg time before | avg time after | percent change |
| --- | --- | --- | --- |
| urwid.StandardTextLayout.layout, "x" * 80000, width 80, space | 5421.63 ms | 64.67 ms | -98.8% |
| urwid.StandardTextLayout.layout, U+00E9 * 40000, width 80, space | 4108.15 ms | 944.65 ms | -77.0% |
| urwid.StandardTextLayout.layout, b"x" * 40000 UTF-8, width 80, space | 1511.53 ms | 64.97 ms | -95.7% |
| urwid.Text.render, "x" * 40000, (80,) | 1431.40 ms | 34.82 ms | -97.6% |
| urwid.StandardTextLayout.layout, 80 lines of 60 chars, width 80 | 39.0 us | 40.7 us | +4.4% |

4603 of 5538 branches covered (83.12%)

Branch coverage included in aggregate %.

85 of 90 new or added lines in 3 files covered. (94.44%)

11558 of 13190 relevant lines covered (87.63%)

9.79 hits per line

Uncovered Changes

Lines Coverage ∆ File
4
81.23
-0.13% urwid/str_util.py
1
98.45
-0.22% urwid/text_layout.py
Jobs
ID Job ID Ran Files Coverage
1 run-3.13-windows-latest - 37016855127.1 02 Oct 2026 02:02PM UTC 68
75.97
GitHub Action Run
2 run-3.14-ubuntu-latest - 37016855127.2 02 Oct 2026 02:01PM UTC 68
84.93
GitHub Action Run
3 run-3.11-windows-latest - 37016855127.3 02 Oct 2026 02:03PM UTC 68
75.97
GitHub Action Run
4 run-3.12-windows-latest - 37016855127.4 02 Oct 2026 02:03PM UTC 68
75.97
GitHub Action Run
5 run-3.10-windows-latest - 37016855127.5 02 Oct 2026 02:02PM UTC 68
75.97
GitHub Action Run
6 run-3.13-ubuntu-latest - 37016855127.6 02 Oct 2026 02:01PM UTC 68
84.93
GitHub Action Run
7 run-3.11-ubuntu-latest - 37016855127.7 02 Oct 2026 02:01PM UTC 68
84.93
GitHub Action Run
8 run-3.14-windows-latest - 37016855127.8 02 Oct 2026 02:02PM UTC 68
75.97
GitHub Action Run
9 run-3.9-ubuntu-latest - 37016855127.9 02 Oct 2026 02:01PM UTC 68
84.9
GitHub Action Run
10 run-3.10-ubuntu-latest - 37016855127.10 02 Oct 2026 02:02PM UTC 68
84.94
GitHub Action Run
11 run-3.9-windows-latest - 37016855127.11 02 Oct 2026 02:03PM UTC 68
75.93
GitHub Action Run
12 run-3.12-ubuntu-latest - 37016855127.12 02 Oct 2026 02:01PM UTC 68
84.93
GitHub Action Run
Source Files on build 37016855127
  • Tree
  • List 68
  • Changed 4
  • Source Changed 3
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #37016855127
  • ebaee41d on github
  • Prev Build on master (#37015511991)
  • Next Build on master (#37017531985)
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