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.3.tar.gz (127.4 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.3-py3-none-any.whl (98.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wptui-0.1.3.tar.gz
  • Upload date:
  • Size: 127.4 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.3.tar.gz
Algorithm Hash digest
SHA256 1a5d1a4f57c6301b5763233515fac521ee72e3035c6caf04b96958b861addd1f
MD5 f043618f2792d1352e5e5ae16a0fc0e6
BLAKE2b-256 ae0b73970e8637175015cbfc04a510d547ecdfd3060563ac693fd4a730dc6e23

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wptui-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 98.5 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 add3e2d5bd5c5bc2a23f4ac063d98d718f22a66a9925fbea4abd91a3495ce0b1
MD5 95e516f45a222aff9ffaba19c7257662
BLAKE2b-256 68b13dc98f10369e7cd23cba45a8b050f5d313ff8c037899639c23434e42ce15

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