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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|