Adds support for the standard Python `curses` module on Windows. Based on
[these wheels](https://www.lfd.uci.edu/~gohlke/pythonlibs/#curses). Uses the
PDCurses curses implementation.
The wheels are built from [this GitHub
repository](https://github.com/zephyrproject-rtos/windows-curses).
PDCurses is compiled with wide character support, meaning `get_wch()` is
available. UTF-8 is forced as the encoding.
Starting from windows-curses 2.0, in the name of pragmatism, these wheels (but
not Gohlke's) include a hack to make resizing work for applications developed
against ncurses without Python code changes: Whenever `getch()`, `getkey()`, or
`get_wch()` return `KEY_RESIZE`, `resize_term(0, 0)` is called automatically.
This gives behavior similar to the automatic `SIGWINCH` handling in ncurses
(see PDCurses' `resize_term()` documentation). [This
commit](https://github.com/zephyrproject-rtos/windows-curses/commit/30ca08bfbcb7a332228ddcde026181b2009ea0a7)
implements the hack.
To add the same hack in Python code (which is harmless, and needed if you want
resizing to work with older windows-curses versions or with Gohlke's wheels),
call `curses.resize_term(0, 0)` after receiving `KEY_RESIZE`, and ignore any
`curses.error` exceptions. ncurses reliably fails and does nothing for
`resize_term(0, 0)`, so this is safe on *nix.
Please tell me if the `resize_term(0, 0)` hackery causes you any trouble.
Raw data
{
"_id": null,
"home_page": "https://github.com/zephyrproject-rtos/windows-curses",
"name": "windows-curses",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "",
"author_email": "",
"download_url": "",
"platform": null,
"description": "Adds support for the standard Python `curses` module on Windows. Based on\r\n[these wheels](https://www.lfd.uci.edu/~gohlke/pythonlibs/#curses). Uses the\r\nPDCurses curses implementation.\r\n\r\nThe wheels are built from [this GitHub\r\nrepository](https://github.com/zephyrproject-rtos/windows-curses).\r\n\r\nPDCurses is compiled with wide character support, meaning `get_wch()` is\r\navailable. UTF-8 is forced as the encoding.\r\n\r\nStarting from windows-curses 2.0, in the name of pragmatism, these wheels (but\r\nnot Gohlke's) include a hack to make resizing work for applications developed\r\nagainst ncurses without Python code changes: Whenever `getch()`, `getkey()`, or\r\n`get_wch()` return `KEY_RESIZE`, `resize_term(0, 0)` is called automatically.\r\nThis gives behavior similar to the automatic `SIGWINCH` handling in ncurses\r\n(see PDCurses' `resize_term()` documentation). [This\r\ncommit](https://github.com/zephyrproject-rtos/windows-curses/commit/30ca08bfbcb7a332228ddcde026181b2009ea0a7)\r\nimplements the hack.\r\n\r\nTo add the same hack in Python code (which is harmless, and needed if you want\r\nresizing to work with older windows-curses versions or with Gohlke's wheels),\r\ncall `curses.resize_term(0, 0)` after receiving `KEY_RESIZE`, and ignore any\r\n`curses.error` exceptions. ncurses reliably fails and does nothing for\r\n`resize_term(0, 0)`, so this is safe on *nix.\r\n\r\nPlease tell me if the `resize_term(0, 0)` hackery causes you any trouble.\r\n",
"bugtrack_url": null,
"license": "PSF2",
"summary": "Support for the standard curses module on Windows",
"version": "2.3.2",
"project_urls": {
"GitHub repository": "https://github.com/zephyrproject-rtos/windows-curses",
"Homepage": "https://github.com/zephyrproject-rtos/windows-curses"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4d0b0b6ae5c59235a5163ec8f8290e2bb2c6f2521f5d9f2a0cfd6fab5e5e7aef",
"md5": "bf7c1eaeb3ab612b255e660d57b980b0",
"sha256": "0286d35c9a2589731af3cf2b1251635a400f4b61aef2b9c081f6c98e7887a170"
},
"downloads": -1,
"filename": "windows_curses-2.3.2-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "bf7c1eaeb3ab612b255e660d57b980b0",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 69847,
"upload_time": "2023-10-31T09:47:35",
"upload_time_iso_8601": "2023-10-31T09:47:35.018458Z",
"url": "https://files.pythonhosted.org/packages/4d/0b/0b6ae5c59235a5163ec8f8290e2bb2c6f2521f5d9f2a0cfd6fab5e5e7aef/windows_curses-2.3.2-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "24f253ee9cdd21df3e63c4076acf15b111df3d85de90a1795c8773fc47326f93",
"md5": "eafb4cfaf36a7b7e276d414afb7152ec",
"sha256": "b5e68520c7e92dff72914e4126cadb5b8eb3b6c968d955de6d35ff42306da8c0"
},
"downloads": -1,
"filename": "windows_curses-2.3.2-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "eafb4cfaf36a7b7e276d414afb7152ec",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 80426,
"upload_time": "2023-10-31T09:47:36",
"upload_time_iso_8601": "2023-10-31T09:47:36.443983Z",
"url": "https://files.pythonhosted.org/packages/24/f2/53ee9cdd21df3e63c4076acf15b111df3d85de90a1795c8773fc47326f93/windows_curses-2.3.2-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8d4fd77ea34a361eecc4791c4b7e1ba941c59288c5a0e601942f8f6dd7ccd9a9",
"md5": "73cce65adedfa2a9d55229bb1a7bd5d4",
"sha256": "95d2a288af6172270da5ca9225aa99eeae98595c6e90f3574aa9b9f2fc1d2619"
},
"downloads": -1,
"filename": "windows_curses-2.3.2-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "73cce65adedfa2a9d55229bb1a7bd5d4",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 69844,
"upload_time": "2023-10-31T09:47:37",
"upload_time_iso_8601": "2023-10-31T09:47:37.734063Z",
"url": "https://files.pythonhosted.org/packages/8d/4f/d77ea34a361eecc4791c4b7e1ba941c59288c5a0e601942f8f6dd7ccd9a9/windows_curses-2.3.2-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "061dab254dcfa0a027e2f94e31407b04ae838975842241a7a2c2a90a8727958d",
"md5": "fb2adc86ab1940c8f40006a2919283e2",
"sha256": "9b7ecd0f21f643e22a979effff25f62200626bb9853ea8b9aacf0bbcaab0950d"
},
"downloads": -1,
"filename": "windows_curses-2.3.2-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "fb2adc86ab1940c8f40006a2919283e2",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 80444,
"upload_time": "2023-10-31T09:47:39",
"upload_time_iso_8601": "2023-10-31T09:47:39.567153Z",
"url": "https://files.pythonhosted.org/packages/06/1d/ab254dcfa0a027e2f94e31407b04ae838975842241a7a2c2a90a8727958d/windows_curses-2.3.2-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8d1a2a013dcde0de20f40c608f1b8da31152ed3979e1b8bf3b32bc3d8883c1c3",
"md5": "345bf436c9dafe52480421c851a888f6",
"sha256": "4546122f5bec2fb46c1706c020d971bcfc4d9a5158372f25ba7472a834b0f165"
},
"downloads": -1,
"filename": "windows_curses-2.3.2-cp312-cp312-win32.whl",
"has_sig": false,
"md5_digest": "345bf436c9dafe52480421c851a888f6",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 69998,
"upload_time": "2023-10-31T09:47:41",
"upload_time_iso_8601": "2023-10-31T09:47:41.969322Z",
"url": "https://files.pythonhosted.org/packages/8d/1a/2a013dcde0de20f40c608f1b8da31152ed3979e1b8bf3b32bc3d8883c1c3/windows_curses-2.3.2-cp312-cp312-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e47f2636983e0429d929a1968be2ce0ded62e5d0ddae3059c14a158b9d4f5fea",
"md5": "94691a4df6a757d7193a5f65c1f2de1f",
"sha256": "e3f27939f39143c513f444a8c0419b2737e8de55fbe5d63d765992512125366d"
},
"downloads": -1,
"filename": "windows_curses-2.3.2-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "94691a4df6a757d7193a5f65c1f2de1f",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 80539,
"upload_time": "2023-10-31T09:47:44",
"upload_time_iso_8601": "2023-10-31T09:47:44.284910Z",
"url": "https://files.pythonhosted.org/packages/e4/7f/2636983e0429d929a1968be2ce0ded62e5d0ddae3059c14a158b9d4f5fea/windows_curses-2.3.2-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3fea4738fa323ce309bd4e5003223b34b72c8ea793dfdab823ffbe22d5c74f20",
"md5": "632d3e9edb0556d6cb573c10d11022c3",
"sha256": "a570f744a62108d024a7775b3b156b2ae2380fc971237c3bd2742341e7151f22"
},
"downloads": -1,
"filename": "windows_curses-2.3.2-cp36-cp36m-win32.whl",
"has_sig": false,
"md5_digest": "632d3e9edb0556d6cb573c10d11022c3",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": null,
"size": 61270,
"upload_time": "2023-10-31T09:47:47",
"upload_time_iso_8601": "2023-10-31T09:47:47.540031Z",
"url": "https://files.pythonhosted.org/packages/3f/ea/4738fa323ce309bd4e5003223b34b72c8ea793dfdab823ffbe22d5c74f20/windows_curses-2.3.2-cp36-cp36m-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "13adb991469fa1172bbfa74e37fe37fcf9471b91b4c21234fc4ad2e216e7a3cd",
"md5": "45d14732068cc9e500bd5ed3ce098f97",
"sha256": "f81294465a67e43ddc50c1b52711b100b002fa1238f87d84d0cf94b785c4fe75"
},
"downloads": -1,
"filename": "windows_curses-2.3.2-cp36-cp36m-win_amd64.whl",
"has_sig": false,
"md5_digest": "45d14732068cc9e500bd5ed3ce098f97",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": null,
"size": 70282,
"upload_time": "2023-10-31T09:47:50",
"upload_time_iso_8601": "2023-10-31T09:47:50.143243Z",
"url": "https://files.pythonhosted.org/packages/13/ad/b991469fa1172bbfa74e37fe37fcf9471b91b4c21234fc4ad2e216e7a3cd/windows_curses-2.3.2-cp36-cp36m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d347f9297390c7f84625ebe5373f011338a3da9934692af2cd748d5ee3cfb930",
"md5": "c2d068fb195b5e618a8d41b959541f21",
"sha256": "72ff5d8963fbb3aa662bfced2c5ea22dc3ed58bac827a3bff74a1de5eacdbe57"
},
"downloads": -1,
"filename": "windows_curses-2.3.2-cp37-cp37m-win32.whl",
"has_sig": false,
"md5_digest": "c2d068fb195b5e618a8d41b959541f21",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 61300,
"upload_time": "2023-10-31T09:47:51",
"upload_time_iso_8601": "2023-10-31T09:47:51.899022Z",
"url": "https://files.pythonhosted.org/packages/d3/47/f9297390c7f84625ebe5373f011338a3da9934692af2cd748d5ee3cfb930/windows_curses-2.3.2-cp37-cp37m-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "515a0ab680155474d37a9b8b46b35f5e7cf3691d4e9a8a359f00dedbd208533b",
"md5": "19c95022361c5a323de9ca795b5a542e",
"sha256": "70d8cb4ddad43f695a266f79c7a31d40ac8aee2a17cf8e06ecfd4a71589ad30d"
},
"downloads": -1,
"filename": "windows_curses-2.3.2-cp37-cp37m-win_amd64.whl",
"has_sig": false,
"md5_digest": "19c95022361c5a323de9ca795b5a542e",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 70309,
"upload_time": "2023-10-31T09:47:54",
"upload_time_iso_8601": "2023-10-31T09:47:54.091107Z",
"url": "https://files.pythonhosted.org/packages/51/5a/0ab680155474d37a9b8b46b35f5e7cf3691d4e9a8a359f00dedbd208533b/windows_curses-2.3.2-cp37-cp37m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ed8358bf033c93089c3a34f0786092ce3258543c2604fbb562e891d67a1d00bf",
"md5": "29d1bc08db41517f5e1172d41c296abd",
"sha256": "6bc698058081408685975256f46f570c32f8d7e1f4f82f9d6c66c300c6daff89"
},
"downloads": -1,
"filename": "windows_curses-2.3.2-cp38-cp38-win32.whl",
"has_sig": false,
"md5_digest": "29d1bc08db41517f5e1172d41c296abd",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 76237,
"upload_time": "2023-10-31T09:47:56",
"upload_time_iso_8601": "2023-10-31T09:47:56.621838Z",
"url": "https://files.pythonhosted.org/packages/ed/83/58bf033c93089c3a34f0786092ce3258543c2604fbb562e891d67a1d00bf/windows_curses-2.3.2-cp38-cp38-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f7303c21ebd172508ae21e0fa92c85a8c2086aeed0c17909decfca4d220510af",
"md5": "873df4d6da18dc1a328ae67d404d218b",
"sha256": "f73bfd283f86d3ac0a72b74307ccc99ea0fd008a732d80db95d31fbafeee3c66"
},
"downloads": -1,
"filename": "windows_curses-2.3.2-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "873df4d6da18dc1a328ae67d404d218b",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 88933,
"upload_time": "2023-10-31T09:47:58",
"upload_time_iso_8601": "2023-10-31T09:47:58.643104Z",
"url": "https://files.pythonhosted.org/packages/f7/30/3c21ebd172508ae21e0fa92c85a8c2086aeed0c17909decfca4d220510af/windows_curses-2.3.2-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "964ec81ac171c6e764989e85e1f68da86f934c5d3b7fd7b90fc6751e476106dc",
"md5": "cf3788d8ae641b70968667d92972c0a4",
"sha256": "e4ec5245f0c00ede45b033a885511eea80d5928c9bd3ceb523fbfb086370a4df"
},
"downloads": -1,
"filename": "windows_curses-2.3.2-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "cf3788d8ae641b70968667d92972c0a4",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 76513,
"upload_time": "2023-10-31T09:48:01",
"upload_time_iso_8601": "2023-10-31T09:48:01.023418Z",
"url": "https://files.pythonhosted.org/packages/96/4e/c81ac171c6e764989e85e1f68da86f934c5d3b7fd7b90fc6751e476106dc/windows_curses-2.3.2-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bddb2b99556dc14ac2c7aae1bdf80690b29e14f6d2c9451feb69cb9874809221",
"md5": "fb07392cabfaefb0a63763536f6297fa",
"sha256": "00d5d000b68db38bd97b6a5b90ee4b4c915a7cef7492fc5aa9ecc7794ee2ca93"
},
"downloads": -1,
"filename": "windows_curses-2.3.2-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "fb07392cabfaefb0a63763536f6297fa",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 89080,
"upload_time": "2023-10-31T09:48:03",
"upload_time_iso_8601": "2023-10-31T09:48:03.006161Z",
"url": "https://files.pythonhosted.org/packages/bd/db/2b99556dc14ac2c7aae1bdf80690b29e14f6d2c9451feb69cb9874809221/windows_curses-2.3.2-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-31 09:47:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "zephyrproject-rtos",
"github_project": "windows-curses",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "windows-curses"
}