Gem Version Build Status Test Coverage Code Climate Dependency Status


The Eclipse Paho project provides a set of clients for the MQTT v3 protocol (C/C++, Java, JavaScript, Python, Go and .NET) which implement more advanced features, like asynchronous pub/sub or QoS 2.

Unfortunately, there isn't an implementation specific for Ruby and the only Ruby gem that implements a similar client is Nicholas Humfrey's ruby-mqtt, which does not offer QoS 2.

The aim of this project is to provide a Ruby interface for the Paho implementations (the Java client for JRuby and the C/C++ client for MRI/Rubinius).

This project is not associated in any way with the Eclipse Paho project


Currently the only supported platform is JRuby

You may get the latest version from Rubygems:

$ gem install paho

You can also add it to your application's Gemfile:

gem 'paho'

... and then execute bundle to install.


Before going any further, it's important to mention that the Java library does not offer a synchronous client (the regular client actually implements MqttAsyncClient).

processor =


After checking out the repo, run bin/setup to install dependencies. Then, run bin/console for an interactive prompt that will allow you to experiment.


  1. Fork it ( )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request