库简介
可以使用库来扩展和简化应用程序与 GitHub API 交互的方式。 每个库都为特定编程语言提供预生成的代码。 将库集成到项目中后,可以使用预生成的代码模块通过特定编程语言与 GitHub API 交互。
GitHub 负责维护某些语言的官方 Octokit 库。 还有第三方库可与 GitHub 的 API 一起使用,GitHub 不负责维护这些库。
官方 GitHub 库
GitHub 负责维护 GitHub API 的这些官方客户端库。 这些存储库为开放源代码,欢迎社区贡献。
有关详细信息,请参阅“使用 REST API 和 JavaScript 编写脚本”和“使用 REST API 和 Ruby 编写脚本”。
- JavaScript:octokit.js
- Ruby:octokit.rb
- .NET:octokit.net
- Terraform:terraform-provider-github
第三方库
以下是可用于以各种编程语言与 GitHub API 进行交互的第三方库示例。
GitHub 不负责维护这些第三方库。 第三方提供的库受单独的服务条款、隐私政策和支持文档管辖。
Clojure
- Tentacles:clj-commons/tentacles
Dart
- github.dart:SpinlockLabs/github.dart
Emacs Lisp
- gh.el:sigma/gh.el
Go
- go-github:google/go-github
Haskell
- haskell-github:haskell-github/github
Java
- 适用于 Java 的 GitHub API,GitHub API 的面向对象的表示形式:org.kohsuke.github(在 github-api 中)
- JCabi GitHub API,基于 Java7 JSON API (JSR-353),可简化使用运行时 GitHub stub 的测试,并覆盖整个API:github.jcabi.com(个人网站)
JavaScript
- NodeJS GitHub 库:pksunkara/octonode
- 关于 GitHub API 的 Github.js 包装器:github-tools/github
- 适用于 Browser 或 NodeJS 的基于 Promise 的 CoffeeScript 库:philschatz/github-client
Julia
- GitHub.jl: JuliaWeb/GitHub.jl
OCaml
- ocaml-github: mirage/ocaml-github
Perl
- Pithub:plu/Pithub
- Net::GitHub:fayland/perl-net-github
PHP
- PHP GitHub API:KnpLabs/php-github-api
- GitHub Joomla! 包:joomla-framework/github-api
- GitHub bridge for Laravel:GrahamCampbell/Laravel-GitHub
PowerShell
- PowerShellForGitHub:microsoft/PowerShellForGitHub
Python
- gidgethub:gidgethub/gidgethub
- ghapi:fastai/ghapi
- PyGithub:PyGithub/PyGithub
- libsaas:duckboard/libsaas
- github3.py:sigmavirus24/github3.py
- agithub:mozilla/agithub
- github-flask:github-flask(官方网站)
- githubkit:yanyongyu/githubkit
- octokit.py:khornberg/octokit.py
Ruby
- GitHub API Gem:piotrmurach/github
Rust
- Octocrab:XAMPPRocky/octocrab
- Octocat:octocat-rs/octocat-rs
Scala
- Github4s:47deg/github4s
Shell
- ok.sh:whiteinge/ok.sh