{ "info": { "author": "Meme Kagurazaka", "author_email": "github@mrliu.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: Public Domain", "Operating System :: Microsoft :: Windows", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: System :: Systems Administration" ], "description": "\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\r\n README\r\n \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\r\n\r\n\r\nTable of Contents\r\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n\r\n1 wres\r\n.. 1.1 Install\r\n.. 1.2 Usage\r\n.. 1.3 Util\r\n.. 1.4 details\r\n..... 1.4.1 `set_resolution'\r\n..... 1.4.2 `query_resolution'\r\n.. 1.5 License\r\n\r\n\r\n1 wres\r\n\u2550\u2550\u2550\u2550\u2550\u2550\r\n\r\n Set/Get Winsows Timer Resolution.\r\n\r\n wres is short for Windows RESolution.\r\n\r\n The function of this module is like Windows API [timeBeginPeriod] and\r\n [timeEndPeriod]. But the implementation used Undocumented\r\n [NtSetTimerResolution] of NTDLL. It offers microsecond level control.\r\n\r\n\r\n [timeBeginPeriod]\r\n https://msdn.microsoft.com/en-us/library/dd757624(VS.85).aspx\r\n\r\n [timeEndPeriod]\r\n https://msdn.microsoft.com/en-us/library/dd757626(v%3Dvs.85).aspx\r\n\r\n [NtSetTimerResolution]\r\n http://undocumented.ntinternals.net/index.html?page%3DUserMode%252FUndocumented%2520Functions%252FTime%252FNtSetTimerResolution.html\r\n\r\n\r\n1.1 Install\r\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n\r\n \u250c\u2500\u2500\u2500\u2500\r\n \u2502 pip install wres\r\n \u2514\u2500\u2500\u2500\u2500\r\n\r\n\r\n1.2 Usage\r\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n\r\n \u250c\u2500\u2500\u2500\u2500\r\n \u2502 import wres\r\n \u2502\r\n \u2502 # Query windows timer resolution in 100-ns units\r\n \u2502 minres, maxres, curres = wres.query_resolution()\r\n \u2502\r\n \u2502 # Set resolution to 1.5 ms\r\n \u2502 # Automatically restore previous resolution when exit with statement\r\n \u2502 with wres.set_resolution(15000):\r\n \u2502 pass\r\n \u2502\r\n \u2502 # Set resolution to max resolution\r\n \u2502 with wres.set_resolution():\r\n \u2502 pass\r\n \u2514\u2500\u2500\u2500\u2500\r\n\r\n\r\n1.3 Util\r\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n\r\n After installing `wres', command `windows-resolution' is available.\r\n \u250c\u2500\u2500\u2500\u2500\r\n \u2502 usage: windows-resolution [-h] [-s RESOLUTION] [--setmax] [--setmin] [-v]\r\n \u2502\r\n \u2502 Set system timer tesolution. Show current system timer resolution without\r\n \u2502 argument.\r\n \u2502\r\n \u2502 optional arguments:\r\n \u2502 -h, --help show this help message and exit\r\n \u2502 -s RESOLUTION, --set RESOLUTION\r\n \u2502 set resolution in 100-ns units\r\n \u2502 --setmax set maximum resolution\r\n \u2502 --setmin set minimum resolution\r\n \u2502 -v, --version show version\r\n \u2514\u2500\u2500\u2500\u2500\r\n\r\n\r\n1.4 details\r\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n\r\n1.4.1 `set_resolution'\r\n\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\r\n\r\n Set resolution of system timer.\r\n\r\n Input:\r\n `DesiredResolution' [default 0], in 100-ns units. This function\r\n will auto revision the value if it is out of range, so default 0 means\r\n set maximum resolution.\r\n\r\n Should be used in `with' statement, target is current resolution, in\r\n 100-ns units.\r\n\r\n\r\n1.4.2 `query_resolution'\r\n\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\u254c\r\n\r\n Query resolution of system timer.\r\n\r\n Return a tuple of (min, max, current) resolution, in 100-ns units.\r\n Ref to [NtQueryTimerResolution].\r\n\r\n\r\n [NtQueryTimerResolution]\r\n http://undocumented.ntinternals.net/index.html?page%3DUserMode%252FUndocumented%2520Functions%252FTime%252FNtQueryTimerResolution.html\r\n\r\n\r\n1.5 License\r\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n\r\n Meme Kagurazaka (c) 2017, Public Domain.\r\n\r\n\r\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jks-liu/wres", "keywords": "timeBeginPeriod NtSetTimerResolution windows timer resolution", "license": "Public Domain", "maintainer": "", "maintainer_email": "", "name": "wres", "package_url": "https://pypi.org/project/wres/", "platform": "", "project_url": "https://pypi.org/project/wres/", "project_urls": { "Homepage": "https://github.com/jks-liu/wres" }, "release_url": "https://pypi.org/project/wres/1.0.3/", "requires_dist": null, "requires_python": "", "summary": "Set/Get Windows Timer Resolution", "version": "1.0.3" }, "last_serial": 2621288, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "4927d0ae18425c36b3b483df08889f09", "sha256": "4950a6d67423dc75c62be52c4c3d70eb84914d8907d0a9fbdccb09c1f42b5263" }, "downloads": -1, "filename": "wres-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4927d0ae18425c36b3b483df08889f09", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3786, "upload_time": "2017-02-04T04:23:17", "url": "https://files.pythonhosted.org/packages/ce/bd/7654602712c462ce2ec45e5952a739ba904fd3851d186a853075a5ff9382/wres-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0cd59dcbd4418b29e09dbe204bfaf2fa", "sha256": "59ccf3dbcc6ca922d7d07e0394cfda2f1da85d7245b226b8343efe3ecb0d61c9" }, "downloads": -1, "filename": "wres-1.0.0.tar.gz", "has_sig": false, "md5_digest": "0cd59dcbd4418b29e09dbe204bfaf2fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2590, "upload_time": "2017-02-04T04:23:19", "url": "https://files.pythonhosted.org/packages/ec/2f/9b00a443467547f231a8266f50e0519136e05f71e0d79fe5fc0734d9e1d6/wres-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "a48be4f67c451ddc75261131f4dc8c3f", "sha256": "c9e5b8b73f28a2e3a9ce2b04414bfc9c0f7c7c67a8d36a23a2975ce8d2e8f03a" }, "downloads": -1, "filename": "wres-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a48be4f67c451ddc75261131f4dc8c3f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5634, "upload_time": "2017-02-04T10:19:24", "url": "https://files.pythonhosted.org/packages/1f/2c/2f4dae1deecb1a8c80b960fd1826cddef9f3ae78980d5defe5802e854834/wres-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a9f6cc8bc6b45a5e70d0c7db2c36595b", "sha256": "9d3ffbc6f6ccc45775f6943b82bb71d0d3b58b68f34366c334fe170a2da0e34f" }, "downloads": -1, "filename": "wres-1.0.1.tar.gz", "has_sig": false, "md5_digest": "a9f6cc8bc6b45a5e70d0c7db2c36595b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3282, "upload_time": "2017-02-04T10:19:26", "url": "https://files.pythonhosted.org/packages/fa/cc/f81d35349488b67c2bacd87a3488578ce5a5744b23b0b84bef3e9b1861c6/wres-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "0e2cdeec200390453449c9a1669d04f6", "sha256": "06a997e8a5f82f760ad2a28a2689083cc112131927864d6e24e0fe92a89409af" }, "downloads": -1, "filename": "wres-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0e2cdeec200390453449c9a1669d04f6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5879, "upload_time": "2017-02-04T10:42:48", "url": "https://files.pythonhosted.org/packages/51/24/988ad82badf343eec4cd5f7d814189f57b5a6c60578d472a74fd7c0d2ee4/wres-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "68edc23f7a1e15c6c1f115e6ac7d6938", "sha256": "1f5a69744593660737f7e0e6fe0d42af92b200e8a063999cf5bb5a93972f3da6" }, "downloads": -1, "filename": "wres-1.0.2.tar.gz", "has_sig": false, "md5_digest": "68edc23f7a1e15c6c1f115e6ac7d6938", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3734, "upload_time": "2017-02-04T10:42:50", "url": "https://files.pythonhosted.org/packages/56/f8/e2087f1d9721fb7d958befe62f461bf3a72d7f257ac5637980f88f51fca2/wres-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "bfa30686054416f98164679a8d253b4f", "sha256": "70705fc68a7718cddb76e789ca4f66b73178c513793c1e386b48d17df96b220f" }, "downloads": -1, "filename": "wres-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bfa30686054416f98164679a8d253b4f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5879, "upload_time": "2017-02-05T23:09:46", "url": "https://files.pythonhosted.org/packages/bf/2e/046023e5df54d11591636409230d2eb6bcb8ad339a44368ef30d33d225cd/wres-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c0eb2884cafb4f2c682169743425ecb", "sha256": "99301f9bded7dc0af52c5f2d184149e18027888ea1e1a7424eaab31d3376f718" }, "downloads": -1, "filename": "wres-1.0.3.tar.gz", "has_sig": false, "md5_digest": "4c0eb2884cafb4f2c682169743425ecb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3736, "upload_time": "2017-02-05T23:09:50", "url": "https://files.pythonhosted.org/packages/77/bc/bca6c33bef30346e586a4deee30049ebbc8786c7345ef501d7ecb83c65e7/wres-1.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bfa30686054416f98164679a8d253b4f", "sha256": "70705fc68a7718cddb76e789ca4f66b73178c513793c1e386b48d17df96b220f" }, "downloads": -1, "filename": "wres-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bfa30686054416f98164679a8d253b4f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5879, "upload_time": "2017-02-05T23:09:46", "url": "https://files.pythonhosted.org/packages/bf/2e/046023e5df54d11591636409230d2eb6bcb8ad339a44368ef30d33d225cd/wres-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c0eb2884cafb4f2c682169743425ecb", "sha256": "99301f9bded7dc0af52c5f2d184149e18027888ea1e1a7424eaab31d3376f718" }, "downloads": -1, "filename": "wres-1.0.3.tar.gz", "has_sig": false, "md5_digest": "4c0eb2884cafb4f2c682169743425ecb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3736, "upload_time": "2017-02-05T23:09:50", "url": "https://files.pythonhosted.org/packages/77/bc/bca6c33bef30346e586a4deee30049ebbc8786c7345ef501d7ecb83c65e7/wres-1.0.3.tar.gz" } ] }