MCPcopy
hub / github.com/darrenburns/posting

github.com/darrenburns/posting @2.10.0 sqlite

repository ↗ · DeepWiki ↗ · release 2.10.0 ↗
924 symbols 2,900 edges 81 files 291 documented · 31%
README

Posting

A powerful HTTP client that lives in your terminal.

Posting is an HTTP client, not unlike Postman and Insomnia. As a TUI application, it can be used over SSH and enables efficient keyboard-centric workflows. Your requests are stored locally in simple YAML files, so they're easy to read and version control.

image

Some notable features include:

  • "jump mode" navigation
  • environments/variables
  • autocompletion
  • syntax highlighting using tree-sitter
  • Vim keys
  • customizable keybindings
  • user-defined themes
  • run Python code before and after requests
  • extensive configuration
  • open in $EDITOR/$PAGER
  • import curl commands by pasting them into the URL bar
  • export requests as cURL commands
  • import from Postman and OpenAPI specs
  • a command palette for quickly accessing functionality

Visit the website for more information, the roadmap, and the user guide.

Installation

Posting can be installed via uv on MacOS, Linux, and Windows.

# quickly install uv on MacOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# install Posting (will also quickly install Python 3.13 if needed)
uv tool install --python 3.13 posting

Now you can run Posting via the command line:

posting

Homebrew and NixOS are not officially supported at the moment.

Prefer pipx?

If you'd prefer to use pipx, that works too: pipx install posting.

Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines, information on setting up your development environment, and running tests.

Learn More

Learn more about Posting at https://posting.sh.

Posting was built with Textual.

Core symbols most depended-on inside this repo

get
called by 85
src/posting/variables.py
notify
called by 43
src/posting/scripts.py
update
called by 35
src/posting/variables.py
post_message
called by 22
src/posting/widgets/datatable.py
to_curl
called by 14
src/posting/collection.py
get_variables
called by 12
src/posting/variables.py
to_model
called by 12
src/posting/widgets/request/form_editor.py
make_posting
called by 10
src/posting/__main__.py

Shape

Method 584
Class 168
Function 146
Route 26

Languages

Python100%

Modules by API surface

tests/test_snapshots.py101 symbols
src/posting/app.py96 symbols
src/posting/widgets/text_area.py56 symbols
src/posting/widgets/request/url_bar.py40 symbols
src/posting/collection.py38 symbols
src/posting/widgets/collection/browser.py37 symbols
src/posting/widgets/key_value.py33 symbols
src/posting/widgets/datatable.py30 symbols
src/posting/widgets/load_env_file_dialog.py26 symbols
src/posting/widgets/request/request_auth.py22 symbols
tests/test_curl_import.py21 symbols
src/posting/widgets/request/path_editor.py20 symbols

For agents

$ claude mcp add posting \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact