Simple VTXXX-compatible linux terminal emulator
Latest commit c06027c Oct 12, 2016 @superbobry superbobry Fixed UTF-8 decoding in ``Screen.draw``
  previously it was an error to call draw with a prefix of a
  UTF-8-encoded character, e.g. pass b"\xe2" and then b"\x94\x82"


              | |
 _ __   _   _ | |_  ___
| '_ \ | | | || __|/ _ \
| |_) || |_| || |_|  __/
| .__/  \__, | \__|\___|
| |      __/ |
|_|     |___/      0.6.0

What is pyte?

It's an in memory VTXXX-compatible terminal emulator. XXX stands for a series of video terminals, developed by DEC between 1970 and 1995. The first, and probably the most famous one, was VT100 terminal, which is now a de-facto standard for all virtual terminal emulators. pyte follows the suit.

So, why would one need a terminal emulator library?

  • To screen scrape terminal apps, for example htop or aptitude.
  • To write cross platform terminal emulators; either with a graphical (xterm, rxvt) or a web interface, like AjaxTerm.
  • To have fun, hacking on the ancient, poorly documented technologies.

Note: pyte started as a fork of vt102, which is an incomplete pure Python implementation of VT100 terminal.


If you have pip you can do the usual:

pip install pyte

Otherwise, download the source from GitHub and run:

python install

Similar projects

pyte is not alone in the weird world of terminal emulator libraries, here's a few other options worth checking out: Termemulator, pyqonsole, webtty, AjaxTerm and of course vt102.