30 open-source projects similar to httpie/cli, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Cli alternative.
This is a desktop HTTP client application used for constructing, sending, and analyzing HTTP and GraphQL requests. It provides a graphical interface for API development and testing, including a dedicated GraphQL client with schema-driven autocomplete and validation. The project features an integrated AI assistant that generates API requests from natural language prompts. It supports a complex organization system of spaces and collections with hierarchical authentication inheritance and recursive variable resolution for dynamic request values. The tool covers a broad range of capabilities, in
HTTPie is a command-line HTTP client and REST API testing tool designed for sending requests to web services and APIs. It functions as a JSON-native network client and interactive HTTP debugger, providing a terminal interface for constructing and validating API requests and responses. The tool simplifies the process of interacting with APIs by automatically handling JSON payloads and applying colorized formatting to responses for human readability. It supports the simulation of request generation to verify headers and bodies before they are sent over the network. The project covers a broad r
This tool is a rule-based engine designed to automate the correction of failed terminal commands. By integrating directly into the shell environment, it intercepts command execution errors, analyzes exit codes and output streams, and applies corrective logic to resolve typos or syntax mistakes. It functions as a persistent background utility that monitors command history to provide immediate remediation for input failures. The system distinguishes itself through a modular, plugin-oriented architecture that allows for extensive customization. Users can define their own correction rules via scr
HTTPie is a command-line HTTP client and REST API debugger used for sending requests to web services. It functions as a network tool for managing headers, authentication sessions, and file uploads, with a specific focus on the transmission and reception of JSON data. The tool utilizes a custom parsing layer to translate simplified command-line input into structured HTTP parameters. It provides ANSI-based terminal formatting to apply color and structural indentation to raw responses, improving human readability for web debugging. The project covers request construction and previewing, multipa
This project is a high-performance command-line utility designed for rapid filesystem navigation and file discovery. It enables users to locate files and directories within large project structures using recursive search, pattern matching, and metadata-aware filtering. By employing multi-threaded parallel traversal, it provides an efficient way to explore complex directory trees. What distinguishes this tool is its ability to integrate directly into terminal workflows and automate file management tasks. It automatically respects version control ignore files and hidden file settings, ensuring
Superagent is an isomorphic JavaScript HTTP client for sending network requests and processing responses across both Node.js and web browser environments. It provides a fluent request builder that uses a chainable interface to construct complex network requests with custom headers, query strings, and bodies. The library functions as a runtime-agnostic request adapter, allowing a single codebase to work consistently across different environments. It includes specialized capabilities such as an HTTP/2 client for forcing the HTTP/2 protocol and a Node.js agent for managing Unix socket connection
pgcli is an interactive command-line interface and database management tool for PostgreSQL. It functions as an interactive SQL shell and query editor that allows users to inspect schemas, manage connections, and run queries against PostgreSQL data sources. The tool is distinguished by its real-time, schema-aware autocompletion for keywords, tables, and columns, as well as dynamic SQL syntax highlighting. It provides safety mechanisms through transaction-aware guardrails that warn against or block destructive statements when no active transaction is detected. Broad capabilities include secure
This project is a command-line media downloader designed for the systematic retrieval and organization of digital content from diverse online platforms. It functions as an extensible extraction engine that utilizes a declarative format-selection pipeline to automate the identification, merging, and downloading of specific audio and video streams based on user-defined criteria. The system distinguishes itself through a modular architecture that supports custom plugins and site-specific scripts, allowing for the bypass of platform restrictions and the handling of complex authentication challeng
Interactive Redis: A Terminal Client for Redis with AutoCompletion and Syntax Highlighting.
mycli is a MySQL command line client, database administration tool, and SQL query editor. It functions as a terminal interface for executing queries and managing MySQL connections, incorporating an integrated assistant that uses large language models to generate and analyze SQL statements based on the current database schema. The tool provides specialized query authoring capabilities, including context-sensitive syntax suggestions, fuzzy-matching identifier completion for tables and columns, and the ability to handover query buffers to external system text editors. It distinguishes its connec
CLI for SQLite Databases with auto-completion and syntax highlighting
This project is a comprehensive Python network request framework designed for both synchronous and asynchronous HTTP communication. It provides a high-performance client capable of executing non-blocking requests within event-driven applications, while also supporting standard blocking calls for simpler scripts. The library is built to operate natively across diverse asynchronous runtimes, automatically detecting and utilizing the underlying event loop for concurrency. What distinguishes this library is its modular architecture, which decouples request construction from network execution thro
This project is a terminal multiplexer that enables multiple terminal sessions to run simultaneously within a single window or a detached background process. By decoupling the client interface from a persistent server process, it allows users to maintain long-running command-line tasks that continue to execute even after disconnecting from a remote host. The system functions as a terminal window manager and process controller, providing a text-based interface to organize multiple shell processes into custom tiled layouts. It distinguishes itself through a programmable command-line interface t
Got is a promise-based HTTP request library for Node.js that supports HTTP/2 and streaming. It provides a system for making network requests with a focus on asynchronous control flow and type-safe API client development. The library is distinguished by its middleware-based request lifecycle, which uses interceptors and plugins to modify request options and response data. It includes a configurable automatic retry mechanism with backoff strategies, a built-in HTTP response cache, and a cookie-jar system for maintaining persistent sessions. Broad capabilities cover data handling through duplex
CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web applications. It provides a lightweight toolkit with minimal configuration, organizing application logic into controllers, models, and views for clean separation of concerns. The framework includes a fluent query builder for constructing SQL statements programmatically, PSR-4 autoloading with namespace mapping, and a service-based dependency injection container for managing shared class instances. The framework distinguishes itself through its comprehensive set of built-in tools
Hurl is a command line HTTP testing tool and REST API test runner that uses a declarative, plain-text format to specify HTTP requests and responses. It functions as a client for continuous integration pipelines, allowing users to describe request sequences without a full programming language. The tool distinguishes itself by sequencing HTTP calls and verifying responses through matchers and variable capture. It maintains a stateful variable store, enabling data extracted from one response to influence subsequent requests within a workflow. The system covers API integration testing and REST w
HTTPie is a command-line HTTP client designed for sending requests to web services and APIs. It functions as a terminal-based web client and JSON API interface, allowing users to interact with RESTful services and download remote files directly from the console. The tool simplifies the interaction with APIs through a custom syntax for argument parsing and automatic JSON payload serialization. It includes a request debugger to verify the structure of a request before transmission and uses ANSI-based formatting to display server responses with color and indentation for improved readability. Th
Wuzz is an interactive command line HTTP client and request inspector designed for capturing, reviewing, and analyzing outgoing network calls and their payloads. It functions as a terminal-based tool for debugging API issues and testing web endpoints. The tool provides specialized filtering for response bodies, using regular expressions and format-specific query syntaxes tailored for JSON and HTML data. It allows for the persistence of captured requests and responses to disk to facilitate the reproduction of network issues and offline analysis. User settings and default request behaviors are
Posting is a terminal-based HTTP request manager designed for developing, testing, and documenting API endpoints. It functions as a keyboard-driven interface that allows users to execute requests, manage collections, and inspect server responses directly within the command line environment. By storing request configurations as plain text files on the local filesystem, the tool ensures that API definitions remain compatible with standard version control systems. The project distinguishes itself by treating API collections as version-controlled assets, enabling users to migrate existing workflo
xh is a command-line HTTP client used for sending network requests, testing REST APIs, and debugging connections. It functions as a terminal-based tool for executing requests with custom headers and bodies, while providing built-in formatting for network responses. The project includes a generator that converts configured network requests into equivalent shell commands for use in a standard terminal. It also features a response formatter that applies syntax highlighting and custom formatting to response headers and bodies to improve readability. The tool covers a broad range of network capab
Vegeta is an HTTP load testing tool and library designed to measure the performance and stability of web services. It functions as a command-line utility, a programmable package for integration into other applications, and a distributed load generator capable of splitting request rates across multiple machines. The tool is distinguished by its constant-rate request scheduler, which dispatches requests at a fixed frequency regardless of target response times. It employs lazy target streaming to maintain low memory usage during large tests and uses a binary-encoded storage format to minimize di
Payload is a headless content management system and application framework that uses a code-first approach to define data schemas and administrative interfaces. By utilizing a centralized, type-safe configuration object, it automatically generates database schemas, API endpoints, and a fully customizable admin panel. The system is built on a database-agnostic architecture, allowing it to interface with various storage engines while providing a unified, type-safe API for server-side operations, REST, and GraphQL. What distinguishes Payload is its deep extensibility and developer-centric design.
This project is a command-line utility designed for HTTP load testing and network stress testing. It functions as a benchmarking tool that generates high volumes of concurrent traffic to evaluate the performance, reliability, and throughput capacity of web applications and APIs under sustained load. The tool allows for precise control over traffic generation by enabling users to configure request parameters, including custom headers, authentication credentials, and specific HTTP methods. It manages load through a worker-pool system that regulates request frequency, allowing for both time-boun
This project is a command-line interface that bridges local development workflows with remote platform services. It functions as a terminal-based platform client, enabling users to manage repositories, issues, and pull requests directly from their command line through authenticated API interactions. The tool provides a modular environment that supports custom binary extensions and command aliases, allowing developers to tailor their terminal experience to specific project needs. Beyond standard repository management, the tool serves as a remote development manager, offering capabilities to pr
This library is a high-level networking tool for the Rust programming language, designed to execute HTTP requests and interact with remote services and REST APIs. It provides both asynchronous and blocking interfaces, allowing developers to send data using formats such as JSON or multipart forms while maintaining type-safe communication with external web services. The library distinguishes itself through a comprehensive architecture that manages network sessions and data flow. It utilizes connection pooling to maintain persistent sockets, which reduces latency during consecutive requests to t
This project is a command-line HTTP load testing tool designed to measure the throughput and latency of web servers under high-concurrency conditions. It functions as a multi-threaded benchmarking engine that simulates thousands of simultaneous connections to evaluate server performance, identify bottlenecks, and determine capacity limits. The tool distinguishes itself through a shared-nothing thread architecture that isolates state within individual threads to eliminate lock contention during high-frequency request generation. It utilizes a non-blocking event loop and low-latency socket poll
Hyperfine is a command-line benchmarking tool used to measure the execution time of shell commands through multiple runs and statistical analysis. It functions as a comparative benchmarking utility and a shell performance analyzer, allowing for the evaluation of multiple commands against a reference baseline to determine relative speed. The tool distinguishes itself by isolating actual command performance through shell overhead correction and the ability to bypass the shell entirely using system calls. It supports parameterized execution, enabling benchmarks to run across a range of varying i
Vorpal is a Node.js interactive CLI framework and terminal user interface library used to build extensible command-line shells. It functions as an interactive command-line parser that converts string input into executable functions, managing the lifecycle of terminal sessions and command routing. The framework is distinguished by a plugin-based extension architecture that allows external modules to register new commands, shared behaviors, and complete command suites into the core environment. It supports the creation of custom shell environments with specialized namespaces and a system for pe
This project is a comprehensive knowledge base and educational resource for JavaScript developers, focused on establishing industry-standard methodologies for automated software testing. It provides a structured collection of design patterns and actionable guidelines designed to improve code reliability, maintainability, and overall software quality across the development lifecycle. The repository distinguishes itself by offering a granular, pattern-based approach to testing that spans unit, integration, and end-to-end verification. It emphasizes specific architectural strategies such as comp
Kong is a declarative command line interface framework and parser for Go. It maps flags and positional arguments directly into typed Go structures using struct tags, allowing developers to define terminal interfaces through data models rather than manual parsing logic. The project functions as a configuration mapper that populates Go structures from a combination of command-line arguments, environment variables, and JSON files. It distinguishes itself by providing a dependency injection container to pass external services into command handlers and a plugin architecture for dynamic command reg