Skip to main content

gidgethub

An asynchronous GitHub API library.

Development status

https://travis-ci.org/brettcannon/gidgethub.svg?branch=master https://codecov.io/gh/brettcannon/gidgethub/branch/master/graph/badge.svg Documentation Status

Installation

Gidgethub is available on PyPI.

python3 -m pip install gidgethub

Goals

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 as a theme and use my cat’s name, Gidget, as part of the name. Since “Gidget” somewhat sounds like “git”, I decided to go with “gidgethub”.

Changelog

2.4.0

  • Expand gidgethub.routing.Router.dispatch().

2.3.0

  • Add support for application/x-www-form-urlencoded webhook event payloads. (This also allows for API calls to return this content type, although GitHub currently does not do that.)

  • Introduce gidgethub.routing to help route webhook events to registered asynchronous callbacks.

  • Add type hints.

  • Add a cache argument to gidgethub.abc.GitHubAPI.

2.2.0

  • Introduce gidgethub.tornado to support Tornado (thanks to Matthias Bussonnier and A. Jesse Jiryu Davis for the PR reviews).

2.1.0

  • The default value for the data argument of gidgethub.abc.GitHubAPI.put() was changed from "" to b"".

  • All type hints were removed (due to mypy not supporting yield in an async function, they were not being tested as being valid).

2.0.0

  • Renamed gidgethub.abc._sleep() to sleep() to make the method public.

  • Renamed the “test” extra to “tests” and added the “dev” extra.

  • Introduced the RateLimitExceeded exception.

  • Methods on GitHubAPI no longer automatically sleep when it’s possible that the call will exceed the user’s rate limit (it’s now up to the user to prevent from going over the rate limit).

  • Made the [treq] install extra depend on Twisted[tls].

1.2.0

  • gidgethub.sansio.Event.from_http() raises a BadRequest of 415 instead of 400 when a content-type other than application/json is provided.

  • More robustly decode the body in gidgethub.sansio.Event.from_http() (i.e. if the content-type doesn’t specify charset, assume UTF-8).

  • Changed the signature of gidgethub.sansio.Event to accept Any for the data argment.

  • Fixed signature verification

1.1.0

  • Introduced gidgethub.treq (thanks to Cory Benfield).

1.0.0

Initial release

Metadata

Release files for gidgethub 2.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gidgethub 2.4.0
File Size Uploaded
gidgethub-2.4.0.zip 27.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gidgethub 2.4.0
File Interpreter ABI Platform
gidgethub-2.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 53.4 kB

Release files / gidgethub-2.4.0.zip

Download URL gidgethub-2.4.0.zip
Size 27.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8f6ffcde9bfac55b5207ab8fa12702eeb5a4922e358e3075cb7792028cfe5399
BLAKE2b-256 checksum
How to use checksums
c01cd64ba40c1826565cc960b2cdc3586ed5f99feffa6f549bb08b2e74a391d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / gidgethub-2.4.0-py3-none-any.whl

Download URL gidgethub-2.4.0-py3-none-any.whl
Size 25.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6aeeed4f7a926af5164371980482d50d4be38ab09cf6c524969138a65bd3ffd6
BLAKE2b-256 checksum
How to use checksums
d281e039286e5e93b2bc0542e6352b996b92c271b468991c9e4007d40e12994f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

6.0.0

2 release files

5.4.0

2 release files

5.3.0

2 release files

5.2.1

2 release files

5.2.0

2 release files

5.1.0

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.2.0

2 release files

4.1.1

2 release files

4.1.0

2 release files

4.0.0

2 release files

3.3.0

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.5.0

2 release files

2.4.1

2 release files

This release

2.4.0 This release

2 release files

2.3.0

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page