Skip to main content

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

  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

  • architecture
    • break into router
  • 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
    • underline in vim after load
  • 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.5.tar.gz (32.1 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.5-py3-none-any.whl (35.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bittty-0.0.5.tar.gz
  • Upload date:
  • Size: 32.1 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.5.tar.gz
Algorithm Hash digest
SHA256 ea3fa7e6cad73406fe4894662bbeccea22b6363e8f2700381e669440dd4eb3a7
MD5 855c369933ffbc3a20d642f3a34d8040
BLAKE2b-256 6672ed118ddcf38d35d039646bb631f60cabd23ff77734ac4ddb7fbbea8ec95e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bittty-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 35.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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0f98c85d1097cf8269bcba5b5203adf3ca2a9925721e7745c4c2597e97458612
MD5 b735f6e84e7af01739afcab274e6462f
BLAKE2b-256 13a1173ef9c4064c455d1c18648f6015f2241242f2263fe579a8171530162a38

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