skillfed

pulumi

Pulumi's Python SDK

pulumi v3.257.0 8.5M downloads/30d#1,622 on PyPI25,569
Permissive license Apache-2.0 Active released

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

Pulumi's Python SDK lets you define and deploy cloud infrastructure using Python code instead of declarative templates, supporting AWS, Azure, Google Cloud, Kubernetes, and other providers.

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

pip

pip install pulumi

uv

uv add pulumi

poetry

poetry add pulumi

Installing pulumi

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.

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()

Requires Python 3.10 or later; the Pulumi CLI must be installed separately to run deployments.

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 — debugpy, dill, grpcio, opentelemetry-api, opentelemetry-exporter-otlp-proto-grpc, opentelemetry-instrumentation-grpc, opentelemetry-sdk, packaging, protobuf, pyyaml, semver
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)

Evidence: pulumi-3.257.0-py3-none-any.whl

Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Typing :: Typed

Tags

infrastructure as code pythoncloud deployment sdkpulumi pythoniac frameworkcloud resource provisioningdeclarative infrastructuremulti-cloud deployment
infrastructure-as-codecloud-provisioningmulti-cloud

More Build Tools packages