library to help with curses programming
Project description
ezcurses
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
cursedecorator - 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
posfor thegetstrfunction - Add documentation to API :0.1.1:
- Make position optional for
writeand 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ezcurses-0.3.2.tar.gz.
File metadata
- Download URL: ezcurses-0.3.2.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79d55f6a199f2b5ddd62a08c3316ee84983dad316f238884084015b7c8a2546e
|
|
| MD5 |
209a33aab397231cd008c63907548977
|
|
| BLAKE2b-256 |
a98e245c8ef860f255a79afa92f4070abddecae6b79607640c34a514e7e8c87f
|
File details
Details for the file ezcurses-0.3.2-py3-none-any.whl.
File metadata
- Download URL: ezcurses-0.3.2-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f6bbb132655267a5401f4a6bc5995d192dd7dd1d233aab2205eee262f694a18
|
|
| MD5 |
7f1ad9da4fa5729c3d5821ae6a6226ee
|
|
| BLAKE2b-256 |
47ab2e9f54c4019a40242409d07cc714d7e43700adf0202014538b9ac8dc3a38
|