# darrenburns/posting

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/darrenburns-posting).**

12,035 stars · 248 forks · Python · Apache-2.0

## Links

- GitHub: https://github.com/darrenburns/posting
- awesome-repositories: https://awesome-repositories.com/repository/darrenburns-posting.md

## Topics

`automation` `cli` `developer-tools` `http` `python` `rest` `rest-api` `rest-client` `ssh` `terminal` `textual` `tui`

## Description

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 workflows from other tools or import standardized API specifications directly into a local workspace. It supports advanced request lifecycle management through user-defined scripts, allowing for dynamic manipulation of headers and payloads. Users can also bridge the gap between terminal commands and structured files by converting between command-line strings and persistent request definitions.

The application provides a comprehensive suite of tools for managing complex API environments, including support for environment variable injection, mutual TLS authentication, and SSL verification. The interface is built using modular, reactive widgets that support both keyboard and mouse navigation, supplemented by a centralized command palette for rapid interaction. Users can further tailor their experience through extensive customization options, such as remappable keyboard shortcuts, theme management, and integration with external text editors and pagers.

## Tags

### Networking & Communication

- [Terminal API Clients](https://awesome-repositories.com/f/networking-communication/terminal-api-clients.md) — Provides a keyboard-driven terminal interface for executing, organizing, and testing HTTP requests.
- [Request Payloads](https://awesome-repositories.com/f/networking-communication/http-clients/request-payloads.md) — Configures request bodies with syntax highlighting and automatic content-type management for API payloads. ([source](https://posting.sh/guide/))

### Web Development

- [HTTP Request Managers](https://awesome-repositories.com/f/web-development/http-request-managers.md) — Manages API collections as version-controlled files with support for environment variables and request scripting.
- [API Request Configurations](https://awesome-repositories.com/f/web-development/api-request-configurations.md) — Persists API request configurations as structured files for retrieval and reuse. ([source](https://posting.sh/guide))
- [Response Inspection Tools](https://awesome-repositories.com/f/web-development/response-inspection-tools.md) — Simplifies inspection of server outputs through built-in text tools and external editor integration. ([source](https://posting.sh/guide/))
- [URL Construction](https://awesome-repositories.com/f/web-development/url-construction.md) — Provides dynamic URL parameterization by extracting and substituting placeholders within request paths. ([source](https://posting.sh/guide/requests/))

### Development Tools & Productivity

- [API Request Collections](https://awesome-repositories.com/f/development-tools-productivity/api-development-tools/api-lifecycle-management/api-request-collections.md) — Organizes API requests into local, version-controlled directory structures for project-specific workspaces. ([source](https://posting.sh/guide))
- [API Testing Tools](https://awesome-repositories.com/f/development-tools-productivity/api-development-tools/api-testing-tools.md) — Facilitates high-speed API testing and request execution through a keyboard-driven terminal interface.
- [Version-Controlled Documentation](https://awesome-repositories.com/f/development-tools-productivity/version-controlled-documentation.md) — Stores API request configurations as plain text files to enable version-controlled documentation alongside source code.
- [API Request Scripting](https://awesome-repositories.com/f/development-tools-productivity/api-development-tools/api-lifecycle-management/api-request-scripting.md) — Supports user-defined scripts for dynamic manipulation of request properties and response processing. ([source](https://posting.sh/guide/scripting/))
- [Command Palettes](https://awesome-repositories.com/f/development-tools-productivity/command-palettes.md) — Centralizes application control through a searchable command palette for rapid keyboard-driven interaction.
- [Migration Importers](https://awesome-repositories.com/f/development-tools-productivity/configuration-importing/migration-importers.md) — Imports external API definitions and environment configurations into a local development workspace.
- [cURL Importers](https://awesome-repositories.com/f/development-tools-productivity/curl-importers.md) — Converts between terminal-based cURL command strings and persistent, structured request definitions.
- [Migration Tools](https://awesome-repositories.com/f/development-tools-productivity/migration-tools.md) — Migrates existing API workflows and environment variables into a local, version-controlled file structure.
- [Fuzzy Search Interfaces](https://awesome-repositories.com/f/development-tools-productivity/fuzzy-search-interfaces.md) — Locates saved API requests using a fuzzy search interface for quick access. ([source](https://posting.sh/guide/navigation/))

### Testing & Quality Assurance

- [HTTP Request Clients](https://awesome-repositories.com/f/testing-quality-assurance/http-request-clients.md) — Executes HTTP requests to API endpoints with full control over methods, headers, and payloads. ([source](https://posting.sh/guide/))

### Data & Databases

- [Version-Controlled Configuration Stores](https://awesome-repositories.com/f/data-databases/local-persistence/configuration-persistence/version-controlled-configuration-stores.md) — Stores API request configurations as plain-text files to ensure compatibility with version control systems.
- [Parsers](https://awesome-repositories.com/f/data-databases/api-specification-managers/parsers.md) — Parses external API definitions to enable rapid migration and synchronization of endpoint collections.

### Security & Cryptography

- [Client Certificate Authentication](https://awesome-repositories.com/f/security-cryptography/client-certificate-authentication.md) — Supports mutual TLS authentication by providing local certificate and key files for secure connections. ([source](https://posting.sh/guide/configuration/))
- [Certificate Trust Validation](https://awesome-repositories.com/f/security-cryptography/identity-servers/certificate-trust-validation.md) — Validates server SSL certificates against trusted certificate authority bundles to ensure secure communication. ([source](https://posting.sh/guide/configuration/))

### User Interface & Experience

- [Keyboard Navigation](https://awesome-repositories.com/f/user-interface-experience/keyboard-navigation.md) — Enables rapid navigation and interaction through keyboard shortcuts and remappable keybindings. ([source](https://posting.sh/guide/))
- [Sidebar Layouts](https://awesome-repositories.com/f/user-interface-experience/sidebar-layouts.md) — Provides a sidebar interface for browsing and selecting stored API requests. ([source](https://posting.sh/guide/collections/))
- [Terminal Layout Engines](https://awesome-repositories.com/f/user-interface-experience/terminal-layout-engines.md) — Constructs reactive terminal interfaces using modular widgets and layout engines.

### Software Engineering & Architecture

- [Environment Variable Injection](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/environment-variable-management/environment-variable-injection.md) — Injects environment variables into request fields to manage different deployment targets dynamically. ([source](https://posting.sh/guide/environments/))
- [Lifecycle Event Hooks](https://awesome-repositories.com/f/software-engineering-architecture/lifecycle-event-hooks.md) — Triggers user-defined scripts at specific stages of the request lifecycle for dynamic property manipulation.
