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.1.tar.gz (89.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.1-py3-none-any.whl (77.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wptui-0.1.1.tar.gz
  • Upload date:
  • Size: 89.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.1.tar.gz
Algorithm Hash digest
SHA256 ee21c557dca318031deb40b39b08e45470ad2694b706340f29a11a042465b77b
MD5 43ab4226e530b3ff4b3a0f69a58b2bd5
BLAKE2b-256 489a1cc487acf0f4a0b0387ff77e35b084d3c81ac944a561f297e3c6feb25b07

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wptui-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 77.1 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1b321acd09206dd79581ab6b5054d3f972a03d61789afd1aed86d7403f1c4098
MD5 54f6c98caf52307160598cb311bb65c5
BLAKE2b-256 c822ed3458a8995260c3d80fd6daf22e045dde282f01abd47ffad405d7b809d0

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