open-consul/website/content/api-docs/libraries-and-sdks.mdx

143 lines
4.5 KiB
Plaintext

---
layout: api
page_title: Libraries and SDKs - HTTP API
description: |-
There are many third-party libraries for interacting with Consul's HTTP API.
This page lists the HashiCorp and community-maintained Consul HTTP API client
libraries.
---
# Client Libraries & SDKs
The programming libraries listed on this page can be used to consume the API
more conveniently. Some are officially maintained while others are provided by
the community.
<ul>
<li>
<a href="https://github.com/hashicorp/consul/tree/main/api">api</a> -
Official Go client for the Consul HTTP API
</li>
<li>
<a href="https://github.com/gmr/consulate">consulate</a> - Python client for
the Consul HTTP API
</li>
<li>
<a href="https://github.com/cablehead/python-consul">python-consul</a> -
Python client for the Consul HTTP API (unmaintained)
</li>
<li>
<a href="https://github.com/poppyred/python-consul2">python-consul2</a> -
Python client for the Consul HTTP API (currently maintained)
</li>
<li>
<a href="https://github.com/vdloo/consul-kv">consul-kv</a> - Python 3 client
for the Consul KV-store
</li>
<li>
<a href="https://github.com/sensiolabs/consul-php-sdk">consul-php-sdk</a> -
PHP client for the Consul HTTP API
</li>
<li>
<a href="https://github.com/dcarbone/php-consul-api">php-consul-api</a> -
GO-like PHP Client for the Consul HTTP API
</li>
<li>
<a href="https://github.com/tolitius/envoy">envoy</a> - Consul Clojure
client with watchers and other goodies
</li>
<li>
<a href="https://github.com/hadielmougy/clj-consul-catalog">
clj-consul-catalog
</a>{' '}
- Clojure discovery client for the Consul HTTP API
</li>
<li>
<a href="https://github.com/getnelson/helm">helm</a> - A native Scala client
for interacting with Consul
</li>
<li>
<a href="https://github.com/rickfast/consul-client">consul-client</a> - Java
client for the Consul HTTP API
</li>
<li>
<a href="https://github.com/Ecwid/consul-api">consul-api</a> - Java client
for the Consul HTTP API
</li>
<li>
<a href="http://cloud.spring.io/spring-cloud-consul/">
Spring Cloud Consul
</a>{' '}
- Consul integration for{' '}
<a href="https://projects.spring.io/spring-boot/">Spring Boot</a>{' '}
applications (Uses
<a href="https://github.com/Ecwid/consul-api">consul-api</a> internally)
</li>
<li>
<a href="https://github.com/vert-x3/vertx-consul-client">
vertx-consul-client
</a>{' '}
- Vert.x client for the Consul HTTP API
</li>
<li>
<a href="https://github.com/undeadlabs/discovery">discovery</a> - Erlang/OTP
client for the Consul HTTP API
</li>
<li>
<a href="https://github.com/WeAreFarmGeek/diplomat">diplomat</a> - Ruby
library to query Consul's KV-store and services directory
</li>
<li>
<a href="https://www.npmjs.com/package/consul">node-consul</a> - Node.js
client for the Consul HTTP API
</li>
<li>
<a href="https://www.nuget.org/packages/Consul">Consul.NET</a> - C# client
for the Consul HTTP API
</li>
<li>
<a href="https://metacpan.org/pod/Consul">Consul</a> - Perl client for the
Consul HTTP API
</li>
<li>
<a href="https://github.com/Drawaes/CondenserDotNet">CondenserDotNet</a> -
C# an opinionated API for .NET that provides higher level functionality for
services using the HTTP API
</li>
<li>
<a href="https://github.com/cpageler93/ConsulSwift">ConsulSwift</a> - Swift
client for the Consul HTTP API
</li>
<li>
<a href="https://github.com/oatpp/oatpp-consul">oatpp-consul</a> - C++
Consul integration for <a href="https://oatpp.io/">oatpp</a> applications
</li>
<li>
<a href="https://github.com/marlonmleite/consul-env-webpack-plugin">
consul-env-webpack-plugin
</a>{' '}
- Webpack plugin for converting KV store JSON output to environments
variables.
</li>
<li>
<a href="https://github.com/rogerwelin/crystal-consul">crystal-consul</a> -
Crystal client for the Consul HTTP API
</li>
<li>
<a href="https://github.com/adaptant-labs/consul-dart">consul-dart</a> -
Dart client for the Consul HTTP API
</li>
<li>
<a href="https://github.com/alphaHeavy/consul-haskell">consul-haskell</a> -
Haskell client for the Consul HTTP API
</li>
<li>
<a href="https://github.com/Roblox/rs-consul">rs-consul</a> -
Rust client for the Consul HTTP API
</li>
<li>
<a href="https://github.com/jmgilman/consulrs">consulrs</a> -
Asynchronous Rust client library for the Consul HTTP API
</li>
</ul>