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
- 🔙 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
- 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
- line cache for outputs
- 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
Unhandled modes
DECRLM(Right-to-Left-Language Mode): Enables right-to-left language support.
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.6.tar.gz
(34.7 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.6-py3-none-any.whl
(39.4 kB
view details)
File details
Details for the file bittty-0.0.6.tar.gz.
File metadata
- Download URL: bittty-0.0.6.tar.gz
- Upload date:
- Size: 34.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
105117733b925521072a1fe7221154535a967d4f7ffababc5360f6f2f1c6d49e
|
|
| MD5 |
1906bcd5a8e46b0af949c219abeb657d
|
|
| BLAKE2b-256 |
8a2d63cf1377414d9442a1c14d5c755ddd329c1aff0cc440fe93d7b1677e94f4
|
File details
Details for the file bittty-0.0.6-py3-none-any.whl.
File metadata
- Download URL: bittty-0.0.6-py3-none-any.whl
- Upload date:
- Size: 39.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 |
b0199c7dce4d18cd3dd131d2a93e4ea2dd1f95d29d5739bf6e8f5d9a037ab096
|
|
| MD5 |
5231a5d40f503d99188bdf6457c9710a
|
|
| BLAKE2b-256 |
ead674b12e7c2e0ae9d98e51f4b906bd7959dc48d2d7cda625660555c57378b2
|