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": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": null,
"download_url": null,
"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.4.0",
"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": "4dd89f3740f6afe47bedec8f6dea6a8705215ebc0437e6feebd37d791d8be5d0",
"md5": "0e8a940b21b97a4fe290fddeace9e641",
"sha256": "525fa12689aa54cd8e4cfa6d03f3d4d336f2e9ef0b6db4fdb4d3c1b22a71180b"
},
"downloads": -1,
"filename": "windows_curses-2.4.0-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "0e8a940b21b97a4fe290fddeace9e641",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 71133,
"upload_time": "2024-10-14T14:35:46",
"upload_time_iso_8601": "2024-10-14T14:35:46.698994Z",
"url": "https://files.pythonhosted.org/packages/4d/d8/9f3740f6afe47bedec8f6dea6a8705215ebc0437e6feebd37d791d8be5d0/windows_curses-2.4.0-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "930c10e369eb0a6583890e1ebbb2e024040fde91299fbc167d5312ee18f138ae",
"md5": "91364ed9e4d7b9361e9280dbba6e148e",
"sha256": "4621042a28f48e2240314a624eb36f18121483d47f12c488cad9670f402ba6d7"
},
"downloads": -1,
"filename": "windows_curses-2.4.0-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "91364ed9e4d7b9361e9280dbba6e148e",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 81434,
"upload_time": "2024-10-14T14:35:48",
"upload_time_iso_8601": "2024-10-14T14:35:48.096245Z",
"url": "https://files.pythonhosted.org/packages/93/0c/10e369eb0a6583890e1ebbb2e024040fde91299fbc167d5312ee18f138ae/windows_curses-2.4.0-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7691a24739ea1bd53ec0b4e05ba5c0c8f786715dfff1d6ce95bc8867f9677292",
"md5": "97f59eea8c5cf6932aa05418e6f0bf2c",
"sha256": "90fde3341b2361f45716cfbe44bd253ac6a07dfde7262f3afdcf7cc0285c35ac"
},
"downloads": -1,
"filename": "windows_curses-2.4.0-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "97f59eea8c5cf6932aa05418e6f0bf2c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 71133,
"upload_time": "2024-10-14T14:35:49",
"upload_time_iso_8601": "2024-10-14T14:35:49.638058Z",
"url": "https://files.pythonhosted.org/packages/76/91/a24739ea1bd53ec0b4e05ba5c0c8f786715dfff1d6ce95bc8867f9677292/windows_curses-2.4.0-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ea7fe680c41be83302a40b2c9b45759e6105cf0e3afc5a0b67f8eb926ee478cc",
"md5": "6a26108f8b10d99f7a04ed5e8da6d508",
"sha256": "0c32be4aa97887febff175a8a6b3deeecc06c1a3f47ecbb5f62de6bf4165d6db"
},
"downloads": -1,
"filename": "windows_curses-2.4.0-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "6a26108f8b10d99f7a04ed5e8da6d508",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 81457,
"upload_time": "2024-10-14T14:35:50",
"upload_time_iso_8601": "2024-10-14T14:35:50.940592Z",
"url": "https://files.pythonhosted.org/packages/ea/7f/e680c41be83302a40b2c9b45759e6105cf0e3afc5a0b67f8eb926ee478cc/windows_curses-2.4.0-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "86660a83825bd45f5cbd8dbeb7f96497e1162b355cbabd956b4960efceb04dc2",
"md5": "468b33a1c68a65c4a7c66292674bcf9a",
"sha256": "e165db84de30039f6da6bded9aa2f88e3c1ae7be11dc7c84416cbe6ba0ac4f29"
},
"downloads": -1,
"filename": "windows_curses-2.4.0-cp312-cp312-win32.whl",
"has_sig": false,
"md5_digest": "468b33a1c68a65c4a7c66292674bcf9a",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 71403,
"upload_time": "2024-10-14T14:35:51",
"upload_time_iso_8601": "2024-10-14T14:35:51.813052Z",
"url": "https://files.pythonhosted.org/packages/86/66/0a83825bd45f5cbd8dbeb7f96497e1162b355cbabd956b4960efceb04dc2/windows_curses-2.4.0-cp312-cp312-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "07fc5faaef1ec5921953cc7c87ff60a5af751769cb996caab828ceb21f13ee95",
"md5": "176b66791a61c935981fd17ec2ba5410",
"sha256": "f50d02833a7e7866b9f42d62febbdf83c6703575240e9bbdd1446d09d70505d3"
},
"downloads": -1,
"filename": "windows_curses-2.4.0-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "176b66791a61c935981fd17ec2ba5410",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 81752,
"upload_time": "2024-10-14T14:35:53",
"upload_time_iso_8601": "2024-10-14T14:35:53.262849Z",
"url": "https://files.pythonhosted.org/packages/07/fc/5faaef1ec5921953cc7c87ff60a5af751769cb996caab828ceb21f13ee95/windows_curses-2.4.0-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4814b51ff63f943f98589dc49fd9463ff78da95cc3b93d2a4e68c0ffa9f31c15",
"md5": "e8f161bfb33216c3ade7a52747e16184",
"sha256": "fcb0591fc6e647556f685327a6f3e6923afc8a16c35436665df692556b78e708"
},
"downloads": -1,
"filename": "windows_curses-2.4.0-cp36-cp36m-win32.whl",
"has_sig": false,
"md5_digest": "e8f161bfb33216c3ade7a52747e16184",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": null,
"size": 61641,
"upload_time": "2024-10-14T14:35:54",
"upload_time_iso_8601": "2024-10-14T14:35:54.106481Z",
"url": "https://files.pythonhosted.org/packages/48/14/b51ff63f943f98589dc49fd9463ff78da95cc3b93d2a4e68c0ffa9f31c15/windows_curses-2.4.0-cp36-cp36m-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "af22b246fa9d87d7456b6f6383779ddd2baaa7429ba8256c70551949705d9416",
"md5": "c90d3d039c6dd96bf1efede9bec449ad",
"sha256": "e1f137d347e300e6163fa0aa31f7a02f6da42e43a90ce423bc929fb06752385e"
},
"downloads": -1,
"filename": "windows_curses-2.4.0-cp36-cp36m-win_amd64.whl",
"has_sig": false,
"md5_digest": "c90d3d039c6dd96bf1efede9bec449ad",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": null,
"size": 70743,
"upload_time": "2024-10-14T14:35:55",
"upload_time_iso_8601": "2024-10-14T14:35:55.451903Z",
"url": "https://files.pythonhosted.org/packages/af/22/b246fa9d87d7456b6f6383779ddd2baaa7429ba8256c70551949705d9416/windows_curses-2.4.0-cp36-cp36m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2d8907edb45c2a3f4eb53791a8e8b906498d5034c6e9ee3c0b61225579c10bfa",
"md5": "262f63b77f12185ca6e99de252e69693",
"sha256": "6771fb73f5a66d281a6f5e474dcfe07a4dd64460ff17c72ed9dd35fdf65fbfc8"
},
"downloads": -1,
"filename": "windows_curses-2.4.0-cp37-cp37m-win32.whl",
"has_sig": false,
"md5_digest": "262f63b77f12185ca6e99de252e69693",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 61670,
"upload_time": "2024-10-14T14:35:56",
"upload_time_iso_8601": "2024-10-14T14:35:56.340513Z",
"url": "https://files.pythonhosted.org/packages/2d/89/07edb45c2a3f4eb53791a8e8b906498d5034c6e9ee3c0b61225579c10bfa/windows_curses-2.4.0-cp37-cp37m-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b5fa6161ac3bb6aa9de09a3b7fedb8dbafb076325517e01220bf0d195f51d7f5",
"md5": "760359e8802020c3f4eb58723bc2c46e",
"sha256": "68d633cdb7e82ec207184ab3be74c058e184cd34f76407801cf451be4ee85861"
},
"downloads": -1,
"filename": "windows_curses-2.4.0-cp37-cp37m-win_amd64.whl",
"has_sig": false,
"md5_digest": "760359e8802020c3f4eb58723bc2c46e",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 70769,
"upload_time": "2024-10-14T14:35:57",
"upload_time_iso_8601": "2024-10-14T14:35:57.631418Z",
"url": "https://files.pythonhosted.org/packages/b5/fa/6161ac3bb6aa9de09a3b7fedb8dbafb076325517e01220bf0d195f51d7f5/windows_curses-2.4.0-cp37-cp37m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "210cbcc8a821e1ec1b93e5d6defaf69e3d3fbefc69ea4dd2aaea9f44c57496fa",
"md5": "db167372c4d7381afc31227c1fc053aa",
"sha256": "342b786c82fda5f9592593b2f8f4078de40b31baaf331be57af4c3c9a2e40061"
},
"downloads": -1,
"filename": "windows_curses-2.4.0-cp38-cp38-win32.whl",
"has_sig": false,
"md5_digest": "db167372c4d7381afc31227c1fc053aa",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 76509,
"upload_time": "2024-10-14T14:35:59",
"upload_time_iso_8601": "2024-10-14T14:35:59.334166Z",
"url": "https://files.pythonhosted.org/packages/21/0c/bcc8a821e1ec1b93e5d6defaf69e3d3fbefc69ea4dd2aaea9f44c57496fa/windows_curses-2.4.0-cp38-cp38-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "753fe49501deeee0e641f68072ce44fca2668cdc99ab39a2b6e4ed9730dc46d2",
"md5": "39aa58747e651759c76397a1999eeb81",
"sha256": "c77973c5af419c3d9bcb99908dc9791102813026d6abdda9236e44d9342c9579"
},
"downloads": -1,
"filename": "windows_curses-2.4.0-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "39aa58747e651759c76397a1999eeb81",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 89371,
"upload_time": "2024-10-14T14:36:00",
"upload_time_iso_8601": "2024-10-14T14:36:00.282408Z",
"url": "https://files.pythonhosted.org/packages/75/3f/e49501deeee0e641f68072ce44fca2668cdc99ab39a2b6e4ed9730dc46d2/windows_curses-2.4.0-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "faebadad8bf163cc858aaa97f6063b67b056edf409ee8de74bd6c13282437d7e",
"md5": "ccb04395d92ebbf00acb0cc1103924a7",
"sha256": "6f481322360dbcdfa37b30654c89aa2920f4528eaefec3a50fa6a6d07be49069"
},
"downloads": -1,
"filename": "windows_curses-2.4.0-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "ccb04395d92ebbf00acb0cc1103924a7",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 76856,
"upload_time": "2024-10-14T14:36:01",
"upload_time_iso_8601": "2024-10-14T14:36:01.755742Z",
"url": "https://files.pythonhosted.org/packages/fa/eb/adad8bf163cc858aaa97f6063b67b056edf409ee8de74bd6c13282437d7e/windows_curses-2.4.0-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "57ed03869584d15eccea26d45267d19a56ee82bfd6f65ebe989023e76fa81ad0",
"md5": "a6f869f1ca3d652e712c78a2375cd8da",
"sha256": "441189fb71c455ed0575ffb1b840d5857c01c4dda441cbbbd34a6216e7207bfa"
},
"downloads": -1,
"filename": "windows_curses-2.4.0-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "a6f869f1ca3d652e712c78a2375cd8da",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 89531,
"upload_time": "2024-10-14T14:36:03",
"upload_time_iso_8601": "2024-10-14T14:36:03.035154Z",
"url": "https://files.pythonhosted.org/packages/57/ed/03869584d15eccea26d45267d19a56ee82bfd6f65ebe989023e76fa81ad0/windows_curses-2.4.0-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-14 14:35:46",
"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"
}