pulumi
Pulumi's Python SDK
Decision gist · record as of 2026-08-14
Yes, if you are building cloud infrastructure and prefer Python over declarative templates. The package is actively maintained, has low install friction, carries no known vulnerabilities, and is licensed permissively. It requires Python 3.10+ and the separate Pulumi CLI to be fully functional. Suitable for teams adopting infrastructure-as-code practices in Python-first environments.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later; the Pulumi CLI must be installed separately to run deployments.
- Low friction install with a pure-Python wheel.
- Active maintenance with a release within the last day and a well-starred repository.
License · maintenance · safety
Apache-2.0 (permissive) — Licensed under Apache-2.0 (permissive), allowing commercial use, modification, and distribution with minimal restrictions—standard for infrastructure tooling.
last release 2026-08-13 (1 days) · last repo commit 2026-08-14 · 25,569 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 8,459,267 downloads/mo, #1,622 on PyPI
Alternatives
Verify before relying
pip install pulumi
import pulumi
import pulumi.automation as auto
stack = auto.create_or_select_stack(stack_name="dev", project_name="myproject", program=lambda: None)
stack.up()- Whether debugpy and dill are required at runtime or only for development/debugging workflows.
- Performance characteristics when managing large infrastructure stacks or frequent deployments.
- Compatibility matrix with specific cloud provider SDK versions beyond the core runtime dependencies.
What it is and what it does
Pulumi is the Python SDK for defining cloud infrastructure as code. Instead of writing YAML or HCL templates, you write Python programs that instantiate cloud resources as objects, express dependencies between them using Input and Output values, and let Pulumi handle the orchestration and deployment. The SDK provides a unified interface to multiple cloud providers—AWS, Azure, Google Cloud, Kubernetes—through a common resource model where all deployable resources inherit from the pulumi.Resource class.
You use it by writing a Python program that describes your infrastructure, then running the Pulumi CLI to preview and deploy those resources. The SDK handles state management, dependency tracking, and incremental updates. It includes built-in observability via OpenTelemetry and gRPC-based communication with resource providers, making it suitable for teams that want to treat infrastructure like application code—version-controlled, tested, and refactored using standard Python tooling.
Use it for
- Define and deploy multi-cloud infrastructure (AWS, Azure, GCP) from a single Python codebase.
- Automate Kubernetes cluster provisioning and application deployment using Python classes and functions.
- Build reusable infrastructure libraries and components that can be shared across teams.
- Integrate infrastructure provisioning into CI/CD pipelines as part of application deployment workflows.
- Manage infrastructure state and perform incremental updates with full dependency tracking.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are building cloud infrastructure and prefer Python over declarative templates.
The package is actively maintained, has low install friction, carries no known vulnerabilities, and is licensed permissively. It requires Python 3.10+ and the separate Pulumi CLI to be fully functional. Suitable for teams adopting infrastructure-as-code practices in Python-first environments.
Install
pulumi on PyPI
Before you install
Low friction install with a pure-Python wheel. Active maintenance with a release within the last day and a well-starred repository. Requires Python 3.10 or later and pip to manage 11 runtime dependencies including gRPC, OpenTelemetry, and protobuf.
Requires Python 3.10 or later; the Pulumi CLI must be installed separately to run deployments.
License in practice
Licensed under Apache-2.0 (permissive), allowing commercial use, modification, and distribution with minimal restrictions—standard for infrastructure tooling.
Quickstart
pip install pulumi
import pulumi
import pulumi.automation as auto
stack = auto.create_or_select_stack(stack_name="dev", project_name="myproject", program=lambda: None)
stack.up()
Verify before relying
- Whether debugpy and dill are required at runtime or only for development/debugging workflows.
- Performance characteristics when managing large infrastructure stacks or frequent deployments.
- Compatibility matrix with specific cloud provider SDK versions beyond the core runtime dependencies.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 11 packagesdebugpydillgrpcioopentelemetry-apiopentelemetry-exporter-otlp-proto-grpcopentelemetry-instrumentation-grpcopentelemetry-sdkpackagingprotobufpyyamlsemver |
| Maintenance | Actively maintained 1 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 8,459,267 / month, #1,622 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Typing :: Typed |
Evidence: pulumi-3.257.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “infrastructure as code python”
- pulumiPulumi's Python SDK lets you define and deploy cloud infrastructure…
- pulumi-azurePulumi provider for Azure Classic that lets you define and manage…
- pulumi-azure-nativeProvides Python bindings to create and manage Azure resources through…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also pulumi-azure · pulumi-kubernetes · pulumi-gcp · pulumi-aws · pulumi-azure-native · pulumi-docker · pulumi-google-native · pulumi-esc-sdk · pulumi-policy · diagrams