_
              | |
 _ __   _   _ | |_  ___
| '_ \ | | | || __|/ _ \
| |_) || |_| || |_|  __/
| .__/  \__, | \__|\___|
| |      __/ |
|_|     |___/      0.8.1-dev

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, which uses pyte for its terminal plugin.
  • Pymux – a terminal multiplexor.
  • BastionSSH – a tool for protecting, monitoring and accessing multiple SSH resources.
  • Jumpserver – an open source springboard machine(fortress machine): authentication, authorization, audit, automated operation and maintenance.

Note

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