skillfed

gidgethub

An async GitHub API library

gidgethub v5.4.0 618.8K downloads/30d#5,732 on PyPI417
Permissive license Apache Active released

What it is and what it does

Gidgethub is a sans-I/O asynchronous library for the GitHub API that separates GitHub protocol logic from HTTP transport. It provides a base library that handles GitHub-specific details without doing any I/O itself, letting you plug in whatever async HTTP client you prefer. On top of that base, it offers an abstract base class and concrete implementations for immediate usage.

The library is designed for developers who want to automate GitHub workflows, build bots, or integrate GitHub data into applications. It requires Python 3.8 or later and depends only on uritemplate and PyJWT for URL templating and JWT token handling. With 417 stars and active maintenance, it's a stable choice for GitHub API integration in async Python applications.

Use it for:

  • Build GitHub bots that respond to webhooks and automate repository management tasks
  • Fetch repository metadata, issues, pull requests, and other GitHub data for analysis or reporting
  • Automate CI/CD workflows by creating checks, updating statuses, or managing releases via the GitHub API
  • Integrate GitHub events into monitoring or notification systems that need async I/O
  • Develop tools that interact with multiple repositories programmatically

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Gidgethub is an asynchronous GitHub API library that handles GitHub-specific protocol details without performing I/O itself, letting you choose your HTTP client.

Yes. Gidgethub is a stable, actively maintained library with low install friction and permissive licensing. It's well-suited for async Python applications that need to interact with the GitHub API. The sans-I/O design gives you flexibility to choose your HTTP client. No known vulnerabilities and broad Python version support (3.8–3.13) make it a reliable choice.

Install

gidgethub on PyPI

pip

pip install gidgethub

uv

uv add gidgethub

poetry

poetry add gidgethub

Installing gidgethub

Before you install

Low install friction with only two runtime dependencies (uritemplate and PyJWT). Active maintenance with a recent commit on 2026-06-03 and stable production status.

License in practice

Licensed under Apache (permissive), so you can use it freely in commercial and open-source projects without viral obligations.

Quickstart

pip install gidgethub

import gidgethub
# Use gidgethub with your chosen async HTTP library

Requires Python 3.8 or later; you must also install an async HTTP library to use gidgethub's concrete implementations.

Verify before relying

  • Which async HTTP libraries have concrete implementations provided by gidgethub
  • Specific GitHub API endpoints and features covered by the library
  • Whether the sans-I/O base library can be used independently of concrete implementations

Package facts

License Apache (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 2 — uritemplate, PyJWT
Maintenance actively maintained — 437 days since the last release
Last repo commit
First released
Downloads 618,787/month — #5,732 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: gidgethub-5.4.0-py3-none-any.whl

Keywords: github, sans-io, async

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

github api clientasync github librarysans-io githubgithub rest api pythongithub automationgithub api wrappergithub integration
github-apiasyncsans-io

More WWW/HTTP packages