/smile-format-specification

New home for Smile format (https://en.wikipedia.org/wiki/Smile_(data_interchange_format))

BSD 2-Clause "Simplified" LicenseBSD-2-Clause

Smile Data Format

"Smile" is a binary data format that defines a binary equivalent of standard JSON data format.

Format was specified in 2010 by Jackson JSON processor development team. First compliant implementation was included Jackson version 1.6, released in September 2010.

Specification

Design documentation includes:

Community

Documentation

Implementations

Smile Codecs

  • Java
    • Jackson provides Smile support through jackson-dataformat-smile modules) format codec
      • Full support: including streaming access, data binding and tree model (100% parity with textual JSON)
    • Protostuff project supports Smile both as a low-level data format, and as format used for its RPC implementation
  • JVM, other:
    • Clojure
      • Cheshire library offers support via Jackson jackson-dataformat-smile
  • C
    • libsmile is a small C-library for reading and writing Smile data.
  • Javascript
    • smile-js Smile decoder written in Javascript
  • Python

Frameworks, Systems that use Smile codec (encoder and decoder)

  • Elastic Search uses Smile as transport format supports access using Smile encoding.
  • Apache Solr can use Smile as the response format with the wt=smile parameter.