«Chicks dig dudes with terminals» © @samfoo
What is vt102
? It's an in memory VTXXX-compatible terminal emulator. XXX stands for a series 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. vt102
follows the suit.
So, why would one need a terminal emulator library?
- To screen scrape terminal apps, for example
htop
oraptitude
. - 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.
If you have setuptools you can use easy_install -U vt102
. Otherwise, you can download the source from GitHub and run python setup.py install
.
>>> import vt102 >>> screen = vt102.Screen(80, 24) >>> stream = vt102.Stream() >>> stream.attach(screen) >>> stream.feed(u"u001b7u001b[?47hu001b)0u001b[Hu001b[2Ju001b[H" u"u001b[2;1HNetHack, Copyright 1985-2003ru001b[3;1" u"H By Stichting Mathematisch Centrum and M. " u"Stephenson.ru001b[4;1H See license for de" u"tails.ru001b[5;1Hu001b[6;1Hu001b[7;1HShall I pi" u"ck a character's race, role, gender and alignment f" u"or you? [ynq] ") >>> screen.display [' ', 'NetHack, Copyright 1985-2003 ', ' By Stichting Mathematisch Centrum and M. Stephenson. ', ' See license for details. ', ' ', ' ', "Shall I pick a character's race, role, gender and alignment for you? [ynq] ", ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '] >>>
vt102
is not alone in the weird world of terminal emulator libraries, here's a few other options worth checking out: Termemulator, pyqonsole, webtty AjaxTerm