124 lines
5.1 KiB
Markdown
124 lines
5.1 KiB
Markdown
---
|
|
title: Libraries for the REST API
|
|
shortTitle: Libraries
|
|
intro: '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.'
|
|
redirect_from:
|
|
- /libraries
|
|
- /v3/libraries
|
|
- /rest/overview/libraries
|
|
- /rest/overview/libraries-for-the-rest-api
|
|
versions:
|
|
fpt: '*'
|
|
ghes: '*'
|
|
ghec: '*'
|
|
topics:
|
|
- 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](/rest/guides/scripting-with-the-rest-api-and-javascript) and [AUTOTITLE](/rest/guides/scripting-with-the-rest-api-and-ruby).
|
|
|
|
* JavaScript: [octokit.js](https://github.com/octokit/octokit.js)
|
|
* Ruby: [octokit.rb](https://github.com/octokit/octokit.rb)
|
|
* .NET: [octokit.net](https://github.com/octokit/octokit.net)
|
|
* Terraform: [terraform-provider-github](https://github.com/integrations/terraform-provider-github)
|
|
|
|
<!-- markdownlint-disable GHD034 -->
|
|
|
|
## 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](https://github.com/clj-commons/tentacles)
|
|
|
|
### Dart
|
|
|
|
* github.dart: [SpinlockLabs/github.dart](https://github.com/SpinlockLabs/github.dart)
|
|
|
|
### Emacs Lisp
|
|
|
|
* gh.el: [sigma/gh.el](https://github.com/sigma/gh.el)
|
|
|
|
### Go
|
|
|
|
* go-github: [google/go-github](https://github.com/google/go-github)
|
|
|
|
### Haskell
|
|
|
|
* haskell-github: [haskell-github/github](https://github.com/fpco/github)
|
|
|
|
### Java
|
|
|
|
* GitHub API for Java, an object oriented representation of the GitHub API: [hub4j/github-api](https://hub4j.github.io/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)](https://github.jcabi.com)
|
|
|
|
### JavaScript
|
|
|
|
* NodeJS GitHub library: [pksunkara/octonode](https://github.com/pksunkara/octonode)
|
|
* Github.js wrapper around the GitHub API: [github-tools/github](https://github.com/github-tools/github)
|
|
* Promise-Based CoffeeScript library for the Browser or NodeJS: [philschatz/github-client](https://github.com/philschatz/github-client)
|
|
|
|
### Julia
|
|
|
|
* GitHub.jl: [JuliaWeb/GitHub.jl](https://github.com/JuliaWeb/GitHub.jl)
|
|
|
|
### OCaml
|
|
|
|
* ocaml-github: [mirage/ocaml-github](https://github.com/mirage/ocaml-github)
|
|
|
|
### Perl
|
|
|
|
* Pithub: [plu/Pithub](https://github.com/plu/Pithub)
|
|
* Net::GitHub: [fayland/perl-net-github](https://github.com/fayland/perl-net-github)
|
|
|
|
### PHP
|
|
|
|
* PHP GitHub API: [KnpLabs/php-github-api](https://github.com/KnpLabs/php-github-api)
|
|
* GitHub Joomla! Package: [joomla-framework/github-api](https://github.com/joomla-framework/github-api)
|
|
* GitHub bridge for Laravel: [GrahamCampbell/Laravel-GitHub](https://github.com/GrahamCampbell/Laravel-GitHub)
|
|
|
|
### PowerShell
|
|
|
|
* PowerShellForGitHub: [microsoft/PowerShellForGitHub](https://github.com/microsoft/PowerShellForGitHub)
|
|
|
|
### Python
|
|
|
|
* gidgethub: [gidgethub/gidgethub](https://github.com/gidgethub/gidgethub)
|
|
* ghapi: [fastai/ghapi](https://github.com/fastai/ghapi)
|
|
* PyGithub: [PyGithub/PyGithub](https://github.com/PyGithub/PyGithub)
|
|
* libsaas: [duckboard/libsaas](https://github.com/ducksboard/libsaas)
|
|
* github3.py: [sigmavirus24/github3.py](https://github.com/sigmavirus24/github3.py)
|
|
* agithub: [mozilla/agithub](https://github.com/mozilla/agithub)
|
|
* github-flask: [github-flask (Official Website)](http://github-flask.readthedocs.org)
|
|
* githubkit: [yanyongyu/githubkit](https://github.com/yanyongyu/githubkit)
|
|
* octokit.py: [khornberg/octokit.py](https://github.com/khornberg/octokit.py)
|
|
|
|
### Ruby
|
|
|
|
* GitHub API Gem: [piotrmurach/github](https://github.com/piotrmurach/github)
|
|
|
|
### Rust
|
|
|
|
* Octocrab: [XAMPPRocky/octocrab](https://github.com/XAMPPRocky/octocrab)
|
|
|
|
### Scala
|
|
|
|
* Github4s: [47deg/github4s](https://github.com/47deg/github4s)
|
|
|
|
### Shell
|
|
|
|
* ok.sh: [whiteinge/ok.sh](https://github.com/whiteinge/ok.sh)
|