There are two important classes in
Stream. The Screen is the terminal screen
emulator. It maintains an in-memory buffer of text and text-attributes
to display. The Stream is the stream processor. It processes the input
and dispatches events. Events are things like
CURSOR_POSITION 10 10. See the API reference for more
In general, if you just want to know what’s being displayed on screen you can do something like the following:
>>> from __future__ import unicode_literals >>> import pyte >>> screen = pyte.Screen(80, 24) >>> stream = pyte.Stream(screen) >>> stream.feed(b"Hello World!") >>> screen.display ['Hello World! ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']
Screen has no idea what is the source of bytes fed into
so, obviously, it can’t read or change environment variables, which implies
- it doesn’t adjust LINES and COLUMNS on
- it doesn’t use locale settings (LC_* and LANG);
- it doesn’t use TERM value and expects it to be “linux” and only “linux”.
And that’s it for Hello World! Head over to the examples for more.