Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

selfcaffeinate

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

selfcaffeinate

Python module to prevent macOS system sleep using the caffeinate(1) command

  • 0.1.0
  • PyPI
  • Socket score

Maintainers
1

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)

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc