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
- reconsider CSI end char approach
- line cache for outputs
- [.] revisit colours
- scrollback buffer
- implement
logloglogfor scrollback with wrapping
- implement
- bugs
- corruption in stream - debug it - utf8 split on boundary
- 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
- collect books for 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.9.tar.gz
(37.5 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.9-py3-none-any.whl
(43.3 kB
view details)
File details
Details for the file bittty-0.0.9.tar.gz.
File metadata
- Download URL: bittty-0.0.9.tar.gz
- Upload date:
- Size: 37.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53428e505a84d8e25c77a4f1fba1d568d4c04ee9b8f0cc7d53bd3024799cf0f0
|
|
| MD5 |
f4fed4279bddfc5fbe6cef05e5f51cbe
|
|
| BLAKE2b-256 |
fb4ad4e41b51bd9a3ec77f3fc276235d395356eedcb5e856d6def3689c34447b
|
File details
Details for the file bittty-0.0.9-py3-none-any.whl.
File metadata
- Download URL: bittty-0.0.9-py3-none-any.whl
- Upload date:
- Size: 43.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c5fe7095b210705ebf73b7172640162063931cfaceb4ff48dffd3057e5a3b63
|
|
| MD5 |
dc7548ac3b8f587d5a8eab263e21d710
|
|
| BLAKE2b-256 |
b64ace273a7026a150c6eefa7b0c2fc45161b79b45feed206b9c382a091e5cb7
|