pyte is 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. 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 implementation of VT100 features.
Installation
If you have setuptools you can use easy_install -U pyte. Otherwise, you can download the source from GitHub and run python setup.py install.
Example
>>> import pyte
>>> screen = pyte.Screen(80, 24)
>>> stream = pyte.Stream()
>>> stream.attach(screen)
>>> stream.feed(u"\u001b7\u001b[?47h\u001b)0\u001b[H\u001b[2J\u001b[H"
u"\u001b[2;1HNetHack, Copyright 1985-2003\r\u001b[3;1"
u"H By Stichting Mathematisch Centrum and M. "
u"Stephenson.\r\u001b[4;1H See license for de"
u"tails.\r\u001b[5;1H\u001b[6;1H\u001b[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] ",
' ',
' ',
' ',
' ',
' ',
' ',
' ',
' ',
' ',
' ',
' ',
' ',
' ',
' ',
' ',
' ',
' ']
>>>
Options?
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
Requirements:
- Python
Comments not found