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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ezcurses-0.3.2.tar.gz
(6.5 kB
view details)
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
|