poli

command module
v0.1.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 21, 2026 License: MIT Imports: 1 Imported by: 0

README

poli

GitHub Release Go Report Card License

    ____        ___
   / __ \____  / (_)
  / /_/ / __ \/ / / 
 / ____/ /_/ / / /  
/_/    \____/_/_/   

A terminal-based HTTP client for managing and executing collections of API requests. Designed for speed and minimal latency, poli supports request organization, curl importation, and structured JSON response rendering.

Core Features

  • Performance: Native Go binary with zero startup overhead.
  • Collection Management: Organize requests into logical groups.
  • CURL Integration: Import requests directly from curl commands.
  • Data Rendering: Automatic tabular formatting for JSON responses.
  • Offline Access: Persists last-received responses for offline inspection.
  • Index Support: Reference requests as r1, r2 and groups as g1, g2 for faster navigation.
  • Shell Completion: Supports Bash, Zsh, and Fish.

Installation

Homebrew (macOS/Linux)

The recommended way to install poli is via Homebrew:

brew tap jojipanackal/tap
brew install poli
Go Install

If you have Go installed on your system:

go install github.com/jojipanackal/poli@latest

Indexing System

poli allows you to reference requests and collections by their index numbers shown in the list command. This saves you from typing out long, descriptive names.

  • Requests: Use r1, r2, etc. to reference requests in the active group.
  • Groups: Use g1, g2, etc. to reference collections.

Example: poli ping r1 instead of poli ping "Get All Users From Production"

Help View

Terminal-based HTTP client — collections, requests, curl import, zero lag.

Usage:
  poli [command]

Request Operations:
  edit        Edit a saved request
  list        List requests in the current group
  new         Create a new request or group
  ping        Execute a saved request
  use         Switch to a different group/collection

Collection Management:
  delete      Delete a request or group
  last        Show the last response for a request
  mv          Move a request to another group
  show        Show details of a saved request

Utility Commands:
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command
  version     Print the version number of poli

Flags:
      --config string   config file (default is $HOME/.poli/config.yaml)
  -g, --group string    active group/collection (default from config)
  -h, --help            help for poli

Usage

Creating a Collection
poli new group "API-V1"
Importing a Request
poli new "Get-Users" --curl 'curl https://api.example.com/users'
Executing Requests
poli ping "Get-Users"
# Or using index
poli ping r1
Inspecting Responses
  • --headers: Show response headers.
  • --expand <key>: Drill into nested JSON objects.
  • --row <n>: View a specific row in a JSON array.
  • --search <query>: Filter array results by value or key=value.
Navigation
  • poli use g1: Switch to the first collection.
  • poli show r2: View details of the second request in current group.

Storage

Configuration and data are persisted locally:

  • Config: ~/.poli/config.yaml
  • Data: ~/.poli/groups/ (JSON format)

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
ui

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL