explaingit

yesh-02/psleep

Analysis updated 2026-05-18

30RustAudience · developerComplexity · 2/5Setup · easy

TLDR

A command-line sleep tool with a visible progress bar, so you can see how much wait time is left in scripts and pipelines.

Mindmap

mindmap
  root((psleep))
    What it does
      Sleep with progress bar
      Rust CLI tool
      Native terminal display
    Tech stack
      Rust
      Cargo
      Homebrew
    Use cases
      Shell scripts
      Pipelines
      Countdown timers
    Audience
      Developers
      Script writers
    Install
      Prebuilt binaries
      cargo install

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Replace the plain sleep command in a shell script with one that shows a live countdown.

USE CASE 2

Watch progress natively in your terminal's tab bar or taskbar on supported terminals.

USE CASE 3

Pick a visual style, like a bar, dots, emoji, or a spinner, to match your workflow.

USE CASE 4

Wait for a natural-language duration like 1m30s or 2h5m instead of counting seconds.

What is it built with?

RustCargoHomebrew

How does it compare?

yesh-02/psleepmatthart1983/diskwatchmic92/hestia
Stars302929
LanguageRustRustRust
Setup difficultyeasyeasyeasy
Complexity2/52/53/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Install a pre-built binary or use cargo install psleep / Homebrew on macOS.

In plain English

psleep is a command-line tool written in Rust that works like the standard sleep command on Linux and macOS, but adds a visible progress bar so you can see how much time is left. The standard sleep command just pauses for a set amount of time with no output, which leaves you wondering whether your script is still running. psleep solves that by showing a live animation in the terminal while the wait is happening. You can specify durations in natural formats like "1m30s" for one minute and thirty seconds, or "2h5m" for two hours and five minutes, in addition to plain seconds. There are several visual styles to choose from, including a standard bar, a block-fill bar, a dot-based animation, an emoji version, and a spinner that counts down the remaining time. You can set a preferred style via a command-line flag or an environment variable so you do not have to repeat it every time. On terminals that support a standard called OSC 9,4, psleep can also send progress to the terminal's own native display, such as the tab bar in Windows Terminal or the taskbar progress indicator. This is the default behavior. If your terminal does not support it, or if you prefer the in-terminal bar, you can disable the native mode with a flag. The tool clears its progress bar when the sleep finishes, so it fits cleanly into shell scripts and pipelines without leaving stray output. Pre-built binaries are available for Linux, macOS, and Windows, and you can also install it from the Rust package registry using cargo install psleep or via Homebrew on macOS.

Copy-paste prompts

Prompt 1
Show me how to install psleep with cargo and replace sleep in my shell script with it.
Prompt 2
Use psleep to wait 2h5m with a progress bar and explain the available visual styles.
Prompt 3
How do I set a default psleep style with an environment variable so I don't repeat the flag?
Prompt 4
Explain how psleep's native terminal progress display works and how to disable it.

Frequently asked questions

What is psleep?

A command-line sleep tool with a visible progress bar, so you can see how much wait time is left in scripts and pipelines.

What language is psleep written in?

Mainly Rust. The stack also includes Rust, Cargo, Homebrew.

How hard is psleep to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is psleep for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.