AwakeMate AwakeMate

๐Ÿ—‚๏ธ Data pipeline

Keep your Mac awake for a batch data pipeline or scraping run

Your ETL or scraping job has hours of work and a lot of waiting on the network. AwakeMate keeps the Mac awake the whole way through, even during the quiet stretches.

Download for macOS Buy AwakeMate

Free 14-day trial ยท one-time $39.99 ยท no telemetry ยท macOS 13+

The workflow

You start a long Python pipeline - an ETL job, a crawler, a bulk API pull - that grinds through thousands of records. Most of its time is spent waiting: on HTTP responses, rate limits, database round-trips. CPU use stays low while the job is very much still running.

What happens when the Mac sleeps

A network-bound job barely touches the CPU, so macOS happily slides into idle sleep and freezes the process. It does not auto-resume, so the run interrupts partway through. Mid-flight API sessions and auth tokens can expire while frozen, and a database write or output file caught mid-transaction can be left inconsistent.

How AwakeMate keeps it alive

AwakeMate keeps the Mac awake while your pipeline process runs. Jobs started through Python show up as python or python3; Deep CLI detection (on by default) resolves the real script name. Keep Sleep when tools go idle OFF for this one - the job is network-bound and spends long stretches idle on the CPU, exactly the pattern idle-sleep would wrongly read as finished.

  1. Add your Python interpreter in AwakeMate's Apps pane, or let auto mode detect the running job.
  2. Keep Deep CLI detection on so a generic python process maps to your actual pipeline script.
  3. Leave Sleep when tools go idle OFF, then start the run and confirm the Mac is being kept awake.

Tip: If your pipeline writes a final output file or commits to a DB at the end, idle-sleep is especially risky here - leave it off so the Mac stays awake through every wait.

Tools in this workflow

Frequently asked

My scraper mostly waits on the network - won't idle-sleep let the Mac nap?

Yes, which is exactly why you turn it off here. "Sleep when tools go idle" is for CPU-bound bursts; a network-bound job would look idle and get cut short. Leave it off.

Can a long run lose its API session if the Mac sleeps?

It can. When macOS sleeps the process freezes, and auth tokens or sessions can expire before it resumes. Keeping the Mac awake avoids the freeze entirely.

Does AwakeMate need any permissions to detect my job?

No. Process detection reads short process names on-device with no special permissions, no Accessibility prompt, and no telemetry.

Will this keep running with the lid closed, even on battery?

Yes. Turn on "Keep awake with the lid closed" in Settings - Options and approve the one-time helper; AwakeMate keeps the Mac awake with the lid shut while the run is active, and dims the built-in screen so it is not draining the battery under the lid. It works on most Apple Silicon Macs (Apple forces sleep on some, so close your lid once to confirm), and on battery too - though a long run drains faster, so keep it on power. See it in action.

Keep your agents alive while you sleep.

Free 14-day trial. One-time $39.99, no subscription. macOS 13+.

Download for macOS Buy AwakeMate