bittty
A pure Python terminal emulator.
Demo
Run the standalone demo:
python ./demo/terminal.py
Or use the textual demo to see it in a TUI:
uvx textual-tty
Links
License
WTFPL with one additional clause
- Donβt blame me
Do wtf you want, but donβt blame me when it rips a hole in your trousers.
Recent changes
- π more performance
- ποΈ rewrite architecture
- π scroll region: scroll up in
vimcorrupts outside scroll region - π squeeze another 15% performance out of it
- β fix utf8 and escape code splitting across buffer boundaries
- πͺ tests run on Windows runner
- π added parser benchmarking and tui graphs
- π use regex for parsing to speed things up a tad (~2x faster)
- π document half a billion DEC private modes we donβt support
- π DECLM - allow
\nto act like\r\nso we donβt have to rely on cooked input on the pty when using as a library. - πΌοΈ DEC Special Graphics
- π Faster colour/style parser
- βοΈβπ₯ Split out from
textual-ttyinto separate package
Known limitations
- Wide characters, combining characters and grapheme clusters are treated as one cell.
- Resizing is not atomic with concurrent PTY output.
- There is no scrollback buffer or reflow on resize.