Python module to prevent macOS system sleep using the caffeinate(1) command
Project description
selfcaffeinate
Description
Python module to prevent macOS system sleep using the caffeinate(1)
command
Introduction to caffeinate(1)
macOS users can prevent system sleep using the system command caffeinate
like so:
$ caffeinate sh -c "echo sleeping; sleep 60; echo done"
sleeping
done
$
Or hold a power management assertion on an existing process:
$ pgrep long-running-process
555
$ caffeinate -w 555 && echo "done"
done
This module allows caffeinate
to be used programmatically from Python code to prevent system sleep, without having to run the command externally.
Example usage
def main():
print("Self caffeinating")
SLEEP_PERIOD = 60
sc = SelfCaffeinate()
for i in range(0, 60):
print("Sleeping {}".format(SLEEP_PERIOD))
time.sleep(SLEEP_PERIOD)
Or use the with
pattern:
def main():
print("Self caffeinating")
SLEEP_PERIOD = 60
with SelfCaffeinate():
for i in range(0, 60):
print("Sleeping {}".format(SLEEP_PERIOD))
time.sleep(SLEEP_PERIOD)
The default path to macOS's caffeinate
should work, but if you have an alternate path, you can specify that:
def main():
print("Self caffeinating")
SLEEP_PERIOD = 60
sc = SelfCaffeinate(caffeinate_path="/path/to/my/weird/caffeinate")
for i in range(0, 60):
print("Sleeping {}".format(SLEEP_PERIOD))
time.sleep(SLEEP_PERIOD)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file selfcaffeinate-0.1.0.tar.gz
.
File metadata
- Download URL: selfcaffeinate-0.1.0.tar.gz
- Upload date:
- Size: 3.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.6.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | be4a3df2ff9f766d9bed29e133c066bbcffbcba2383468836f2eb167889d11cd |
|
MD5 | b14eea5f95e7103880df31060b05ea4e |
|
BLAKE2b-256 | b6b3e61adb79e3c2ff353c84b20e602ddd0fcda10b4f21af0a26206221696cd4 |
File details
Details for the file selfcaffeinate-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: selfcaffeinate-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.6.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a10243591ff79b9280fd4d6d0362aed1ea5b0e22332b6a67fa7f63b430d4c23 |
|
MD5 | 68e075c82166fcc61aad8cb5062ef7d7 |
|
BLAKE2b-256 | 119e38d1628362a297b7841b46dd96a938817a2db57ac28b7a000d9e517c735c |