# Install oha with Homebrew, apk, MacPorts, Nix, pacman, scoop, winget

HTTP load generator, inspired by rakyll/hey with tui animation. Version 1.14.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:oha
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install oha
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install oha
```

  Evidence: MacPorts ports tree: net/oha/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add oha
```

  Evidence: Alpine Linux edge package indexes: oha from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#oha
```

  Evidence: nixpkgs package indexes: pkgs/by-name/oh/oha/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S oha
```

  Evidence: Arch Linux sync databases: oha from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

### Windows

- Scoop (92%):

```sh
scoop install main/oha
```

  Evidence: Scoop official bucket manifest trees: bucket/oha.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id hatoo.oha -e
```

  Evidence: Windows Package Manager source index: hatoo.oha from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:oha
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/oha>
- **Version:** 1.14.0
- **Source summary:** HTTP load generator, inspired by rakyll/hey with tui animation
- **Homepage:** <https://github.com/hatoo/oha/>
- **Repository:** <https://github.com/hatoo/oha>
- **Upstream docs:** <https://github.com/hatoo/oha#readme>
- **License:** MIT
- **Source archive:** <https://github.com/hatoo/oha/archive/refs/tags/v1.14.0.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- oha (cli)
- oha (alias)

## Build dependencies

- cmake
- pkgconf
- rust

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.14.0
- Local data: ok
- Upstream repository: https://github.com/hatoo/oha
- Upstream latest detected: v1.14.0 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

oha, short for Ohayou, is a Rust HTTP load generator that combines hey-style request generation with a live terminal UI. It is aimed at quick HTTP benchmarking from the command line, with concurrency, duration, QPS limiting, HTTP/2, experimental HTTP/3, proxy, TLS, authentication, and request-body options.

### Project history

The hatoo/oha repository was created on 2020-03-02. Its README explicitly says oha is inspired by rakyll/hey, written in Rust, powered by tokio, and uses ratatui for the TUI.

The hey relationship is important historically: hey is itself described as an ApacheBench replacement that was originally called boom before being renamed to avoid binary-name conflicts. oha keeps the small-load-generator spirit but differentiates itself with animated terminal feedback and a Rust async implementation.

### Adoption history

oha crossed from Rust packaging into OS package managers. The README documents cargo install, pre-built GitHub releases, Arch Linux, Homebrew, WinGet, Debian via Azlux's repository, X-CMD, and an official container image. Homebrew Formulae reported stable version 1.14.0 and 5,312 installs in its 365-day analytics window when fetched on 2026-07-01.

GitHub API metadata fetched on 2026-07-01 reported 10,351 stars and 291 forks, which is a strong signal for a focused benchmarking CLI. The repository topics include benchmark, HTTP, HTTP/2, load-generator, load-testing, Rust, TUI, and command-line.

### How it is used

A typical run points oha at a URL and supplies request count, concurrency, duration, QPS, headers, body data, HTTP method, proxy settings, TLS options, redirect limits, or HTTP version flags. By default it displays a live TUI, while --no-tui supports script-friendly runs.

The README notes that oha's -q option is an overall query-per-second limit rather than a per-worker limit, a small but important semantic difference from hey. It also warns users to raise open-file limits for large concurrency values, which places it in the practical load-testing toolbox rather than purely synthetic benchmarking.

### Why package nerds care

oha is package-nerd-significant because it shows the modern Rust CLI distribution pattern: crates.io installation, GitHub release binaries, Homebrew bottles, Arch packaging, WinGet, containers, optional feature flags, and TLS backend choices. It is also a concise example of a tool winning mindshare by improving the UX of an older CLI category rather than inventing a new benchmark model.

### Timeline

- 2020-03-02: the hatoo/oha GitHub repository was created.
- 2026-07-01: Homebrew Formulae listed stable version 1.14.0.
- 2026-07-01: GitHub API metadata reported 10,351 stars and 291 forks.

### Related projects

- oha is directly related to rakyll/hey, and through hey to the older boom load generator. Its Rust implementation uses tokio for async runtime behavior and ratatui for the terminal interface.

### Sources

- <https://api.github.com/repos/hatoo/oha>
- <https://formulae.brew.sh/api/formula/oha.json>
- <https://formulae.brew.sh/formula/oha>
- <https://github.com/hatoo/oha>
- <https://github.com/rakyll/hey>
- <https://raw.githubusercontent.com/hatoo/oha/master/README.md>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** oha
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - oha: normalized package name match | nixpkgs package indexes: pkgs/by-name/oh/oha/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - oha - 1.14.0-r0: normalized package name match | Alpine Linux edge package indexes: oha from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | HTTP load generator with TUI animation | https://github.com/hatoo/oha/tree/master
- apk - oha-doc - 1.14.0-r0: normalized package name match | Alpine Linux edge package indexes: oha-doc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | HTTP load generator with TUI animation (documentation) | https://github.com/hatoo/oha/tree/master
- pacman - oha - 1.14.0-2: normalized package name match | Arch Linux sync databases: oha from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Ohayou(おはよう), HTTP load generator, inspired by rakyll/hey with tui animation | https://github.com/hatoo/oha
- MacPorts - oha: normalized package name match | MacPorts ports tree: net/oha/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/oha: normalized package name match | Scoop official bucket manifest trees: bucket/oha.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - hatoo.oha: normalized package name match | Windows Package Manager source index: hatoo.oha from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [fortio](https://www.automicvault.com/pkg/brew/fortio/) - Shares av.db curated category or tags: cli, http, load-testing, networking.
- [bombardier](https://www.automicvault.com/pkg/brew/bombardier/) - Shares av.db curated category or tags: benchmark, cli, http, load-testing, networking.
- [getparty](https://www.automicvault.com/pkg/brew/getparty/) - Shares av.db curated category or tags: cli, http, networking.
- [httpflow](https://www.automicvault.com/pkg/brew/httpflow/) - Shares av.db curated category or tags: cli, http, networking.
- [httping](https://www.automicvault.com/pkg/brew/httping/) - Shares av.db curated category or tags: cli, http, networking.
- [httpry](https://www.automicvault.com/pkg/brew/httpry/) - Shares av.db curated category or tags: cli, http, networking.
- [neon](https://www.automicvault.com/pkg/brew/neon/) - Shares av.db curated category or tags: cli, http, networking.
- [proxygen](https://www.automicvault.com/pkg/brew/proxygen/) - Shares av.db curated category or tags: cli, http, networking.

## Combined YAML source

View the package source record on GitHub. [combined/oha.yml](https://github.com/automic-vault/db/blob/main/combined/oha.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
