Infrastructure as Code in Python

Write Cloud Infrastructure in Python.
Not YAML. Not HCL.

Looking for infrastructure as code python? Define AWS, Azure, GCP, and Kubernetes resources in Python with full IDE support, type checking, and testing. 170+ cloud providers. Free tier.

Trusted by innovative companies

“Since it's just another programming language with control structures and external packages, it makes for a good transition from application code to infrastructure as code.”

Paul Cioanca, Platform Engineer, Supabase

Write infrastructure like software

Pulumi Infrastructure as Code Engine

Author infrastructure as code (IaC) using Python and the ecosystem you already know. Use pip, pytest, and mypy. Deploy to 170+ providers like AWS, Azure, Google Cloud, and Kubernetes.

Pulumi code being written in TypeScript showing autocomplete for creating a new S3 bucket Pulumi code being written in Python showing autocomplete for creating a new S3 bucket Pulumi code being written in Go showing autocomplete for creating a new S3 bucket Pulumi code being written in C# showing autocomplete for creating a new S3 bucket Pulumi code being written in Java showing autocomplete for creating a new S3 bucket Pulumi code being written in YAML showing autocomplete for creating a new S3 bucket
Python ecosystem

Use pip packages, pytest for testing, and mypy for type checking. No new toolchain.

Full IDE support

Autocomplete, type checking, refactoring, and debugging in VS Code, PyCharm, and your favorite editor.

AI code generation

Pulumi AI understands Python natively. Generate and refine infrastructure code from natural language.

Build infrastructure faster with reusable components

Pulumi Packages

Build and reuse higher-level abstractions for cloud architectures with multi-language Pulumi Packages. Distribute the packages through repositories or package managers so your team members can reuse them.

import pulumi
import pulumi_eks as eks

# Create an EKS cluster with the default configuration.
cluster = eks.Cluster("eks-cluster")

# Export the cluster's kubeconfig.
pulumi.export("kubeconfig", cluster.kubeconfig)
import * as eks from "@pulumi/eks";

// Create an EKS cluster with the default configuration.
const cluster = new eks.Cluster("eks-cluster");

// Export the cluster's kubeconfig.
export const kubeconfig = cluster.kubeconfig;
Native cloud providers

Full API coverage for AWS, Azure, Google Cloud, and Kubernetes with same-day updates.

Crosswalk for AWS

Adopt well-architected best practices for your infrastructure easily with the Crosswalk library.

Cloud Native support

Use a single workflow to manage both Kubernetes resources and infrastructure.

Deliver infrastructure through software delivery pipelines

CI/CD Integrations

Version, review, test, and deploy infrastructure code through the same tools and processes used for your application code.

Pulumi infrastructure as code example
Version and review

Manage infrastructure code in Git and approve changes through pull requests.

Shift left

Get rapid feedback on your code with fast unit tests, and run integration tests against ephemeral infrastructure.

Continuous delivery

Integrate your CI/CD provider with Pulumi or use GitOps to manage Kubernetes clusters.

Trusted by thousands

Pulumi’s Infrastructure as Code CLI and SDK is an open-source project that’s supported by an active community. We maintain a public roadmap and welcome feedback and contributions.

350,000+

developers

3,700+

organizations

170+

Cloud and service integrations

Customers innovating with Pulumi Cloud

Supabase

Infrastructure contributors grew from 1-2 people to over 40 active engineers. 80,000+ resources across 16 regions.

Atlassian

Developers reduced their time spent on maintenance by 50%.

Elkjop

Increased developers’ agility and speed through platform engineering.

Starburst

Increased velocity and speed, with deployments that are up to 3x faster.

BMW

Enabled developers to deploy across hybrid cloud environments.

Snowflake

Built a multi-cloud, Kubernetes-based platform to standardize all deployments