Skip to main content

Object-Oriented Terminal User Interface an object oriented way of displaying data in the terminal.

Project description

OOTUI

Object-Oriented Terminal User Interface


Alpha state

the package does not yet live up to some details given in the readme


OOTUI is a package for creating easy to read data displays in your terminal. (or games if you're crazy like that)

you create displays by creating objects that hold the data that you want to display (and updating these objects whenever necessary). You decorate or divide this data by creating more objects (like BorderRects).

Each object has a position and a size, so any object can appear anywhere on the terminal

Parent-Child structure

Any drawable(a OOTUI object that 'draws' on the terminal) can have a parent and any number of children.

When a drawable 'updates'(redraw its portion of the terminal) all of its will update as well before its portion is redrawn.

a child can overwrite (part of) its parent, meaning that, for example: you can layer multiple line-graphs over each other.

The position of a drawable is relative to its parent (and optionally its size as well), this means that groups of objects automatically stick together

Use Window to take over the entire terminal... or don't.

Any drawable can output itself and the sum of its children at any time with a normal print statement. This is for if you just want to show a graph or two every once in a while.

If you use the window object, you overwrite the whole terminal, and can position your drawables anywhere on this terminal. You can update this window as often as you'd like to get real-time data from multiple drawables at once.

A window knows the size of your terminal, so your drawables can reposition and rescale itself, based on this size (optionally in real time)

You can use multiple windows to switch between structures of drawables, fast. (you can think of these as different screens)

efficient

Even very complex structures of drawables (with many children (both in depth (grandchildren) and in width (siblings))) can usually be updated and drawn within a tenth of a second.

If that isn't enough, you don't need to update every drawable every 'frame', you can just update the drawables that you want to update, and they will cascade their part of the terminal back to the root object

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

OOTUI-0.0.1.2.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

OOTUI-0.0.1.2-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file OOTUI-0.0.1.2.tar.gz.

File metadata

  • Download URL: OOTUI-0.0.1.2.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for OOTUI-0.0.1.2.tar.gz
Algorithm Hash digest
SHA256 9c02a5a820ced0e02faa998ce308811e98667be50d5c69eb6032202e817518c0
MD5 43576e9890840069941071ccf8cdb5ca
BLAKE2b-256 f95cd01e0ca2fbb94d8e04dac8f99993e4515312b13fa1368ec0cb1b759537c8

See more details on using hashes here.

File details

Details for the file OOTUI-0.0.1.2-py3-none-any.whl.

File metadata

  • Download URL: OOTUI-0.0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for OOTUI-0.0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b62b9bdbad79a20650606f65b2cee99428d78c10801877f7aad09e7907d1fddf
MD5 9d0f3c5dd2de0c5a8e27313e5566f6ac
BLAKE2b-256 a3c3b6758f052b33fd0a03a6814a0b4e166ed06e690c39dd459017a2f9dec16b

See more details on using hashes here.

Supported by

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