explaingit

darrenburns/posting

11,903PythonAudience · developerComplexity · 2/5Setup · easy

TLDR

A keyboard-driven HTTP client that runs in the terminal, like Postman but without a browser, storing your saved requests as plain YAML files you can commit to Git alongside your code.

Mindmap

mindmap
  root((Posting))
    What it does
      Terminal HTTP client
      Send API requests
      View responses
    Storage
      YAML request files
      Git-friendly
      No proprietary sync
    Features
      Env variables
      cURL import/export
      OpenAPI import
      Pre/post scripts
    Audience
      Backend developers
      SSH remote workers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Test API endpoints directly from an SSH session on a remote server without needing a graphical desktop.

USE CASE 2

Store all your API requests as YAML files in your project's Git repo so teammates can share and version-control them.

USE CASE 3

Import an existing Postman collection or OpenAPI spec into Posting to get a working request library instantly.

USE CASE 4

Run a Python pre-request script to generate a fresh OAuth token automatically before each API call.

Tech stack

PythonTextualYAML

Getting it running

Difficulty · easy Time to first run · 5min

In plain English

Posting is an HTTP client that runs entirely in the terminal, similar in purpose to graphical tools like Postman or Insomnia but designed for keyboard-centric workflows. Because it runs as a text-based interface, it works over SSH connections, which makes it practical for developers who spend time on remote servers. Requests are stored locally as YAML files, which are plain-text configuration files that are easy to read, share, and track with version control. This means you can commit your saved requests to a Git repository alongside your code, rather than relying on a proprietary cloud sync service. The feature list is broad for a terminal tool. Posting supports environment variables (useful for switching between development and production settings), autocompletion of headers and values, syntax highlighting, Vim-style keyboard navigation, custom themes, and a command palette. It can import requests from Postman collections and OpenAPI specification files, and can export any request as a cURL command for sharing or scripting. You can also paste a cURL command directly into the URL bar to convert it into a Posting request. One less common feature is the ability to run Python scripts before and after a request fires, which can handle tasks like generating authentication tokens or processing response data. Posting is installable via the uv tool or pipx on macOS, Linux, and Windows. It was built using the Textual framework, a Python library for building text-based terminal applications.

Copy-paste prompts

Prompt 1
I installed Posting and want to test a REST API. Show me how to create a new POST request with a JSON body and a Bearer token header, save it as a YAML file, and send it.
Prompt 2
How do I set up environment variables in Posting so I can switch between my development and production API base URLs without editing every saved request?
Prompt 3
I have a Postman collection JSON file. Walk me through the Posting command to import it and what the resulting YAML files will look like.
Prompt 4
Write a Posting pre-request Python script that calls an OAuth /token endpoint and injects the returned access_token into the Authorization header of the main request.
Open on GitHub → Explain another repo

← darrenburns on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.