GitHub - yanyongyu/githubkit: The modern, all-batteries-included GitHub SDK for Python, including rest api, graphql, webhooks, like octokit! (original) (raw)
✨ The modern, all-batteries-included GitHub SDK for Python ✨
✨ Support both sync and async calls, fully typed ✨
✨ Always up to date, like octokit ✨
Documentation |Report Bug |GitHub Docs
githubkit aims to be an easy-to-use, fully typed, and always up-to-date GitHub SDK for Python. It is inspired by octokit.
githubkit provides several features including:
- Support both sync and async calls
- Multiple authentication ways and OAuth flow support
- Calling REST API and GraphQL easily
- REST API versioning, including GHEC
- Built-in pagination support
- Optional data validation with Pydantic, for both webhook events and REST API responses
- Built-in http cache (powered by Hishel for HTTPX) and auto retry
- Lazy loading of APIs and models
- Fully typed APIs
Getting Started
For more, see the documentation.
Installation
Install githubkit with the package manager of your choice:
pip install githubkit
or, use poetry
poetry add githubkit
or, use pdm
pdm add githubkit
or, use uv
uv add githubkit
Usage
Create a Personal Access Token (PAT) and use it to create a GitHub
instance:
from githubkit import GitHub
github = GitHub("")
Then, enjoy githubkit now!
from githubkit import Response from githubkit.versions.latest.models import FullRepository
resp: Response[FullRepository] = github.rest.repos.get("owner", "repo") repo: FullRepository = resp.parsed_data print(repo.full_name)
Development
See the development in the contributing guide.
Contributors
Thanks to the following people who have contributed to this project: