You can use libraries to extend and simplify the way your application interacts with GitHub'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 GitHub's API via a specific programming language.
GitHub maintains official Octokit libraries for some languages. There are also third-party libraries that you can use with GitHub's API, which are not maintained by GitHub.
GitHub maintains these official client libraries for the GitHub API. These repositories are open source, and community contributions are welcome.
The following are examples of third-party libraries that you can use to interact with the GitHub API in various programming languages.
- Tentacles: clj-commons/tentacles
- github.dart: SpinlockLabs/github.dart
- gh.el: sigma/gh.el
- go-github: google/go-github
- haskell-github: haskell-github/github
- GitHub API for Java, an object oriented representation of the GitHub API: org.kohsuke.github (From 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)
- 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
- GitHub.jl: JuliaWeb/GitHub.jl
- ocaml-github: mirage/ocaml-github
- PHP GitHub API: KnpLabs/php-github-api
- GitHub Joomla! Package: joomla-framework/github-api
- GitHub bridge for Laravel: GrahamCampbell/Laravel-GitHub
- PowerShellForGitHub: microsoft/PowerShellForGitHub
- 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
- GitHub API Gem: piotrmurach/github
- Github4s: 47deg/github4s
- ok.sh: whiteinge/ok.sh