An async GitHub API library

github, sans-io, async, python, twisted, aiohttp, tornado, treq, httpx
pip install gidgethub==5.0.1



An asynchronous GitHub API library.

Development status Documentation Status


Gidgethub is available on PyPI.

python3 -m pip install gidgethub

Gidgethub requires Python version 3.6 and up.


The key goal is to provide a base library for the GitHub API which performs no I/O of its own (a sans-I/O library). This allows users to choose whatever HTTP library they prefer while parceling out GitHub-specific details to this library. This base library is then built upon to provide an abstract base class to a cleaner API to work with. Finally, implementations of the abstract base class are provided for asynchronous HTTP libraries for immediate usage.

Alternative libraries

If you think you want a different approach to the GitHub API, GitHub maintains a list of libraries.

Aside: what's with the name?

I couldn't think of a good name that was somehow a play on "GitHub" or somehow tied into Monty Python. And so I decided to play off of GitHub's octocat mascot and use my own cat's name, Gidget, in some way. Since "Gidget" somewhat sounds like "git", I decided to go with "gidgethub".


See the documentation for the full changelog.