pulumi-command
The Pulumi Command Provider enables you to execute commands and scripts either locally or remotely as part of the Pulumi resource model.
What it is and what it does
Pulumi Command Provider is a Pulumi resource plugin that lets you run shell commands and scripts as first-class infrastructure resources, either on your local machine or on remote hosts via SSH. It integrates command execution into Pulumi's resource lifecycle model, executing scripts on create and destroy operations and storing outputs in Pulumi state. This enables provisioning workflows like registering resources with external services, copying files to remote hosts, or invoking serverless functions during deployment.
The package is designed as an alternative to Terraform provisioners and Dynamic Providers for scenarios where you need to execute arbitrary commands as part of infrastructure automation. It works across all Pulumi languages (C#, Go, JavaScript/TypeScript, Python, YAML) and supports dependency ordering and resource options like deleteBeforeReplace and ignoreChanges. The package is currently in preview, meaning its API may evolve based on user feedback.
Use it for:
- Register or deregister resources with external services by running commands on create and destroy
- Provision remote EC2 instances or other VMs by executing commands and copying files over SSH
- Invoke AWS Lambda functions or other serverless code during Pulumi deployments
- Generate and store random values or other computed outputs in Pulumi state for later reference
- Run local setup or cleanup scripts as part of infrastructure stack lifecycle
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Executes commands and scripts locally or remotely as Pulumi resources, with support for create and destroy lifecycle operations and stateful execution.
Yes, if you are using Pulumi and need to execute commands as part of your infrastructure automation. The package is actively maintained, has low install friction, carries no known vulnerabilities, and is licensed permissively. The preview status means the API may change, but it is suitable for production use in scenarios where command execution is central to your workflow. Install it if local or remote command execution fits your provisioning model; skip it if your infrastructure needs are fully covered by other Pulumi providers.
Install
pulumi-command on PyPI
pip
pip install pulumi-commanduv
uv add pulumi-commandpoetry
poetry add pulumi-commandInstalling pulumi-command
Before you install
Low install friction with a pure Python wheel. Actively maintained as of 2026-03-04 with recent repository activity. Depends on pulumi, parver, semver, and typing-extensions—all standard, lightweight dependencies.
License in practice
Licensed under Apache-2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions beyond attribution and liability disclaimers.
Quickstart
pip install pulumi-command
from pulumi_command import local
random = local.Command("random", create="openssl rand -hex 16")
print(random.stdout)
Requires Python >=3.9 and an active Pulumi CLI installation and configured Pulumi project.
Verify before relying
- Whether Windows-based remote VM support is available or remains in-progress as of 1.2.1
- Specific behavior when a Command resource fails—whether it propagates to dependent resources or fails in isolation
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — parver, pulumi, semver, typing-extensions |
| Maintenance | actively maintained — 163 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 4,454,377/month — #2,299 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pulumi_command-1.2.1-py3-none-any.whl
Keywords: pulumi, command, category/utility, kind/native
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
pulumi-pulumiservicePulumi Service Provider enables programmatic…
permissive · top 15,000 on PyPI
pulumi-kubernetesPulumi Kubernetes Resource Provider lets you…
permissive · top 5,000 on PyPI
pulumi-dockerPulumi provider for managing Docker resources…
permissive · top 5,000 on PyPI
pulumi-githubPulumi provider for GitHub that lets you define…
permissive · top 15,000 on PyPI
pulumiverse-grafanaA Pulumi resource provider that lets you create…
permissive · top 15,000 on PyPI
pulumi-google-nativePulumi provider for provisioning Google Cloud…
permissive · top 15,000 on PyPI
pulumi-tlsPulumi resource provider for creating and…
permissive · top 5,000 on PyPI
pulumi-randomProvides safe, deterministic randomness for…
permissive · top 5,000 on PyPI
pulumi-azurePulumi provider for Azure Classic that lets you…
permissive · top 15,000 on PyPI
pulumi-gitlabPulumi provider for GitLab that lets you define…
permissive · top 15,000 on PyPI