Skip to main content

Library for TUI programs on basis of curses

Project description

cursedspace

A python library/framework for TUI application on the basis of the curses package.

Example use

Here’s a very simple example of how to use the cursedspace package:

#!/usr/bin/env python3

from cursedspace import Application, Key, Panel


class DemoApplication(Application):
    def __init__(self):
        super().__init__()
        self.panel = None

    def main(self):
        self.panel = Panel(self)
        self.resize()

        while True:
            curses.doupdate()

            key = self.read_key()

            if key == Key.RESIZE:
                self.resize()
            elif key in [Key.ESCAPE, "q", "^C"]:
                break

    def resize(self):
        height, width = self.size()
        self.panel.resize(height, width)
        self.panel.paint()


# run the application
DemoApplication().run()

Components

  • Application is the main application class and provides boilerplate initialisations
  • Panel is a basic panel with support for borders and key handling in the context of an Application
  • LineInput is a panel with very basic editing support.
  • Key provides a convenient wrapper around curses’ key system. It can be used standalone even when you don’t want to use Application or Panel.
  • ShellContext is a convenient wrapper to execute external processes (e.g. through subprocess) and returning to the curses context afterwards again.

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

cursedspace-0.1.1.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

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

cursedspace-0.1.1-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file cursedspace-0.1.1.tar.gz.

File metadata

  • Download URL: cursedspace-0.1.1.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.6

File hashes

Hashes for cursedspace-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f2bc754bf6c023526e792b9003d6d27fc0e423acb8cfe4767976e344054cfc49
MD5 388ad9976d10a0d82e037a52ccf32241
BLAKE2b-256 b6a29e39cd6e2c87ef3718936e6a8115fa43c490e4d82b8dfe7ad852702b2be4

See more details on using hashes here.

File details

Details for the file cursedspace-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: cursedspace-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.6

File hashes

Hashes for cursedspace-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e9ae27cdb0a19be2542aff5c2221500fc559cabaf140e18ef4b3ad211334c64e
MD5 ea131716a9c706be7c4a717c46740071
BLAKE2b-256 13b8e7950d1901bd1f9ffa4d4cf5bcf5c66c07ecd9f72a349f98a2033423ccbb

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