All Projects → ruby-amqp → amq-protocol

ruby-amqp / amq-protocol

Licence: MIT License
AMQP 0.9.1 protocol serialization and deserialization implementation for Ruby (2.0+)

Programming Languages

ruby
36898 projects - #4 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to amq-protocol

VSerializer
A library to serialize and deserialize objects with minimum memory usage.
Stars: ✭ 25 (-46.81%)
Mutual labels:  serialization, deserialization
Haredo
Node.js library for RabbitMQ
Stars: ✭ 76 (+61.7%)
Mutual labels:  rabbitmq, amqp0-9-1
dataclasses-jsonschema
JSON schema generation from dataclasses
Stars: ✭ 145 (+208.51%)
Mutual labels:  serialization, deserialization
parco
🏇🏻 generalist, fast and tiny binary parser and compiler generator, powered by Go 1.18+ Generics
Stars: ✭ 57 (+21.28%)
Mutual labels:  serialization, deserialization
nabbitmq
Node.js library for interacting with RabbitMQ based on RxJS streams
Stars: ✭ 20 (-57.45%)
Mutual labels:  rabbitmq, amqp0-9-1
nason
🗜 Ultra tiny serializer / encoder with plugin-support. Useful to build binary files containing images, strings, numbers and more!
Stars: ✭ 30 (-36.17%)
Mutual labels:  serialization, deserialization
nest-rabbit-tasks
nest-rabbit-worker is a TaskQueue based upon RabbitMQ for NestJS
Stars: ✭ 29 (-38.3%)
Mutual labels:  rabbitmq, amqp0-9-1
serde
🚝 (unmaintained) A framework for defining, serializing, deserializing, and validating data structures
Stars: ✭ 49 (+4.26%)
Mutual labels:  serialization, deserialization
opentelemetry-ext-js
js extensions for the open-telemetry project
Stars: ✭ 122 (+159.57%)
Mutual labels:  rabbitmq, amqp0-9-1
jzon
A correct and safe JSON parser.
Stars: ✭ 78 (+65.96%)
Mutual labels:  serialization, deserialization
avrow
Avrow is a pure Rust implementation of the avro specification https://avro.apache.org/docs/current/spec.html with Serde support.
Stars: ✭ 27 (-42.55%)
Mutual labels:  serialization, deserialization
dataconf
Simple dataclasses configuration management for Python with hocon/json/yaml/properties/env-vars/dict support.
Stars: ✭ 40 (-14.89%)
Mutual labels:  serialization, deserialization
NBT
A java implementation of the NBT protocol, including a way to implement custom tags.
Stars: ✭ 128 (+172.34%)
Mutual labels:  serialization, deserialization
CodableWrapper
@codec("encoder", "decoder") var cool: Bool = true
Stars: ✭ 143 (+204.26%)
Mutual labels:  serialization, deserialization
cattrs
Complex custom class converters for attrs.
Stars: ✭ 565 (+1102.13%)
Mutual labels:  serialization, deserialization
kafka-protobuf-serde
Serializer/Deserializer for Kafka to serialize/deserialize Protocol Buffers messages
Stars: ✭ 52 (+10.64%)
Mutual labels:  serialization, deserialization
json struct
json_struct is a single header only C++ library for parsing JSON directly to C++ structs and vice versa
Stars: ✭ 279 (+493.62%)
Mutual labels:  serialization, deserialization
sexp-grammar
Invertible parsing for S-expressions
Stars: ✭ 28 (-40.43%)
Mutual labels:  serialization, deserialization
tyson
A TypeScript serialization/deserialization library to convert objects to/from JSON
Stars: ✭ 25 (-46.81%)
Mutual labels:  serialization, deserialization
hapic
Input/Output/Error management for your python controllers with Swagger doc generation
Stars: ✭ 18 (-61.7%)
Mutual labels:  serialization, deserialization

What is amq-protocol

amq-protocol is an AMQP 0.9.1 serialization library for Ruby. It is not an AMQP 0-9-1 client such as Bunny: amq-protocol only handles serialization and deserialization.

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

Supported Ruby Versions

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

Installation

gem install amq-protocol

Development

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

./generate.rb

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

Issues

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.

License

MIT (see LICENSE in the repository root).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].