关于库
您可以使用库来扩展和简化应用程序与 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
- GitHub API for Java,GitHub API 的面向对象表示:hub4j/github-api
- JCabi GitHub API,基于 Java7 JSON API(JSR-353),通过运行时 GitHub 存根简化测试,并覆盖完整的 API:github.jcabi.com(个人网站)
JavaScript
- NodeJS GitHub 库:pksunkara/octonode
- Github.js,GitHub API 的包装器:github-tools/github
- 基于 Promise 的 CoffeeScript 库,适用于浏览器或 NodeJS: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
- Laravel 的 GitHub 桥接: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
Scala
- Github4s:47deg/github4s
Shell
- ok.sh:whiteinge/ok.sh