{"id":16804379,"url":"https://github.com/yanyongyu/githubkit","last_synced_at":"2026-04-04T13:27:44.724Z","repository":{"id":47547515,"uuid":"512138996","full_name":"yanyongyu/githubkit","owner":"yanyongyu","description":"The modern, all-batteries-included GitHub SDK for Python, including rest api, graphql, webhooks, like octokit!","archived":false,"fork":false,"pushed_at":"2026-04-04T03:57:30.000Z","size":61479,"stargazers_count":327,"open_issues_count":5,"forks_count":39,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-04T05:26:59.403Z","etag":null,"topics":["async","github","github-api","github-sdk","httpx","octokit","pydantic","python","sync"],"latest_commit_sha":null,"homepage":"https://yanyongyu.github.io/githubkit/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yanyongyu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"custom":["https://afdian.com/@devnull"]}},"created_at":"2022-07-09T08:55:35.000Z","updated_at":"2026-04-04T03:57:36.000Z","dependencies_parsed_at":"2023-12-06T04:24:22.459Z","dependency_job_id":"0ea305ff-0d37-47d6-abac-67d187f920ed","html_url":"https://github.com/yanyongyu/githubkit","commit_stats":{"total_commits":354,"total_committers":18,"mean_commits":"19.666666666666668","dds":"0.15536723163841804","last_synced_commit":"ea97b3a9102bbeb550b3446a54b9436d2b522998"},"previous_names":[],"tags_count":90,"template":false,"template_full_name":"yanyongyu/python-poetry-template","purl":"pkg:github/yanyongyu/githubkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanyongyu%2Fgithubkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanyongyu%2Fgithubkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanyongyu%2Fgithubkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanyongyu%2Fgithubkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yanyongyu","download_url":"https://codeload.github.com/yanyongyu/githubkit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanyongyu%2Fgithubkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31402266,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["async","github","github-api","github-sdk","httpx","octokit","pydantic","python","sync"],"created_at":"2024-10-13T09:44:55.521Z","updated_at":"2026-04-04T13:27:44.706Z","avatar_url":"https://github.com/yanyongyu.png","language":"Python","readme":"\u003c!-- markdownlint-disable MD041 --\u003e\n\u003cdiv align=\"center\"\u003e\n\n[![githubkit](https://socialify.git.ci/yanyongyu/githubkit/image?description=1\u0026descriptionEditable=%E2%9C%A8%20GitHub%20SDK%20for%20Python%20%E2%9C%A8\u0026font=Bitter\u0026language=1\u0026pattern=Circuit%20Board\u0026theme=Light)](https://github.com/yanyongyu/githubkit)\n\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://raw.githubusercontent.com/yanyongyu/githubkit/master/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/yanyongyu/githubkit\" alt=\"license\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://pypi.python.org/pypi/githubkit\"\u003e\n    \u003cimg src=\"https://img.shields.io/pypi/v/githubkit?logo=python\u0026logoColor=edb641\" alt=\"pypi\"\u003e\n  \u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/python-3.8+-blue?logo=python\u0026logoColor=edb641\" alt=\"python\"\u003e\n  \u003ca href=\"https://github.com/psf/black\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/code%20style-black-000000.svg?logo=python\u0026logoColor=edb641\" alt=\"black\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/Microsoft/pyright\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/types-pyright-797952.svg?logo=python\u0026logoColor=edb641\" alt=\"pyright\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/astral-sh/ruff\"\u003e\n    \u003cimg src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json\" alt=\"ruff\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://results.pre-commit.ci/latest/github/yanyongyu/githubkit/master\"\u003e\n    \u003cimg src=\"https://results.pre-commit.ci/badge/github/yanyongyu/githubkit/master.svg\" alt=\"pre-commit\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003c!-- markdownlint-capture --\u003e\n\u003c!-- markdownlint-disable MD036 --\u003e\n\n_✨ The modern, all-batteries-included GitHub SDK for Python ✨_\n\n_✨ Support both **sync** and **async** calls, **fully typed** ✨_\n\n_✨ Always up to date, like octokit ✨_\n\n\u003c!-- markdownlint-restore --\u003e\n\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://yanyongyu.github.io/githubkit/\"\u003e\u003cb\u003eDocumentation\u003c/b\u003e\u003c/a\u003e |\n  \u003ca href=\"https://github.com/yanyongyu/githubkit/issues\"\u003e\u003cb\u003eReport Bug\u003c/b\u003e\u003c/a\u003e |\n  \u003ca href=\"https://docs.github.com/\"\u003e\u003cb\u003eGitHub Docs\u003c/b\u003e\u003c/a\u003e\n\u003c/p\u003e\n\ngithubkit aims to be an easy-to-use, fully typed, and always up-to-date GitHub SDK for Python. It is inspired by [octokit](https://github.com/octokit).\n\ngithubkit provides several features including:\n\n- Support both sync and async calls\n- Multiple authentication ways and OAuth flow support\n- Calling REST API and GraphQL easily\n- REST API versioning, including GHEC\n- Built-in pagination support\n- Optional data validation with [Pydantic](https://docs.pydantic.dev/latest/), for both webhook events and REST API responses\n- Built-in http cache (powered by [Hishel](https://hishel.com/) for HTTPX) and auto retry\n- Lazy loading of APIs and models\n- Fully typed APIs\n\n## Getting Started\n\nFor more, see the [documentation](https://yanyongyu.github.io/githubkit).\n\n### Installation\n\nInstall githubkit with the package manager of your choice:\n\n```bash\npip install githubkit\n# or, use poetry\npoetry add githubkit\n# or, use pdm\npdm add githubkit\n# or, use uv\nuv add githubkit\n```\n\n### Usage\n\nCreate a [Personal Access Token (PAT)](https://github.com/settings/personal-access-tokens/new) and use it to create a `GitHub` instance:\n\n```python\nfrom githubkit import GitHub\n\ngithub = GitHub(\"\u003cyour_token_here\u003e\")\n```\n\nThen, enjoy githubkit now!\n\n```python\nfrom githubkit import Response\nfrom githubkit.versions.latest.models import FullRepository\n\nresp: Response[FullRepository] = github.rest.repos.get(\"owner\", \"repo\")\nrepo: FullRepository = resp.parsed_data\nprint(repo.full_name)\n```\n\n## Development\n\nSee the [development](https://yanyongyu.github.io/githubkit/contributing/) in the contributing guide.\n\n## Contributors\n\nThanks to the following people who have contributed to this project:\n\n\u003ca href=\"https://github.com/yanyongyu/githubkit/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=yanyongyu/githubkit\u0026max=1000\" alt=\"contributors\" /\u003e\n\u003c/a\u003e\n","funding_links":["https://afdian.com/@devnull"],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyanyongyu%2Fgithubkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyanyongyu%2Fgithubkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyanyongyu%2Fgithubkit/lists"}