Skip to main content

library to help with curses programming

Project description

library to help with curses programming (Python 3.3+ compatible)

Installation

From the project root directory:

$ python setup.py install

Usage

The easiest method is to just decorate your function, and use the injected scr argument:

from time import sleep
from ezcurses import curse

@curse
def main(scr, message_string):
    w, h = scr.max_size()
    scr.write(message_string, pos=(w // 2, h // 2))
    scr.refresh()
    sleep(1)

if __name__ == '__main__':
    main('Hello world!')

You can also use the Cursed context manager. Here’s an example with windows with backgrounds and borders and colors:

from ezcurses import Cursed

with Cursed() as scr:
    w, h = scr.max_size()
    win1 = scr.new_win(orig=(0, 0), size=(20, 20))
    win2 = scr.new_win(orig=(20, 0), size=(20, 20))
    win1.border()
    win2.border()
    win1.background('+', color='red')
    win2.background('.', color=('green', 'blue'))
    win1.refresh()
    win2.refresh()
    s = win1.getstr((1, 1), echo=True)
    win2.write(s, (1, 1), color=('red', 'black'))
    win2.refresh()
    win1.write('Press q to quit', (1, 1), color=('black', 'red'))
    while win1.getkey() != 'q':
        pass

Release Notes

0.2.12:
  • Add windows support with unicurses
0.2.11:
  • Readme example was bad
0.2.10:
  • Add multi_menu feature for selections spanning a screen
0.2.9:
  • Rename _msgs to Menu.items
0.2.8:
  • Much more intricate menu logic and new multi_menu.py example
0.2.7:
  • Fix menu origin in windows bug
0.2.6:
  • Make layout creatable with Screen.new_layout(border=True)
0.2.5:
  • Add Layout feature for bootstrap like rows and columns
0.2.4:
  • Add Menu functionality and an example in examples/menu_example.py
0.2.3:
  • make it much more tolerable for floats, if user does math stuff
0.2.2:
  • add curse decorator
  • rename main context manager to Cursed
0.2.1:
  • fixed a few bugs in window without size
0.2.0:
  • lots of clean up and testing, fix README
0.1.2:
  • Make positional optional and a keyword pos for the getstr function
  • Add documentation to API
0.1.1:
  • Make position optional for write and default (0, 0) like other funcs
0.1.0:
  • New features for curses windows
  • get input, string and characters
  • add strings with colors to the window
  • add borders
  • draw lines
  • change background
  • very functional as is
0.0.1:
  • Project created

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
ezcurses-0.3.0.tar.gz (10.8 kB) Copy SHA256 hash SHA256 Source None Jul 21, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page