---
id: version-2.1.0-incubating-client-libraries
title: Pulsar client libraries
sidebar_label: Client libraries
original_id: client-libraries
---

Pulsar currently has client libraries available for following languages:

* [Java](#java-client)
* [Go](#go-client)
* [Python](#python-client)
* [C++](#c-client)

## Java client

For a tutorial on using the Pulsar Java client to produce and consume messages, see [The Pulsar Java client](client-libraries-java.md).

There are also two independent sets of Javadoc API docs available:

Library | Purpose
:-------|:-------
[`org.apache.pulsar.client.api`](/api/client) | The [Pulsar Java client](client-libraries-java.md) for producing and consuming messages on Pulsar topics
[`org.apache.pulsar.client.admin`](/api/admin) | The Java client for the [Pulsar admin interface](admin-api-overview.md)


## Go client

For a tutorial on using the Pulsar Go client, see [The Pulsar Go client](client-libraries-go.md).


## Python client

For a tutorial on using the Pulsar Python client, see [The Pulsar Python client](client-libraries-python.md).

There are also [pdoc](https://github.com/BurntSushi/pdoc)-generated API docs for the Python client [here](/api/python).

## C++ client

For a tutorial on using the Pulsar C++ clent, see [The Pulsar C++ client](client-libraries-cpp.md).

There are also [Doxygen](http://www.stack.nl/~dimitri/doxygen/)-generated API docs for the C++ client [here](/api/cpp).

## Feature Matrix

This matrix lists all the features among different languages in Pulsar {{pulsar:version}} release.

| Feature                                   | Java | C++ | Go | Python | WebSocket |
|:------------------------------------------|:----:|:---:|:--:|:------:|:---------:|
| Partitioned topics                        |  ✅   |  ✅  | ✅  |   ✅    |     ✅     |
| Batching                                  |  ✅   |  ✅  | ✅  |   ✅    |     ✅     |
| Compression                               |  ✅   |  ✅  | ✅  |   ✅    |     ✅     |
| TLS                                       |  ✅   |  ✅  | ✅  |   ✅    |     ✅     |
| Authentication                            |  ✅   |  ✅  | ✅  |   ✅    |     ✅     |
| Reader API                                |  ✅   |  ✅  | ✅  |   ✅    |     ✅     |
| Proxy Support                             |  ✅   |  ✅  | ✅  |   ✅    |     ✅     |
| Effectively-Once                          |  ✅   |  ✅  | ✅  |   ✅    |     ❌     |
| Schema                                    |  ✅   |      |     |         |     ❌     |
| Consumer seek                             |  ✅   |  ✅  |     |   ✅    |     ❌     |
| Multi-topics consumer                     |  ✅   |      |     |         |     ❌     |
| Topics regex consumer                     |  ✅   |      |     |         |     ❌     |
| Compacted topics                          |  ✅   |  ✅  |     |   ✅    |      ❌    |
| User defined properties producer/consumer |  ✅   |      |     |         |     ❌     |
| Reader hasMessageAvailable                |  ✅   |  ✅  |     |   ✅    |     ❌     |
| Hostname verification                     |  ✅   |      |     |         |     ❌     |

## Thirdparty Clients

Besides the official released clients, there are also multiple projects on developing a Pulsar client in different languages.

> if you have developed a Pulsar client, but it doesn't show up here. Feel free to submit a pull request to add your client to the list below.

| Language | Project | Maintainer | License | Description |
|----------|---------|------------|---------|-------------|
| Go | [pulsar-client-go](https://github.com/Comcast/pulsar-client-go) | [Comcast](https://github.com/Comcast) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | A native golang client |
| Go | [go-pulsar](https://github.com/t2y/go-pulsar) | [t2y](https://github.com/t2y) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | |
| Scala | [pulsar4s](https://github.com/sksamuel/pulsar4s) | [sksamuel](https://github.com/sksamuel) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | Idomatic, typesafe, and reactive Scala client for Apache Pulsar |
