Skip to main content

Keep your machine awake while long tasks or agents run.

Project description

heimdallur

Keep your machine awake while long tasks or agents run. A thin, dependency-free wrapper around caffeinate (macOS) and systemd-inhibit (Linux), exposed as both a Python library and a CLI.

Install

pip install heimdallur

Library

from heimdallur import StayAwake

with StayAwake(display=False, lid=False):
    run_long_task()

# or explicit control
guard = StayAwake()
guard.start()
try:
    run_long_task()
finally:
    guard.stop()

The guard rolls back automatically on __exit__, stop(), and via an atexit hook even if the process crashes.

CLI

heimdallur                 # stay awake until Ctrl+C
heimdallur -- make build   # stay awake while the command runs
heimdallur -w 12345        # stay awake while PID 12345 is alive

Flags:

  • -d, --display — also keep the display awake.
  • --lid — prevent sleep even with the lid closed.

⚠️ Warning about --lid

On macOS --lid runs sudo pmset -a disablesleep 1, which means the system will never sleep until it is rolled back to 0. heimdallur rolls this back automatically on exit, but:

  • It requires sudo, which may hang on a password prompt in non-interactive (agent) contexts — avoid it there.
  • If the process is killed with SIGKILL, rollback cannot run. Re-run sudo pmset -a disablesleep 0 manually if needed.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

heimdallur-0.1.1.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

heimdallur-0.1.1-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file heimdallur-0.1.1.tar.gz.

File metadata

  • Download URL: heimdallur-0.1.1.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for heimdallur-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e62cb3a5c01d7ec32314dc02a0b7f9eddf752b4e12739e3f8a743758582f259f
MD5 780430559b48cd1729d4c3d3a20940ae
BLAKE2b-256 b1bd2f9a0e4668355ab37241a675e0d6ba666f074b8f396bc3567caddfe17548

See more details on using hashes here.

Provenance

The following attestation bundles were made for heimdallur-0.1.1.tar.gz:

Publisher: publish.yml on maksimpechenin/heimdallur

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file heimdallur-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: heimdallur-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for heimdallur-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4d0e257ea0d87071755ebf1b8e07dd30c2abc0143906afef1a74637f06211deb
MD5 b4fb5d892f51fe362acdcb71f93084d1
BLAKE2b-256 8a97871160c20d1663e3507f1f7e9e838099ae6ac317b62cdb93b7140ed5ce3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for heimdallur-0.1.1-py3-none-any.whl:

Publisher: publish.yml on maksimpechenin/heimdallur

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page