mrkeyoor.com_
Sat 31 Oct 08:50 UTC
Dev Toolsevaluationupdated 25 Oct 2026

cli review

HTTPie CLI is a command-line HTTP client for interacting with APIs and HTTP servers. Its README documents compact request syntax and formatted, colorized output.

+12stars / 7d
Verdict

HTTPie CLI is worth evaluating for manual API work if its documented request syntax suits you. Our October 11, 2026 run at commit 5b604c3 recorded successful install and build steps, followed by three test failures: one error-message quoting mismatch and two Big5 terminal-output mismatches. Those results do not establish that ordinary API requests fail. Review the 25 recorded advisories for your intended installation, verify the installed command, and try the documented offline example before relying on a workflow.

We ran it

Lab card: what happened when we ran cliScreenshot of cli (httpie.io)
Install✓ · 47s88 packages · 97 MB
Build✓ · 8s
Tests✗ · 165s1016 passed · 3 failed · 5 skipped of 1019 (pytest)
Known vulns25(pip-audit)
Repo265 files~19,308 lines of source · 2.1 MB · 15 CI workflows · tests dir

Answers from our run

Does cli build from source?

Dependencies installed in 47 seconds (88 packages), and the build succeeded in 8 seconds. We cloned commit 5b604c3 into a clean Debian container with 3 CPUs and no project-specific setup.

Do cli's tests pass?

No. The project's own test command finished in 165 seconds and reported 1016 passed, 3 failed, 5 skipped (pytest).

Does cli have known vulnerabilities in its dependencies?

pip-audit flagged 25 known advisories in the dependency tree at the time of our run.

Who should not use cli?

Contributors who need a clean test baseline matching our recorded environment: that run reported three failures.

What are the alternatives to cli?

curl, xh. HTTPie CLI is worth evaluating for manual API work if its documented request syntax suits you.

Setup3/5Rubric: 3/5 means a completed limited check. At commit 5b604c3 on October 11, 2026, install and build steps exited successfully. A separate installed-command check and packaged installations across platforms were not established.
Docs3/5Rubric: 3/5 means a concrete documented route. The supplied README and manual provide request examples and explain offline mode. This score covers those extracts, not every documented workflow or execution of the examples.
Community3/5Rubric: 3/5 means concrete documented participation routes. The README names Discord, StackOverflow and GitHub issues, and the supplied queue contains open contributions. Maintainer response quality and support turnaround remain unknown.
Maturity2/5Rubric: 2/5 means partial support with substantial unresolved checks in this evaluation. The recorded build succeeded, but three test assertions failed and the 25-advisory audit lacks package identities, severity and verified coverage. This is not a measured production-reliability score.

Who it’s for

Developers evaluating readable terminal syntax for manual API requests.
API maintainers who want to inspect a constructed request using documented offline mode.
Contributors willing to investigate the three failures in our October 11, 2026 source-check run at commit 5b604c3.

Who it’s NOT for

Contributors who need a clean test baseline matching our recorded environment: that run reported three failures.
Teams that require a fully characterized dependency audit before evaluation: the record contains 25 advisories across three packages, but no package identities, severity details or verified scan coverage.
Users choosing a client solely on measured request speed or cross-platform installation results: our run establishes neither.

Setup reality

In our recorded run on October 11, 2026 at commit 5b604c3, the install step exited successfully after 46.502 seconds, rounded to 47 seconds in the summary. Its tail identifies a Python 3.12.12 environment. The record lists 88 dependencies and 97 MB; it does not establish a separate installed-binary check or a completed authenticated API workflow.

The build step exited successfully after 7.526 seconds, rounded to 8 seconds, with SyntaxWarnings in the man-page generation script. The test step exited 1 after 165.095 seconds, rounded to 165 seconds. Its pytest summary reported 1,016 passed, 3 failed, 5 skipped, 4 xfailed and 134 warnings in 151.40 seconds. These are recorded result counts, not verified exhaustive unique coverage.

Pip-audit recorded 25 advisories across three packages. The supplied record does not identify those packages, severity, affected execution paths or scan coverage. The configured sandbox had 3 CPUs, 8 GB RAM and image label ghcr.io/astral-sh/uv:python3.12-bookworm. The label does not independently verify the operating system.

HTTPie CLI for manual API work

HTTPie CLI lets you express HTTP headers and JSON fields directly in a terminal command. The useful adoption question is whether that syntax fits your API work and which checks remain before you depend on it.

The README describes a command-line HTTP client with formatted, colorized output. It demonstrates a PUT request with a custom header and a JSON field:

http PUT pie.dev/put X-API-Token:123 name=John

It also documents constructing and printing a request without sending it:

http --offline pie.dev/post hello=offline

These are documentation examples, not commands we separately executed for this review. The manual says offline mode constructs the request, prints it to standard output and exits without making a network connection. That makes the second example a useful first check after you verify your installation.

What our recorded run establishes

Our recorded run took place on October 11, 2026 at commit 5b604c3, whose full SHA is 5b604c37c6c67e18e7c3e9aee6c88a8c22b98345. No new execution was performed for this correction.

The install step exited 0 after 46.502 seconds, shown as 47 seconds in the summary. Its tail states that it used a Python 3.12.12 environment. The summary records 88 dependencies and 97 MB. A successful step does not by itself establish that an installed HTTPie executable was checked; the supplied record contains no separate installed-binary verification.

The build step exited 0 after 7.526 seconds, rounded to 8 seconds. Its tail includes SyntaxWarnings about invalid escape sequences in the man-page generation script. The successful exit therefore should not be read as a warning-free build.

The test step exited 1 after 165.095 seconds, rounded to 165 seconds. Pytest's own summary reports 1,016 passed, 3 failed, 5 skipped, 4 xfailed and 134 warnings in 151.40 seconds. The parser's total of 1,019 equals its passed-plus-failed counts; it does not include every reported outcome category. The supplied record does not explain the difference between pytest's elapsed time and the step duration. No complete-log reconciliation or verification of exhaustive unique test coverage was performed.

The raw assertions make the failures more specific than a general failed-check label:

Those observations identify the failing assertions. They do not establish their root causes or prove that ordinary API requests fail. If your workflow depends on Big5 terminal output, reproduce those cases in your intended environment.

Pip-audit recorded 25 advisories across three packages. The supplied evidence does not name the packages or establish severity, reachable vulnerable code or scan coverage. The 88-dependency figure is not a count of audited packages. Inspect the actual advisories for the installation you plan to use before making a security decision.

The checkout scan recorded 265 files, approximately 19,308 source lines, 2.1 MB, 15 CI workflow files and a tests directory, with no Dockerfile or Compose file detected. These describe the scanned checkout; they are not performance or reliability measurements.

The sandbox configuration specified 3 CPUs, 8 GB RAM and image label ghcr.io/astral-sh/uv:python3.12-bookworm. The install tail supports the Python 3.12.12 environment claim; the image label alone does not verify the operating system. The run did not measure request throughput, compare clients, verify packaged installations across platforms or complete an authenticated API workflow.

Release and contribution evidence

The supplied manual identifies version 3.2.4 with the date November 1, 2024 and lists a development version dated December 17, 2024. Our measured object was commit 5b604c3. The record does not establish that the lab installed the published 3.2.4 artifact, even though test output includes an HTTPie/3.2.4 user-agent string.

The supplied repository metadata records the last push as December 17, 2024 and an open-issue counter of 358. That counter includes open issues and pull requests; it is not a measure of support quality.

The supplied updated contribution queue includes open proposals dated October 21 through October 25, 2026. One proposes moving pytest options into pytest.ini so doctests run. Its author reports additional passing doctests while retaining three pre-existing failures. That is the contributor's report about their environment, not an additional result from our run or an independently established diagnosis of our failures. The supplied entry is open and has no merge timestamp, so it does not establish a shipped fix.

The README provides support routes through Discord, StackOverflow and GitHub issues. Those routes and the open contributions show ways to participate. They do not establish response times or maintainer support quality.

How to read the scores

These editorial scores assess the supplied evidence, not production suitability. The common scale is 1 for a documented blocker to the assessed task, 2 for partial support with substantial unresolved checks, 3 for a concrete documented route or a completed limited check, 4 for supporting examples plus explicit operational guidance, and 5 for corroborated completion across the stated scope. Missing evidence earns no extra credit.

Setup receives 3/5 for successful recorded install and build steps, with no separate installed-command check. Documentation receives 3/5 for concrete request examples and offline-mode instructions; the supplied extract does not support a broader assessment of every workflow. Community receives 3/5 for documented support routes and visible open contributions, without evidence about response quality. Maturity receives 2/5 for this evaluation's unresolved test and audit checks. That last score is not a finding that HTTPie is unsuitable for production.

Alternatives by requirement

The curl README lists HTTP, FTP and SFTP among its supported protocols. Choose curl when FTP or SFTP transfers are part of your requirement. The supplied evidence does not compare its setup ease or automation reliability with HTTPie CLI.

The xh README says it reimplements much of HTTPie's design and uses HTTPie's request-item syntax. Compare xh if you want to evaluate another implementation of that syntax. Its performance emphasis is a project claim; no comparative speed measurements were supplied here.

For an HTTPie evaluation, verify the command installed by your chosen distribution, inspect the documented offline request, and then test a representative API workflow. Resolve the recorded output failures if they affect that workflow, and review the dependency advisories for that exact installation.

Alternatives

ProjectWhat it isPick it when
curl gh↗A command-line URL transfer tool supporting HTTP, FTP, SFTP and other protocols.Choose it when FTP or SFTP transfers are part of the tool requirement.
xhAn HTTP request client that reimplements much of HTTPie's design and uses its request-item syntax.Compare it when you want another implementation of HTTPie's request-item syntax.

What people are saying

  1. [lobsters] sslx: A fast, modern alternative to OpenSSL's CLI
  2. [github-trending] googleworkspace/cli
  3. [github-trending] Tencent/teamai-cli
  4. [producthunt] AdHelm CLI
  5. [producthunt] CLI Manager
  6. [hackernews] Codex CLI installs a persistent, self-updating background daemon by default

Sources

  1. HTTPie CLI README
  2. HTTPie CLI manual
  3. curl README
  4. xh README
  5. HTTPie public repository metadata
  6. HTTPie recently updated issue and PR queue

More dev tools reviews

linux-insides · cat-catch · date-fns · okhttp · the-craft-of-selfteaching · skills · the whole board →