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

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.

Installation

If you have pip you can do the usual pip install pyte. Otherwise, download the source from GitHub and run python setup.py 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.

pyte users

Believe it or not, there’re projects which actually need a terminal emulator library. Not many of them use pyte, though. Here’s a shortlist the ones that do:

  • Ajenti – a webadmin panel for Linux and BSD uses pyte for its terminal plugin.
  • Pymux – a terminal multiplexor.

Note

Using pyte? Add yourself to this list and submit a pull request.

Show me the code!

Head over to our brief Tutorial or, if you’re feeling brave, dive right into the API reference; pyte also has a couple of examples in the examples directory.