Simple VTXXX-compatible terminal emulator.
Project description
_ | | _ __ _ _ | |_ ___ | '_ \ | | | || __|/ _ \ | |_) || |_| || |_| __/ | .__/ \__, | \__|\___| | | __/ | |_| |___/ 0.4.2 -- chicks dig dudes with terminals (c) @samfoo
What is pyte?
What is pyte? 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. 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 setuptools you can use easy_install -U pyte. Otherwise, you can download the source from GitHub and run python setup.py install.
Quick example
There are two important classes in pyte: Screen and Stream. The Screen is the terminal screen emulator. It maintains an in-memory buffer of text and text-attributes to display on screen. The Stream is the stream processor. It manages the state of the input and dispatches events to anything that’s listening about things that are going on. Events are things like LINEFEED, DRAW "a", or CURSOR_POSITION 10 10. See the API documentation for more details.
In general, if you just want to know what’s being displayed on screen you can do something like the following:
>>> import pyte >>> screen = pyte.Screen(80, 24) >>> stream = pyte.Stream() >>> stream.attach(screen) >>> stream.feed("Hello World!") >>> screen.display ['Hello World! ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']
Alternatives
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pyte-0.4.2.tar.gz
.
File metadata
- Download URL: pyte-0.4.2.tar.gz
- Upload date:
- Size: 23.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 534e628ec07775d6a203f67f75f06f5d3c972b9e69123b769744ebfbb3ac4646 |
|
MD5 | 1eb16305af9cc9df86a9527fbbff6d93 |
|
BLAKE2b-256 | d2290ab0df415d8e1b51ec2968efd3107d1333a808fd6a6cf51dea0f492e81ae |