A fast and efficient binary serialization library for Scala, Scala.js, and Scala Native.
BooPickle is a binary serialization library for Scala that enables efficient data encoding for network communication. It solves the performance and size limitations of JSON-based serialization by using a compact binary format, resulting in faster transmission and reduced bandwidth usage.
Scala developers building high-performance applications, especially those using Scala.js or Scala Native for cross-platform projects requiring efficient data exchange.
Developers choose BooPickle for its exceptional speed, small payload size, and seamless cross-platform support without dependencies, making it a top choice for performance-critical serialization tasks.
Binary serialization library for efficient network communication
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works seamlessly on Scala, Scala.js, and Scala Native without reflection, enabling consistent serialization across different environments with zero dependencies.
Uses a compact binary format that significantly reduces payload size and speeds up serialization, as shown in benchmarks, making it ideal for data-intensive network communication.
Supports primitives, collections, options, tuples, case classes, and class hierarchies out of the box, simplifying serialization for complex Scala data structures.
Allows user-defined and transforming serializers for non-case classes, providing fine-grained control over serialization logic beyond default picklers.
Does not store type data in serialized output, requiring identical types during pickling and unpickling, which can lead to errors and complicates schema changes.
The non-human-readable binary format makes debugging difficult and restricts use in scenarios where data inspection or interoperability with JSON-based tools is needed.
Primarily designed for Scala ecosystems, limiting cross-language interoperability compared to JSON libraries that are widely supported across different programming environments.