Skip to main content

An enhanced version of the tty module

Project description

Overview

The term package is an enhanced version of the standard library’s tty module. It provides context managers for opening a terminal stream, and for temporarily switching the terminal to raw or cbreak mode.

Package Contents

Terminal Control

setraw(fd, when=TCSAFLUSH, min=1, time=0)

Put the terminal in raw mode.

setcbreak(fd, when=TCSAFLUSH, min=1, time=0)

Put the terminal in cbreak mode.

rawmode(fd, when=TCSAFLUSH, min=1, time=0)

Context manager to put the terminal in raw mode.

cbreakmode(fd, when=TCSAFLUSH, min=1, time=0)

Context manager to put the terminal in cbreak mode.

Terminal I/O

opentty(bufsize=-1, mode=’r+b’)

Context manager returning a new rw stream connected to /dev/tty. The stream is None if the device cannot be opened.

readto(stream, endswith):

Read bytes or characters from stream until buffer.endswith(endswith) is true.

High-level Functions

getyx()

Return the cursor position as 1-based (line, col) tuple. Line and col are 0 if the device cannot be opened or the terminal does not support DSR 6.

getfgcolor()

Return the terminal foregound color as (r, g, b) tuple. All values are -1 if the device cannot be opened or does not supports OSC 10.

getbgcolor()

Return the terminal background color as (r, g, b) tuple. All values are -1 if the device cannot be opened or does not supports OSC 11.

islightmode()

Return true if the background color is lighter than the foreground color. May return None if the terminal does not support OSC color queries.

isdarkmode()

Return true if the background color is darker than the foreground color. May return None if the terminal does not support OSC color queries.

Documentation

Please see the API Documentation for more.

Changelog

2.5 - 2023-09-14

  • Update tox.ini for latest tox. [stefan]

  • Add .readthedocs.yaml file. [stefan]

  • Pin sphinx and sphinx-rtd-theme versions in docs extra. [stefan]

  • Add pylint extra which installs pylint. [stefan]

  • Update .pylintrc for latest pylint. [stefan]

2.4 - 2022-03-07

  • Add Python 3.8-3.10 to tox.ini. Remove old Python versions. [stefan]

  • Replace deprecated python setup.py test in tox.ini. [stefan]

  • Remove deprecated test_suite from setup.py. [stefan]

  • Move metadata to setup.cfg and add a pyproject.toml file. [stefan]

  • Include tests in sdist but not in wheel. [stefan]

  • Fix escape sequence warning in byte string literal. [stefan]

  • Open /dev/tty in binary mode under both Python 2 and 3. [stefan]

  • Officially change opentty’s bufsize argument default from 1 to -1. Under Python 3, 1 has effectively meant -1 all along but Python 3.8 now issues a warning. [stefan]

  • Add readto, getfgcolor, getbgcolor, islightmode, and isdarkmode. [stefan]

2.3 - 2019-02-08

  • Add MANIFEST.in. [stefan]

  • Release as wheel. [stefan]

  • Drop explicit GPL because the PSF license is GPL-compatible anyway. [stefan]

2.2 - 2017-02-05

  • Support Python 2.6-3.6 without 2to3. [stefan]

2.1 - 2014-04-19

  • Remove setuptools from install_requires because it isn’t. [stefan]

2.0 - 2012-04-27

  • Open /dev/tty in binary mode under Python 3. [stefan]

  • Disable buffering if the device is not seekable. [stefan]

  • Remove getmaxyx since it cannot be implemented reliably. [stefan]

  • Support Python 2.5. [stefan]

  • Change license to GPL or PSF to avoid relicensing of PSF code. [stefan]

1.0 - 2012-04-11

  • Initial release. [stefan]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

term-2.5.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

term-2.5-py2.py3-none-any.whl (7.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file term-2.5.tar.gz.

File metadata

  • Download URL: term-2.5.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.2

File hashes

Hashes for term-2.5.tar.gz
Algorithm Hash digest
SHA256 846fda941dbb8a7c9f246e99bf5ee731910fc4a4cc54b7e36457c133c9f6b78b
MD5 6177c20e0f7f0ce4cf9da7a3117754b7
BLAKE2b-256 cf049b149ac5e6e894f4dc29543d0bb227562171427d530e06ba4ad243bee17e

See more details on using hashes here.

File details

Details for the file term-2.5-py2.py3-none-any.whl.

File metadata

  • Download URL: term-2.5-py2.py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.2

File hashes

Hashes for term-2.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c775c7a6ed5ea85b0a659773756686b305e6079e9f2fa7bfcd2953d5d910f61f
MD5 b722fa7949527abac19dc77f917c9772
BLAKE2b-256 217d589abff12d1bc6055f4152fdbe01cae374f81c051fcd3b7b8278eb437b1b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page