gidgethub
An async GitHub API library
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.8 or later; you must also install an async HTTP library to use gidgethub's concrete implementations.
- 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 · maintenance · safety
Apache (permissive) — Licensed under Apache (permissive), so you can use it freely in commercial and open-source projects without viral obligations.
last release 2025-06-03 (437 days) · last repo commit 2026-06-03 · 417 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 618,787 downloads/mo, #5,732 on PyPI
Alternatives
Verify before relying
pip install gidgethub
import gidgethub
# Use gidgethub with your chosen async HTTP library- 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
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 on it.
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
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.
Requires Python 3.8 or later; you must also install an async HTTP library to use gidgethub's concrete implementations.
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
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 packagesuritemplatePyJWT |
| 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 |
| Classifiers | 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 |
Evidence: gidgethub-5.4.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “async github library”
- gidgethubGidgethub is an asynchronous GitHub API library that handles…
- aiogithubapiAsynchronous Python client library for interacting with the GitHub…
- GitHubKitA fully typed Python SDK for GitHub's REST and GraphQL APIs with…
Give your agent the search over MCP, or paste the wish link into any chat.
More WWW/HTTP packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
HTTPX is a fully featured HTTP client library for Python that provides both sync and async APIs, with support for HTTP/1.1 and HTTP/2, plus an integrated command-line client.
Install it if you are building new projects or modernizing existing ones that rely on HTTP.
A minimal low-level HTTP client library that sends HTTP requests with thread-safe and task-safe connection pooling, supporting HTTP/1.1, HTTP/2, proxies, and both sync and async interfaces.
aiohttp is an async HTTP client and server framework built on asyncio, supporting both WebSockets and middleware-based routing for building concurrent web applications.
Install it if you need async HTTP client or server capabilities in asyncio-based applications.
See also ghapi · agithub · socksio · websockets · meross-iot · aiogithubapi · pyairtable · trio-websocket · PyGithub · github-action-utils