Simple cross-platform wakelock written in Python. Keeps your computer from going to sleep.
Wakepy currently supports
- Windows
- Linux (with
systemd
) - macOS
Feel free to submit pull request(s) for other platforms.
pip install wakepy
python -m wakepy
Starts the program. While running, computer will not go to sleep. If battery is running out, your OS might force laptop to sleep.
python -m wakepy [-h] [-s]
optional arguments:
-h, --help show this help message and exit
-s, --keep-screen-awake Keep also the screen awake. On Linux, this flag is set on and cannot be disabled.
from wakepy import set_keepawake, unset_keepawake
set_keepawake(keep_screen_awake=False)
# do stuff that takes long time
unset_keepawake()
keep_screen_awake
can be used to keep also the screen awake. The default isFalse
. On Linux, this is set toTrue
and cannot be changed.
The program simply calls the SetThreadExecutionState with the ES_SYSTEM_REQUIRED
flag, when setting the keepawake, and removes flag when unsetting. The flag cannot prevent sleeping if
- User presses power button
- User selects Sleep from the Start menu.
The program uses the systemctl mask
command to prevent all forms of sleep or hybernation when setting the keepawake, and unmasks the functions when unsetting keepawake. This command will remain active until keepawake is removed. The flag cannot prevent sleeping from user interaction. This action does require sudo privileges.
The program calls the caffeinate
command when setting keepawake, and sends a break key-command when unsetting. The flag does not prevent the user from manually sleeping the system or terminating the caffeinate process.
- See CHANGELOG.md