pulumi-azure
A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.
What it is and what it does
Pulumi-azure is a resource provider that bridges Pulumi's infrastructure-as-code framework with Microsoft Azure, letting you define Azure resources in Python code rather than through the Azure portal or templates. It wraps the Terraform azurerm provider, exposing Azure services like compute, storage, key vault, and databases as strongly-typed Python objects. You write Python functions that declare what infrastructure you want, then Pulumi handles the provisioning and lifecycle management.
The package is explicitly positioned as the Classic provider—the description recommends Azure Native for new projects because Native has broader resource coverage and faster access to new Azure features. Azure Classic remains fully supported for existing deployments but receives new features more slowly. It depends on pulumi as its core orchestration engine, plus parver and semver for version constraint handling, and typing-extensions for runtime type support.
Use it for:
- Define and deploy Azure infrastructure (VMs, databases, networking) using Python code instead of ARM templates or portal clicks
- Manage existing Azure Classic deployments and updates through version-controlled infrastructure code
- Integrate Azure resource provisioning into CI/CD pipelines as part of application deployment workflows
- Reuse infrastructure patterns across projects by writing Python functions that generate common Azure configurations
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Pulumi provider for Azure Classic that lets you define and manage Azure cloud resources programmatically using Python, alongside parver, semver, and typing-extensions for version handling.
Yes, if you are maintaining existing Azure Classic infrastructure or prefer Python-based infrastructure-as-code with Pulumi. No, if starting a new Azure project—the package's own documentation recommends Azure Native instead for new deployments. Install friction is low and maintenance is active, but verify that Classic's slower feature velocity meets your resource and timeline needs.
Install
pulumi-azure on PyPI
pip
pip install pulumi-azureuv
uv add pulumi-azurepoetry
poetry add pulumi-azureInstalling pulumi-azure
Before you install
Low install friction with a pure-Python wheel distribution. Active maintenance with a release 31 days ago and ongoing repository activity. Requires Python 3.9 or later.
License in practice
Licensed under Apache-2.0 (permissive), allowing use in commercial and open-source projects with minimal restrictions beyond attribution and liability disclaimers.
Quickstart
pip install pulumi-azure
import pulumi
import pulumi_azure as azure
# Create an Azure resource group
resource_group = azure.core.ResourceGroup('my-rg',
location='eastus')
Requires Pulumi CLI to be installed separately and Azure credentials configured (via environment variables, Azure CLI, or managed identity)
Verify before relying
- Whether Azure Classic resource coverage meets your specific infrastructure needs compared to Azure Native provider
- Performance characteristics and deployment speed for large-scale infrastructure
- Community support and third-party tooling ecosystem maturity
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 — 31 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 206,620/month — #9,567 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pulumi_azure-6.39.0-py3-none-any.whl
Keywords: pulumi, azure
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
pulumiPulumi's Python SDK lets you define and deploy…
permissive · top 5,000 on PyPI
pulumi-azure-nativeProvides Python bindings to create and manage…
permissive · top 15,000 on PyPI
pulumi-aws-nativePulumi AWS Cloud Control Provider enables…
permissive · top 15,000 on PyPI
pulumi-kubernetesPulumi Kubernetes Resource Provider lets you…
permissive · top 5,000 on PyPI
pulumi-google-nativePulumi provider for provisioning Google Cloud…
permissive · top 15,000 on PyPI
pulumi-gcpPulumi resource provider for Google Cloud…
permissive · top 5,000 on PyPI
pulumi-azureadPulumi provider for Azure Active Directory that…
permissive · top 15,000 on PyPI
pulumi-dockerPulumi provider for managing Docker resources…
permissive · top 5,000 on PyPI
pulumi-databricksA Pulumi resource provider that lets you…
permissive · top 15,000 on PyPI
pulumi-tlsPulumi resource provider for creating and…
permissive · top 5,000 on PyPI