a pure python tty
Project description
bittty
A pure Python terminal emulator.
Almost usable; some scroll region problems, doesn't like textual in textual yet.
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
- 🐌 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
bugs / todo
- architecture - pretty big
- gui
- make a terminal input class, for standalone input
- make
framebuffer.py - choose a display driver
- performance improvements
- parse with regex over large buffer sizes
- reconsider CSI end char approach
- line cache for outputs
- revisit colours
- parse with regex over large buffer sizes
- scrollback buffer
- implement
logloglogfor scrollback with wrapping
- implement
- bugs
- corruption in stream - debug it
- scroll region: scroll up in
vimcorrupts outside scroll region
- add terminal overlay visuals
- bell flash effect
- make cursor an overlay
- make mouse an overlay
- debug overlay for scroll regions
- Support themes
- bittty-specific escape sequences
- visible mouse on / off
- debugging info
- record
- list sequences + values
- Document all the escape sequences
- build a terminal library
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
bittty-0.0.7.tar.gz
(36.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
bittty-0.0.7-py3-none-any.whl
(41.4 kB
view details)
File details
Details for the file bittty-0.0.7.tar.gz.
File metadata
- Download URL: bittty-0.0.7.tar.gz
- Upload date:
- Size: 36.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d1c1346c17b3c85f05588e2433f9c6932441cc20cddfdfa9c6ce4bca78e58b7
|
|
| MD5 |
d137203d0d430d6654f9c6b269018b0a
|
|
| BLAKE2b-256 |
2055844e91cad1ec38cffb4b29652d755e4a5c87bb2cec124623ad0071649fd1
|
File details
Details for the file bittty-0.0.7-py3-none-any.whl.
File metadata
- Download URL: bittty-0.0.7-py3-none-any.whl
- Upload date:
- Size: 41.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d34b2549a0666ee85c14bf5b6f9be7a4011cbd7b8b424c6367861388b52fda9b
|
|
| MD5 |
899f62f4342e43641f34d1f4645e7559
|
|
| BLAKE2b-256 |
506952dae36c8b8f0992bfc9fae8970df55d82b427f51382bcaeb900e213940d
|