5.1 KiB
title, shortTitle, intro, redirect_from, versions, topics
| title | shortTitle | intro | redirect_from | versions | topics | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Libraries for the REST API | Libraries | You can use the official Octokit libraries and other third-party libraries to extend and simplify how you use the {% data variables.product.company_short %} API. |
|
|
|
About libraries
You can use libraries to extend and simplify the way your application interacts with {% data variables.product.company_short %}'s API. Each library provides pre-built code for a specific programming language. After integrating a library into your project, you can use the pre-built code modules to interact with {% data variables.product.company_short %}'s API via a specific programming language.
{% data variables.product.company_short %} maintains official Octokit libraries for some languages. There are also third-party libraries that you can use with {% data variables.product.company_short %}'s API, which are not maintained by {% data variables.product.company_short %}.
Official {% data variables.product.company_short %} libraries
{% data variables.product.company_short %} maintains these official client libraries for the {% data variables.product.company_short %} API. These repositories are open source, and community contributions are welcome.
For more information, see AUTOTITLE and AUTOTITLE.
- JavaScript: octokit.js
- Ruby: octokit.rb
- .NET: octokit.net
- Terraform: terraform-provider-github
Third-party libraries
The following are examples of third-party libraries that you can use to interact with the {% data variables.product.company_short %} API in various programming languages.
These third-party libraries are not maintained by {% data variables.product.company_short %}. Libraries provided by third parties are governed by separate terms of service, privacy policy, and support documentation.
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, an object oriented representation of the GitHub API: hub4j/github-api
- JCabi GitHub API, based on Java7 JSON API (JSR-353), simplifies tests with a runtime GitHub stub, and covers the entire API: github.jcabi.com (Personal Website)
JavaScript
- NodeJS GitHub library: pksunkara/octonode
- Github.js wrapper around the GitHub API: github-tools/github
- Promise-Based CoffeeScript library for the Browser or 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! Package: 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 (Official Website)
- 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