• Stars
    star
    282
  • Rank 141,073 (Top 3 %)
  • Language
    Elixir
  • License
    ISC License
  • Created over 10 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

High-performance and comprehensive MessagePack implementation for Elixir / msgpack.org[Elixir]

Msgpax

CI Status Hex Version

Msgpax is a high-performance and comprehensive library for serializing and deserializing Elixir terms using the MessagePack format.

Documentation is available online.

Features

  • Packing and unpacking Elixir terms via Msgpax.pack/1 and Msgpax.unpack/1 (and their bang! variants).
  • Unpacking of partial slices of MessagePack-encoded terms via Msgpax.unpack_slice/1.
  • Support for "Binary" and "Extension" MessagePack types via Msgpax.Bin and Msgpax.Ext, respectively.
  • Protocol-based packing through the Msgpax.Packer protocol, that can be derived for user-defined structs.
  • A Plug parser (Msgpax.PlugParser) to parse requests with MessagePack-encoded bodies.
  • Support for MessagePack data fragment manipulation.

A detailed table that shows the relationship between Elixir types and MessagePack types can be found in the documentation for the Msgpax module.

Installation

Add :msgpax as a dependency in your mix.exs file:

def deps do
  [{:msgpax, "~> 2.0"}]
end

Then, run mix deps.get in your shell to fetch the new dependency.

License

Msgpax is released under the ISC license.