pulumi-github
A Pulumi package for creating and managing github cloud resources.
What it is and what it does
pulumi-github is a Pulumi resource provider that bridges Python infrastructure-as-code programs to GitHub's API, letting you declare and manage GitHub resources (repositories, teams, branch protections, workflows, and more) as code rather than through the web UI. It wraps the GitHub API behind Pulumi's declarative model, so you define the desired state in Python and Pulumi handles the creation, updates, and deletions.
The package depends on pulumi (the core framework), parver and semver (for version handling), and typing-extensions for type hints. It requires Python >=3.9 and the Pulumi CLI to be installed separately. Authentication happens through GitHub personal access tokens passed via environment variables or Pulumi configuration, with optional support for GitHub Enterprise via custom base URLs.
Use it for:
- Provision and manage multiple GitHub repositories, teams, and permissions as part of a larger infrastructure deployment
- Automate GitHub branch protection rules, required status checks, and code review policies across an organization
- Define GitHub Actions workflows and repository settings alongside compute and networking infrastructure in a single Pulumi program
- Replicate GitHub organization structure and repository configurations across staging and production environments
- Integrate GitHub resource management into CI/CD pipelines that already use Pulumi for other cloud resources
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Pulumi provider for GitHub that lets you define and manage GitHub resources (repositories, teams, workflows, etc.) as infrastructure code using Python.
Yes, if you are already using Pulumi and need to manage GitHub resources as code. The package is actively maintained, has no known vulnerabilities, installs with low friction, and supports current Python versions. Install only after setting up the Pulumi CLI and having a GitHub personal access token ready.
Install
pulumi-github on PyPI
pip
pip install pulumi-githubuv
uv add pulumi-githubpoetry
poetry add pulumi-githubInstalling pulumi-github
Before you install
Low install friction with a pure-Python wheel. Actively maintained with a release on 2026-08-14 and no known vulnerabilities. Requires Pulumi CLI to be installed separately before use.
License in practice
Apache-2.0 permissive license allows commercial use, modification, and distribution with minimal restrictions.
Quickstart
pip install pulumi-github
import pulumi
import pulumi_github as github
repo = github.Repository('my-repo', description='My repository')
Pulumi CLI must be installed first; requires Python >=3.9; GitHub authentication token or credentials must be configured via environment variables or Pulumi configuration.
Verify before relying
- Exact scope of GitHub resources supported (repositories, teams, workflows, etc.) beyond the excerpt's examples
- Whether GitHub Enterprise Server is fully supported or has known limitations
- Performance characteristics when managing large numbers of GitHub resources
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 — 0 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 250,975/month — #8,606 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pulumi_github-6.15.0-py3-none-any.whl
Keywords: pulumi, github
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
pulumi-auth0A Pulumi resource provider that lets you…
permissive · top 15,000 on PyPI
pulumi-dockerPulumi provider for managing Docker resources…
permissive · top 5,000 on PyPI
pulumi-gitlabPulumi provider for GitLab that lets you define…
permissive · top 15,000 on PyPI
pulumi-tailscaleA Pulumi resource provider that lets you…
permissive · top 15,000 on PyPI
pulumi-gcpPulumi resource provider for Google Cloud…
permissive · top 5,000 on PyPI
pulumi-awsPulumi AWS provider for Python that lets you…
permissive · top 5,000 on PyPI
pulumi-pagerdutyA Pulumi resource provider that lets you…
permissive · top 15,000 on PyPI
pulumi-commandExecutes commands and scripts locally or…
permissive · top 5,000 on PyPI
pulumi-postgresqlPulumi resource provider for declaring and…
permissive · top 15,000 on PyPI
pulumiverse-grafanaA Pulumi resource provider that lets you create…
permissive · top 15,000 on PyPI