{"id":13815056,"url":"https://github.com/fohrloop/wakepy","last_synced_at":"2025-05-15T07:31:52.110Z","repository":{"id":40678331,"uuid":"328887119","full_name":"fohrloop/wakepy","owner":"fohrloop","description":"Cross-platform keep-awake with python","archived":false,"fork":false,"pushed_at":"2025-04-21T12:28:58.000Z","size":936,"stargazers_count":219,"open_issues_count":44,"forks_count":14,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-21T12:30:18.538Z","etag":null,"topics":["caffeine","keepawake","nosleep","prevent-screen-lock","preventing-sleep","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fohrloop.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-01-12T05:57:21.000Z","updated_at":"2025-04-21T12:27:39.000Z","dependencies_parsed_at":"2023-09-27T11:37:38.070Z","dependency_job_id":"f7fcd5e7-4df9-46ef-bfd1-90afcb84d8df","html_url":"https://github.com/fohrloop/wakepy","commit_stats":null,"previous_names":["np-8/wakepy"],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fohrloop%2Fwakepy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fohrloop%2Fwakepy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fohrloop%2Fwakepy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fohrloop%2Fwakepy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fohrloop","download_url":"https://codeload.github.com/fohrloop/wakepy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254295938,"owners_count":22047172,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["caffeine","keepawake","nosleep","prevent-screen-lock","preventing-sleep","python"],"created_at":"2024-08-04T04:02:53.718Z","updated_at":"2025-05-15T07:31:52.101Z","avatar_url":"https://github.com/fohrloop.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/fohrloop/wakepy)\u0026nbsp;![PyPI](https://img.shields.io/pypi/v/wakepy)\u0026nbsp;![PyPI - Downloads](https://img.shields.io/pypi/dm/wakepy)\u0026nbsp;[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\u0026nbsp;![mypy](https://img.shields.io/badge/mypy-checked-blue)\u0026nbsp;![mypy](https://img.shields.io/badge/code_style-black-black)\u0026nbsp;![coverage](https://img.shields.io/badge/coverage-100%25-32bb13)\n[![pyversions](https://img.shields.io/pypi/pyversions/wakepy.svg)](https://pypi.python.org/pypi/wakepy)\u0026nbsp;![License](https://img.shields.io/github/license/fohrloop/wakepy)\n\n![](./docs/source/img/wakepy-banner.svg)\n\nCross-platform wakelock / keep-awake / stay-awake written in Python.\n\n\u003c!-- wakepy readme beginning --\u003e\n## What is wakepy?\n\nWakepy is a package with an Python API and a CLI tool for *keeping a system awake*. It has two main modes:\n\n⌛ **Keeping CPU awake**:  For long running tasks. Inhibit the automatic, timer based sleep or suspend action, but allow screenlock and screensaver turning on and monitor turning off. *E.g.* for training machine learning models, video encoding and web scraping. (See: \u003ca href=\"https://wakepy.readthedocs.io/stable/modes.html#keep-running-mode\"\u003e\u003cb\u003e\u003ccode\u003ekeep.running\u003c/code\u003e\u003c/b\u003e\u003c/a\u003e)\n\n🖥️ **Keeping screen awake**:  For long running tasks which require also the screen on and screenlock and screensaver inhibited.  *E.g.* for showing a video and dashboard / monitoring apps. (See: \u003ca href=\"https://wakepy.readthedocs.io/stable/modes.html#keep-presenting-mode\"\u003e\u003cb\u003e\u003ccode\u003ekeep.presenting\u003c/code\u003e\u003c/b\u003e\u003c/a\u003e)\n\n## Supported runtime environments\n\nWakepy may keep the following systems awake. ⌛: \u003ca href=\"https://wakepy.readthedocs.io/stable/modes.html#keep-running-mode\"\u003ekeep.running\u003c/a\u003e mode, 🖥️:\u003ca href=\"https://wakepy.readthedocs.io/stable/modes.html#keep-presenting-mode\"\u003ekeep.presenting\u003c/a\u003e mode.\n\n\n\u003ctable class=\"wakepy-table\"\u003e\n  \u003ccolgroup\u003e\n    \u003ccol style=\"width: 31%;\"\u003e\n    \u003ccol style=\"width: 55%;\"\u003e\n    \u003ccol style=\"width: 14%;\"\u003e\n  \u003c/colgroup\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth\u003eRuntime environment\u003c/th\u003e\n      \u003cth\u003eMethods\u003c/th\u003e\n      \u003cth\u003eModes\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eWindows\u003csup\u003e[1]\u003c/sup\u003e\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://wakepy.readthedocs.io/stable/methods-reference.html#setthreadexecutionstate\"\u003eSetThreadExecutionState\u003c/a\u003e\u003c/td\u003e\n      \u003ctd\u003e⌛ 🖥️\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003emacOS\u003csup\u003e[2]\u003c/sup\u003e\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://wakepy.readthedocs.io/stable/methods-reference.html#macos-caffeinate\"\u003ecaffeinate\u003c/a\u003e\u003c/td\u003e\n      \u003ctd\u003e⌛ 🖥️\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eUnix + \u003ca href=\"https://en.wikipedia.org/wiki/GNOME\"\u003eGNOME\u003c/a\u003e\u003csup\u003e[3]\u003c/sup\u003e\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://wakepy.readthedocs.io/stable/methods-reference.html#org-gnome-sessionmanager\"\u003eorg.gnome.SessionManager\u003c/a\u003e\u003cbr\u003e\n      \u003ca href=\"https://wakepy.readthedocs.io/stable/methods-reference.html#org-freedesktop-screensaver\"\u003eorg.freedesktop.ScreenSaver\u003c/a\u003e\u003c/td\u003e\n      \u003ctd\u003e⌛ 🖥️\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eUnix + \u003ca href=\"https://en.wikipedia.org/wiki/KDE_Plasma\"\u003eKDE Plasma\u003c/a\u003e\u003csup\u003e[4]\u003c/sup\u003e\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://wakepy.readthedocs.io/stable/methods-reference.html#org-freedesktop-powermanagement\"\u003eorg.freedesktop.PowerManagement\u003c/a\u003e\u003cbr\u003e\n      \u003ca href=\"https://wakepy.readthedocs.io/stable/methods-reference.html#org-freedesktop-screensaver\"\u003eorg.freedesktop.ScreenSaver\u003c/a\u003e\u003c/td\u003e\n      \u003ctd\u003e⌛ 🖥️\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eUnix + \u003ca href=\"https://en.wikipedia.org/wiki/Freedesktop.org\"\u003eFreedesktop.org\u003c/a\u003e DE\u003csup\u003e[5]\u003c/sup\u003e\u003c/td\u003e\n      \u003ctd\u003e\n      \u003ca href=\"https://wakepy.readthedocs.io/stable/methods-reference.html#org-freedesktop-powermanagement\"\u003eorg.freedesktop.PowerManagement\u003c/a\u003e\u003cbr\u003e\n      \u003ca href=\"https://wakepy.readthedocs.io/stable/methods-reference.html#org-freedesktop-screensaver\"\u003eorg.freedesktop.ScreenSaver\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e⌛ 🖥️\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\nUnix above refers to any Unix-like systems which might use such DEs, e.g. Linux or FreeBSD. See also: [Wakepy roadmap](#wakepy-roadmap).\n\n## Installing\n\nWakepy supports CPython 3.7 to 3.13 and PyPy 3.8 to 3.10, and may be installed from [PyPI](https://pypi.org/project/wakepy/) with\n\n```\npip install wakepy\n```\n\nWakepy can also be installed from conda-forge with\n```\nconda install wakepy\n```\nFor more details and install options, see: [Installing documentation](https://wakepy.readthedocs.io/stable/installing.html).\n\n\u003c!-- wakepy readme at install before note --\u003e\n\u003e [!NOTE]\n\u003e To get the `wakepy` \u003ca href=\"https://wakepy.readthedocs.io/stable/cli-api.html\"\u003eCLI command\u003c/a\u003e working, you might need to restart the shell / terminal application.\n\u003c!-- wakepy readme at install after note --\u003e\n\n## Why wakepy?\nHere's some reasons why you might want to consider using wakepy:\n\n\n\u003cdl\u003e\n  \u003cdt\u003e🙅🏼‍♂️ Non-disruptive methods ✅\u003c/dt\u003e\n  \u003cdd\u003eNo mouse wiggling or pressing random keys like F15. Wakepy is completely non-disruptive. It uses the APIs and programs the system provides for keeping a system awake.\u003c/dd\u003e\n  \u003cdt\u003e🛡️ Safe to crash 💥\u003c/dt\u003e\n  \u003cdd\u003eNo changing of any system settings; killing the process abruptly will not leave the keepawake on, and will not require any manual clean-up.\u003c/dd\u003e\n  \u003cdt\u003e🚨 For security reasons 🔒\u003c/dt\u003e\n  \u003cdd\u003eWith \u003ca href=\"https://wakepy.readthedocs.io/stable/modes.html#keep-running-mode\"\u003e\u003cb\u003e\u003ccode\u003ekeep.running\u003c/code\u003e\u003c/b\u003e\u003c/a\u003e mode you can disable \u003ci\u003ejust\u003c/i\u003e the automatic suspend and keep the automatic screen lock untouched.\u003c/dd\u003e\n  \u003cdt\u003e🌐 You need a cross-platform solution 🦸\u003c/dt\u003e\n  \u003cdd\u003eSame code works on Windows, macOS and Linux on multiple different Desktop Environments.\u003c/dd\u003e\n  \u003cdt\u003e💪 You want to have more control ⚙️\u003c/dt\u003e\n  \u003cdd\u003eIt is possible to whitelist or blacklist the used wakepy Methods. It is also possible to prioritize them and define a on-fail action in case activating a wakepy mode fails.\u003c/dd\u003e\n  \u003cdt\u003e✂️ You want to keep the amount of dependencies low 📦\u003c/dt\u003e\n  \u003cdd\u003eIf you're running wakepy on Linux,  \u003ca href=\"https://jeepney.readthedocs.io/\"\u003ejeepney\u003c/A\u003e (a dependecy free package) is required for D-Bus based methods. On Python 3.7,  \u003ca href=\"https://pypi.org/project/typing-extensions/\"\u003etyping-extensions\u003c/a\u003e is needed for typing. Otherwise: wakepy has no python dependencies.\u003c/dd\u003e\n  \u003cdt\u003e⚖️ Package needs to have a permissive licence ✔️\u003c/dt\u003e\n  \u003cdd\u003eWakepy is licenced under permissive \u003ca href=\"https://github.com/fohrloop/wakepy/blob/main/LICENSE.txt\"\u003eMIT License\u003c/a\u003e.\u003c/dd\u003e\n\u003c/dl\u003e\n\n\n## Command line interface (CLI)\n\nTo keep system from sleeping, run\n\n```\nwakepy\n```\n\nFor presentation mode, add `-p` flag. See also: \u003ca href=\"https://wakepy.readthedocs.io/stable/cli-api.html\"\u003eCLI API\u003c/a\u003e.\n\n## Basic usage within Python\n\nIn the simplest case, keeping a system running long running task with wakepy would be in python (See: \u003ca href=\"https://wakepy.readthedocs.io/stable/modes.html#keep-running-mode\"\u003ekeep.running\u003c/a\u003e):\n\n\n```python\nfrom wakepy import keep\n\nwith keep.running():\n    # Do something that takes a long time. The system may start screensaver\n    # / screenlock or blank the screen, but CPU will keep running.\n```\n\nIf you want to *also* prevent screen lock and screen blank, use the \u003ca href=\"https://wakepy.readthedocs.io/stable/modes.html#keep-presenting-mode\"\u003ekeep.presenting\u003c/a\u003e mode:\n\n```python\nfrom wakepy import keep\n\nwith keep.presenting():\n    # Do something that takes a long time and requires the screen to be awake\n```\n\u003c!-- wakepy readme basic usage before tip --\u003e\n\n\u003e [!TIP]\n\u003e See the [User Guide](https://wakepy.readthedocs.io/stable/user-guide.html) and the available wakepy [Modes](https://wakepy.readthedocs.io/stable/modes.html) and [Methods](https://wakepy.readthedocs.io/stable/methods-reference.html)\n\n\u003e [!NOTE]\n\u003e Wakepy API is still experimental 🚧\n\u003e \n\u003e Since wakepy is still 0.x.x, the API might change without further notice from\n\u003e one release to another. After that, breaking changes should occur only part of\n\u003e a major release (e.g. 1.x.x -\u003e 2.0.0).\n\n\u003c!-- wakepy readme where used --\u003e\n## Where wakepy is used?\n\n- [aTrain](https://github.com/JuergenFleiss/aTrain) — transcription of speech recordings utilizing machine learning models.\n- [mpc-autofill](https://github.com/chilli-axe/mpc-autofill) — Automating MakePlayingCards' online ordering system\n- [LiveboxMonitor](https://github.com/p-dor/LiveboxMonitor) — Graphical user interface for routers (French project)\n- [FOLON-FO4Downgrader](https://github.com/Fallout-London/FOLON-FO4Downgrader) — Tool for reverting to a previous version of a game (Fallout 4)\n- [BD_to_AVP](https://github.com/cbusillo/BD_to_AVP) — 3D Blu-ray to Apple Vision Pro converter\n- [davlee1972/upscale_video](https://github.com/davlee1972/upscale_video) — Upscaling video using AI\n- [AYAB - All Yarns Are Beautiful](https://github.com/AllYarnsAreBeautiful/ayab-desktop/) — Automated knitting software\n- [minarca](https://github.com/ikus060/minarca) — Cross-platform data backup software\n- [OceanOptics/Inlinino](https://github.com/OceanOptics/Inlinino) — Data logger for oceanography\n- [cogent3/ensembl_tui](https://github.com/cogent3/ensembl_tui) —  Obtaining dumps of Ensembl MySQL databases\n- [lakeshore](https://github.com/lakeshorecryotronics/python-driver) — Lake Shore instruments python Driver\n- [UCSD-E4E/baboon-tracking](https://github.com/UCSD-E4E/baboon-tracking) — In pipelines of a Computer Vision project tracking baboons\n- [pysimai](https://github.com/ansys/pysimai) — A Python wrapper for Ansys SimAI\n- [viskillz-blender](https://www.sciencedirect.com/science/article/pii/S2352711023000249) — Generating assets of Mental Cutting Test exercises\n\n\n## Links\n\n\n- 🖤 GitHub: [github.com/fohrloop/wakepy](https://github.com/fohrloop/wakepy)\n- 🐍 PyPI: [pypi.org/project/wakepy](https://pypi.org/project/wakepy/)\n- 📖 Documentation: [wakepy.readthedocs.io/stable](https://wakepy.readthedocs.io/stable)\n- 📝 Changelog: [wakepy.readthedocs.io/stable/changelog.html](https://wakepy.readthedocs.io/stable/changelog.html)\n\n\n## Wakepy roadmap\n\nWakepy vision is to support *any*\u003csup\u003e†\u003c/sup\u003e environment which runs Python. The following runtime environments will get support in the future\u003csup\u003e†\u003c/sup\u003e. Please vote or comment on the issue to raise them towards top of priorities. I'm also happy to receive PRs or comments explaining how it could be implemented.\n\n\u003csup\u003e†\u003c/sup\u003e: if technically possible.\n\n\u003ctable class=\"wakepy-table\"\u003e\n  \u003ccolgroup\u003e\n    \u003ccol style=\"width: 50%;\"\u003e\n    \u003ccol style=\"width: 50%;\"\u003e\n  \u003c/colgroup\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth\u003eRuntime environment\u003c/th\u003e\n      \u003cth\u003eIssue\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eWSL\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://github.com/fohrloop/wakepy/issues/36\"\u003ewakepy/#36\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003ecygwin\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://github.com/fohrloop/wakepy/issues/363\"\u003ewakepy/#363\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eUnix + \u003ca href=\"https://en.wikipedia.org/wiki/Cinnamon_(desktop_environment)\"\u003eCinnamon\u003c/a\u003e\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://github.com/fohrloop/wakepy/issues/312\"\u003ewakepy/#312\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eUnix + \u003ca href=\"https://en.wikipedia.org/wiki/Xfce\"\u003eXfce\u003c/a\u003e\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://github.com/fohrloop/wakepy/issues/311\"\u003ewakepy/#311\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eUnix + \u003ca href=\"https://en.wikipedia.org/wiki/MATE_(desktop_environment)\"\u003eMate\u003c/a\u003e\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://github.com/fohrloop/wakepy/issues/314\"\u003ewakepy/#314\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eUnix + \u003ca href=\"https://en.wikipedia.org/wiki/LXQt\"\u003eLXQt\u003c/a\u003e\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://github.com/fohrloop/wakepy/issues/313\"\u003ewakepy/#313\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eUnix + \u003ca href=\"https://en.wikipedia.org/wiki/Systemd\"\u003esystemd\u003c/a\u003e\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://github.com/fohrloop/wakepy/issues/335\"\u003ewakepy/#335\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eChromeOS\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://github.com/fohrloop/wakepy/issues/364\"\u003ewakepy/#364\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eAndroid\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://github.com/fohrloop/wakepy/issues/358\"\u003ewakepy/#358\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eJupyter Notebook (hosted on eg. Google Colab)\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://github.com/fohrloop/wakepy/issues/195\"\u003ewakepy/#195\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eBrowser (Pyodide, PyPy.js, Brython, Transcrypt, Skulpt)\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://github.com/fohrloop/wakepy/issues/362\"\u003ewakepy/#362\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\nIf you have ideas or comments, please post yours on [wakepy/#317](https://github.com/fohrloop/wakepy/discussions/317).\n\n## Licenses\n\nThe contents of this repository are licensed with [MIT License](https://github.com/fohrloop/wakepy/blob/main/LICENSE.txt), which is permissive and allows you to use the code as part of any application or library, commercial or not, with the following exception: The GitHub Invertocat logo used in the social share image is property of GitHub, downloaded from [github.com/logos](https://github.com/logos) and is used under the terms specified by GitHub.\n\n---------------\n\n## Footnotes\n\n|                                                                                                                                             |\n| ------------------------------------------------------------------------------------------------------------------------------------------- |\n| \u003csup\u003e[1]\u003c/sup\u003e Windows XP or higher. Windows Server 2003 or higher.                                                                         |\n| \u003csup\u003e[2]\u003c/sup\u003e Mac OS X 10.8 Mountain Lion (July 2012) or newer.                                                                            |\n| \u003csup\u003e[3]\u003c/sup\u003e GNOME 2.24 (Sept 2008) onwards.                                                                                              |\n| \u003csup\u003e[4]\u003c/sup\u003e KDE Plasma 5.12.90 (May 2018) onwards.                                                                                       |\n| \u003csup\u003e[5]\u003c/sup\u003e Freedesktop.org compliant Desktop Environments on Unix-like (Linux/BSD) system which implements the listed D-Bus interfaces. |\n\n\u003c!-- wakepy readme after footnotes --\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffohrloop%2Fwakepy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffohrloop%2Fwakepy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffohrloop%2Fwakepy/lists"}