Skip to main content

PLTUI - The Pulumi Terminal UI

A terminal UI to explore and operate on your Pulumi stacks.
Built with Textual and the Pulumi Automation API.

PyPI version CI License

PLTUI previewing a Pulumi stack

Features

  • State explorer: browse a stack's resources as a parent/child tree.
  • Search and filters: live search (type, name, URN, ID, parent URN), a resource-type dropdown and a "Protected only" checkbox, all on one row.
  • Multi-selection: select resources with the keyboard, or use filter-aware Select all / Deselect all.
  • Resource details: overview, inputs, outputs and a diff of both, in a modal.
  • Pulumi actions: preview, up, refresh and destroy, on the selected resources or the whole stack.
  • Safe by design: up, refresh and destroy show a preview first and apply only after confirmation. If the stack state changes while you review, apply is blocked.
  • State editing: delete resources from the state, or protect and unprotect them (🔒 marks protected resources).
  • Pulumi-branded dark theme built on the three colours of the Pulumi logo.

Install

The package pulumi-tui provides the pltui command.

Tool Install Upgrade Run
pipx pipx install pulumi-tui pipx upgrade pulumi-tui cd /path/to/pulumi/project && pltui
uv uv tool install pulumi-tui uv tool upgrade pulumi-tui cd /path/to/pulumi/project && pltui
uvx none (no install needed) n/a uvx --from pulumi-tui pltui
Source git clone https://github.com/SharpEdgeMarshall/pulumi-tui.git && cd pulumi-tui && poetry install git pull && poetry install poetry run pltui

Requires Python 3.11 or newer.

Doesn't require pulumi, it's auto installed.

Building from source requires Poetry.

Usage

Run pltui from a Pulumi project directory, or point it at one:

cd path/to/your/pulumi-project
pltui

# or
pltui -C path/to/your/pulumi-project

Choose a stack with the dropdown in the header, then explore its resources.

Option Description
-C, --cwd Run as if started in this Pulumi project directory, like pulumi -C. Defaults to the current directory.
-V, --version Show the version and exit.
-h, --help Show the help and exit.

Keybindings

Actions

Key Action
Ctrl+P pulumi preview
Ctrl+U pulumi up
Ctrl+R pulumi refresh
Ctrl+X pulumi destroy
Ctrl+D Delete the selected resources from the state only (pulumi state delete)
Ctrl+L Protect the selected resources. Needs at least one unprotected resource selected.
Ctrl+O Unprotect the selected resources. Needs at least one protected resource selected.
Ctrl+\ Command palette
Ctrl+Q Quit

Resource tree

Key Action
Space Select or deselect the focused resource
A / D Select all / deselect all resources matching the filters
E Expand or collapse the focused branch
Enter or double-click Open the resource details

Resource selection

Select all and Deselect all affect only resources matching the current filters, including matches in collapsed branches. Parents shown only for context are not selected. Selections hidden by filters stay selected and are counted in the title.

Selection survives reloads of the same stack, dropping resources that no longer exist, and is cleared when a different stack is loaded.

Try it locally

examples/local is a real Pulumi Python project on a local filesystem backend. It creates only component resources, so no cloud credentials, providers or billable infrastructure are needed.

make setup         # install dependencies
make example-init  # create the dev and sandbox stacks with sample state
make run           # open pltui against the example project

make example-init is safe to re-run. Use make example-clean to remove the local state and start over.

Contributing

Contributions are welcome. See CONTRIBUTING.md for setup, project layout and conventions.

License

Apache-2.0. See LICENSE.

Metadata

Release files for pulumi-tui 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pulumi-tui 0.1.1
File Size Uploaded Provenance
pulumi_tui-0.1.1.tar.gz 23.7 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pulumi-tui 0.1.1
File Interpreter ABI Platform
pulumi_tui-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 50.5 kB

Release files / pulumi_tui-0.1.1.tar.gz

Download URL pulumi_tui-0.1.1.tar.gz
Size 23.7 kB
Tags Source
SHA-256 checksum
How to use checksums
dcf4b0e3dbc3a4b86a9f6a4164e22b553021f67e1a4ab2ef8b80c60c6e728b3c
BLAKE2b-256 checksum
How to use checksums
3b2d2267b70ab9260459c2ede941e2eba7fac0803ba421840d3670db3c4bafdf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / pulumi_tui-0.1.1-py3-none-any.whl

Download URL pulumi_tui-0.1.1-py3-none-any.whl
Size 26.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
249bacd8cf7cccf3b7077b33f51b7d44a95d5b5ce0bad31134efdcb475e8c708
BLAKE2b-256 checksum
How to use checksums
4f3af3f68bfa97d93898e88adf636cba8e9a8df132f83ddb78604112b22c656b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Security for pulumi-tui 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pulumi_tui-0.1.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page