Skip to content
AMQP 0.9.1 protocol serialization and deserialization implementation for Ruby (2.0+)
Ruby Python
Latest commit 794d587 @michaelklishin michaelklishin Try Bundler caching
Closes #60.
Failed to load latest commit information.
benchmarks Add proper implementation of next_clear_bit for Bitset and update int…
lib/amq Support encoding of byte arrays, fixes #58
profiling Brief README
spec Support encoding of byte arrays, fixes #58
.gitignore fixed signed 16bit amqp framing conversion
.gitmodules Organize codegen-related bits under codegen/*
.travis.yml Try Bundler caching Update change log
Gemfile Bump RSpec to 3.4
LICENSE Update copyright notice to 2016 [ci skip] README updates
Rakefile Add Rakefile for extension compilation
amq-protocol.gemspec gemspec edits
generate.rb Exclude credits extension from generation

What is amq-protocol.

amq-protocol is an AMQP 0.9.1 serialization library for Ruby. It is not an AMQP client: amq-protocol only handles serialization and deserialization.

If you want to write your own AMQP client, this gem will handle all the serialization needs for you, including RabbitMQ extensions to AMQP 0.9.1.

Supported Ruby Versions

amq-protocol 1.9.2 was the last version to support Ruby 1.8 and 1.9. amq-protocol 2.0.0 and later only supports Ruby 2.0+.


gem install amq-protocol


Make sure you have Python, pip and the mako templating package installed:

pip install mako

amq-protocol uses RabbitMQ protocol code generation library that is in Python, so there is some Python involved in the build.

To regenerate lib/amq/protocol/client.rb from the source (codegen/* files), run


To make changes, do not edit client.rb directly. Instead, edit the codegen/protocol.rb.pytemplate and regenerate.

To run tests, use

bundle install --binstubs
./bin/rspec -c spec spec

Maintainer Information

amq-protocol is maintained by Michael Klishin.

CI Status

Build Status


Please report any issues you may find to our Issue tracker on GitHub.

Mailing List

Any questions you may have should be sent to the Ruby AMQP mailing list.


MIT (see LICENSE in the repository root).

Something went wrong with that request. Please try again.