关于库
您可以使用库来扩展和简化您的应用程序与 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 表示:org.kohsuke.github (来自 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
- Octocat: octocat-rs/octocat-rs
Scala
- Github4s: 47deg/github4s
Shell
- ok.sh: whiteinge/ok.sh