pulumi/pulumi
Packages
The language SDKs that user programs link against. Each SDK exposes the gRPC ResourceMonitor interface in idiomatic form for its language: a class to extend (Resource, ComponentResource), a future-like value (Output<T>), and the runtime infrastructure to talk to the engine.
Sub-pages
- Go SDK —
sdk/go/ - Node.js / TypeScript SDK —
sdk/nodejs/ - Python SDK —
sdk/python/ - PCL package —
sdk/pcl/
Active contributors
Active contributors: Ian Wahbe, Thomas Gummerer, Julien, Fraser Ashyggton, Justin Van Patten
Common shape
Every SDK in this repo follows the same architecture:
graph TD
UserProg[User program] -->|imports| SDK[Language SDK]
SDK --> Resource[Resource type]
SDK --> Output[Output<T>]
SDK --> Runtime[Runtime: gRPC client to ResourceMonitor]
Runtime -.->|gRPC| Engine[pulumi engine]Every SDK exposes the same conceptual surface — Output<T>, Input<T>, Resource, ComponentResource, Config, StackReference, getStack, getProject, getOrganization — but with idiomatic spellings.
Cross-language conformance
scripts/run-conformance.sh runs a shared test suite against every language. The harness drives small Pulumi programs in each language and asserts identical behavior — same outputs, same diffs, same step ordering for equivalent inputs. New SDK features must pass the conformance suite before being declared "supported".
SDKs that don't live here
| Language | Repo |
|---|---|
| .NET (C#/F#/VB.NET) | pulumi/pulumi-dotnet |
| Java | pulumi/pulumi-java |
| YAML | pulumi/pulumi-yaml |
These follow the same shape but are versioned independently.
Versioning
The SDK version is in sdk/.version (currently 3.234.0). It is bumped together with the engine version: a pulumi/pulumi release ships a CLI, a set of language hosts, and a set of SDKs that all agree on the protobuf schema.
See also
- Apps: language hosts — the host-side counterpart of each SDK.
- Primitives: inputs and outputs — the type system shared across SDKs.
- Primitives: resources and URNs.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.