Skip to main content

a pure python tty

Project description

bittty

A pure Python terminal emulator.

Currently buggy and a bit slow, but it's still somewhat usable.

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

  1. Don't blame me

Do wtf you want, but don't blame me when it rips a hole in your trousers.

Recent changes

  • DEC Special Graphics
  • Faster colour/style parser
  • Split out from textual-tty into separate package

bugs / todo

  • gui
    • make a terminal input class, for standalone input
    • make framebuffer.py
    • choose a backend
  • performance improvements
    • parse with regex over large buffer sizes
    • line cache for outputs
  • scrollback buffer
    • implement logloglog for scrollback with wrapping
  • bugs
    • corruption in stream - debug it
    • scroll region: scroll up in vim corrupts outside scroll region
  • add terminal visuals
    • bell flash effect
  • Support themes

Unhandled modes

  • DECRLM (Right-to-Left-Language Mode): Enables right-to-left language support.

Project details


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.3.tar.gz (28.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bittty-0.0.3-py3-none-any.whl (32.9 kB view details)

Uploaded Python 3

File details

Details for the file bittty-0.0.3.tar.gz.

File metadata

  • Download URL: bittty-0.0.3.tar.gz
  • Upload date:
  • Size: 28.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for bittty-0.0.3.tar.gz
Algorithm Hash digest
SHA256 ef3e99e2fe4770eec4b9821a88f039b0056182878875bf5f1091f9595810024c
MD5 cd1df57674d683902bb3cf8da150c8d2
BLAKE2b-256 180df4379d904e4bd8a119ab38194ba628329cf22aafe070aacc0e0a24cd0548

See more details on using hashes here.

File details

Details for the file bittty-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: bittty-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 32.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for bittty-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 350480e32682aeb6fa1ebc577b8f3b1746037398a6defc7803480ed81c731f3e
MD5 9d34e9973f0e1867d156f1082b51c052
BLAKE2b-256 f6ece85746668a651cb477e64e1bf0665703cdd93bda8eafb934da6176957751

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page