Skip to main content

A terminal UI for editing WordPress posts

Project description

wp-tui

A text-based terminal UI for interacting with a self-hosted WordPress site — create and edit posts and pages, work with the native block editor, format text with markdown-style shortcuts that map to WordPress's real inline formats, upload or pick images from the media library, and edit post settings (status, slug, excerpt, categories/tags, featured image). Mouse navigation throughout, with an optional Vim-style key layer.

Requirements

  • Python 3.12 or newer
  • A self-hosted WordPress site with the REST API enabled, and an Application Password (WordPress Admin → Users → Profile → Application Passwords). The site must be served over HTTPS — wp-tui refuses to send credentials over plaintext http://.

Installation

The recommended install is with pipx (isolated, cross-platform):

pipx install wptui
wptui

A Homebrew tap is planned:

# once the tap is published
brew install gboone/tap/wptui

You'll be prompted for your site URL, username, and Application Password. The password is stored in your OS keychain via keyring; only non-secret profile data is written to the config file.

Known limitation — headless/SSH

keyring needs an OS secret backend (macOS Keychain, Linux Secret Service, Windows Credential Locker). On a headless machine reached over SSH with no Secret Service running, credential storage will fail, so wp-tui cannot save or load the Application Password there. This affects any install method; it is a runtime environment limitation, not a packaging one.

From source (development)

python3 -m venv .venv
. .venv/bin/activate
pip install -e ".[dev]"
python -m wptui

For UI debugging, run textual console in another terminal and launch with textual run --dev wptui.app:WPTuiApp.

Test

pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wptui-0.1.2.tar.gz (90.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wptui-0.1.2-py3-none-any.whl (77.4 kB view details)

Uploaded Python 3

File details

Details for the file wptui-0.1.2.tar.gz.

File metadata

  • Download URL: wptui-0.1.2.tar.gz
  • Upload date:
  • Size: 90.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for wptui-0.1.2.tar.gz
Algorithm Hash digest
SHA256 014014b95dd415d5703653b395dc245429825b1aea73d04bc632b1aeb8fb5d74
MD5 669d4d9b35e79057af11d566b88554db
BLAKE2b-256 369833934ac876ab93fd40e2f70e50f421168df4b200dc2f3ba44dfd4275887a

See more details on using hashes here.

File details

Details for the file wptui-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: wptui-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 77.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for wptui-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 56df3721914c231bd13b0df4fe06e95e3b443be41d1e044d87c0505cbde28470
MD5 75f8ae39b3714c014f6d85cb40f11787
BLAKE2b-256 07df8b289ba99609589a2edbc7bf395b3b28e9a23be412206dbe12054dcd662c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page