{"id":33926499,"url":"https://github.com/jwodder/elapsed","last_synced_at":"2025-12-12T10:19:09.847Z","repository":{"id":321857250,"uuid":"1087432433","full_name":"jwodder/elapsed","owner":"jwodder","description":"Show runtime while a command runs","archived":false,"fork":false,"pushed_at":"2025-12-01T14:48:01.000Z","size":149,"stargazers_count":8,"open_issues_count":7,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-04T03:42:19.804Z","etag":null,"topics":["available-on-crates-io","runtime","rust","time"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jwodder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-31T22:45:01.000Z","updated_at":"2025-12-01T14:48:04.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/jwodder/elapsed","commit_stats":null,"previous_names":["jwodder/elapsing","jwodder/elapsed"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/jwodder/elapsed","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwodder%2Felapsed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwodder%2Felapsed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwodder%2Felapsed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwodder%2Felapsed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jwodder","download_url":"https://codeload.github.com/jwodder/elapsed/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwodder%2Felapsed/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27672239,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-11T02:00:11.302Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["available-on-crates-io","runtime","rust","time"],"created_at":"2025-12-12T10:19:09.316Z","updated_at":"2025-12-12T10:19:09.840Z","avatar_url":"https://github.com/jwodder.png","language":"Rust","readme":"[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)\n[![CI Status](https://github.com/jwodder/elapsed/actions/workflows/test.yml/badge.svg)](https://github.com/jwodder/elapsed/actions/workflows/test.yml)\n[![codecov.io](https://codecov.io/gh/jwodder/elapsed/branch/main/graph/badge.svg)](https://codecov.io/gh/jwodder/elapsed)\n[![Minimum Supported Rust Version](https://img.shields.io/badge/MSRV-1.85-orange)](https://www.rust-lang.org)\n[![MIT License](https://img.shields.io/github/license/jwodder/elapsed.svg)](https://opensource.org/licenses/MIT)\n\n[GitHub](https://github.com/jwodder/elapsed) | [crates.io](https://crates.io/crates/elapsed-cmd) | [Issues](https://github.com/jwodder/elapsed/issues) | [Changelog](https://github.com/jwodder/elapsed/blob/main/CHANGELOG.md)\n\n`elapsed` is a simple utility program that runs a given command and, while\nit's running, displays \u0026 updates the elapsed time below the command's output.\n\n![Recording of an example invocation](https://github.com/jwodder/elapsed/raw/main/example.gif)\n\n\nInstallation\n============\n\nIn order to install `elapsed`, you first need to have [Rust and Cargo\ninstalled](https://www.rust-lang.org/tools/install).  You can then build the\nlatest release of `elapsed` and install it in `~/.cargo/bin` by running:\n\n    cargo install elapsed-cmd\n\n(Note that the name of the package on crates.io is \"elapsed-cmd\"; just\n\"elapsed\" was already taken.)\n\n\nUsage\n=====\n\n    elapsed [\u003coptions\u003e] \u003ccommand\u003e [\u003carg\u003e ...]\n\n`elapsed` takes the name of a command to run plus any arguments to that\ncommand.  While the command is running, the elapsed time is displayed in a\nstatus line written to standard error below the command's output and updated\nonce per second.  If `elapsed`'s standard error is redirected, the status line\nwill not be shown.\n\nWhen the command exits, the status line is erased (unless the `-t`/`--total`\noption was given), and `elapsed` exits with the same return code as the\ncommand; if the command was killed by a signal, a message is printed to stderr\n(after any `--total` status line), and `elapsed` exits with return code 1\ninstead.\n\nOptions\n-------\n\n- `-f \u003cTEMPLATE\u003e`, `--format \u003cTEMPLATE\u003e` — Use the given format template for\n  rendering the time in the status line.  Templates may contain the following\n  specifiers \u0026 escape sequences:\n\n    - `%H` - number of hours as a two-digit number\n    - `%M` - number of minutes within the hour as a two-digit number\n    - `%S` - number of seconds within the minute as a two-digit number\n    - `%s` - total number of seconds\n    - `%f` - subseconds; defaults to six digits (microseconds) but can also\n      take a decimal precision (e.g., `%9f` to show nanoseconds)\n    - `%n` or `\\n` - newline\n    - `%t` or `\\t` - tab\n    - `%e` or `\\e` - escape character\n    - `%%` - percent sign\n    - `\\\\` - backslash\n\n    The default template is \"`Elapsed: %H:%M:%S`.\"\n\n- `-r \u003cINT\u003e`, `--refresh \u003cINT\u003e` — Update the status line after every `\u003cINT\u003e`\n  milliseconds [default: 1000 (once per second)]\n\n- `-t`, `--total` — Leave the total elapsed time behind after the command finishes\n\n- `-T`, `--tty` — Run the command via a pseudo-terminal.  This is useful if the\n  command's behavior (e.g., whether it buffers output or emits ANSI color\n  sequences) changes depending on whether it's directly connected to a\n  terminal.\n\n  This option is only available on Unix.\n\n- `-S`, `--split-stderr` — When the `--tty` option is given, by default, the\n  command's stdout and stderr will be merged together into a single stream that\n  is ultimately printed on `elapsed`'s stdout.  If `--split-stderr` is given,\n  the command's stderr will not be connected to the pseudo-terminal and will\n  instead be sent to `elapsed`'s stderr so that stdout \u0026 stderr can then be\n  redirected separately.\n\n  This option is only available on Unix and only has an effect when `--tty` is\n  also given.\n\n- `-h`, `--help` — Show command-line usage\n\n- `-V`, `--version` — Show current program version\n\n\nRestrictions\n============\n\n`elapsed` is intended for use with commands with line-oriented output.  If it\nis used with a command that outputs a large amount of data between newlines or\nthat manipulates the cursor, you'll have a bad experience.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwodder%2Felapsed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjwodder%2Felapsed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwodder%2Felapsed/lists"}