{"id":13753029,"url":"https://github.com/FasterXML/smile-format-specification","last_synced_at":"2025-05-09T20:34:41.084Z","repository":{"id":55862733,"uuid":"95812766","full_name":"FasterXML/smile-format-specification","owner":"FasterXML","description":"New home for Smile format (https://en.wikipedia.org/wiki/Smile_(data_interchange_format))","archived":false,"fork":false,"pushed_at":"2025-05-06T21:25:50.000Z","size":102,"stargazers_count":98,"open_issues_count":1,"forks_count":14,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-06T22:31:04.472Z","etag":null,"topics":["hacktoberfest","smile-format"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FasterXML.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-06-29T19:33:23.000Z","updated_at":"2025-05-01T14:23:25.000Z","dependencies_parsed_at":"2024-06-07T02:52:56.945Z","dependency_job_id":"d4757f52-1061-4b4f-97f9-93e13b425137","html_url":"https://github.com/FasterXML/smile-format-specification","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FasterXML%2Fsmile-format-specification","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FasterXML%2Fsmile-format-specification/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FasterXML%2Fsmile-format-specification/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FasterXML%2Fsmile-format-specification/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FasterXML","download_url":"https://codeload.github.com/FasterXML/smile-format-specification/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252781893,"owners_count":21803374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","smile-format"],"created_at":"2024-08-03T09:01:14.888Z","updated_at":"2025-05-09T20:34:41.038Z","avatar_url":"https://github.com/FasterXML.png","language":null,"funding_links":[],"categories":["Others","Serialization Formats","Uncategorized"],"sub_categories":["Binary Formats","Uncategorized"],"readme":"# Smile Data Format\n\n\"Smile\" is a binary data format that defines a binary equivalent of standard\n[JSON](http://en.wikipedia.org/wiki/JSON) data format (*).\n\nFormat was specified in 2010 by [Jackson](../../../jackson) JSON processor development team.\nFirst compliant implementation was included as a Jackson backend for Jackson version 1.6,\nreleased in September 2010.\n\n(*) with following exceptions\n\n* Number magnitude and precision are limited by length-indicators: so\n  while for most practical purposes limits are never reached, there are theoretical limits. Specifically, \"Big Integers\" and \"Big Decimals\" (matching Java `java.math.BigInteger` and `java.math.BigDecimal`) are limited to encoded byte-lengths representable by 32-bit positive integers (about 2 GB).\n\n##  Specification\n\nDesign documentation includes:\n\n* [Smile Format Specification](smile-specification.md)  describes format itself; how it works and what a compliant parser/generator implementations needs to do.\n* [Smile Format Design Goals](smile-design-goals.md) explains rationale for design decisions concerning specification.\n\n## Community\n\n* [Smile format Google group](http://groups.google.com/group/smile-format-discussion)\n\n## Documentation\n\n* [SmileFAQ](smile-faq.md)\n* [Smile Wikipedia entry](https://en.wikipedia.org/wiki/Smile_(data_interchange_format))\n* User documentation:\n    * [Understanding Smile data format](https://medium.com/code-with-ayush/understanding-smile-a-data-format-based-on-json-29972a37d376)\n\n## Implementations\n\nSmile Codecs\n\n*  [Clojure](http://clojure.org) \n    * [Cheshire](https://github.com/dakrone/cheshire) library offers support via Jackson `jackson-dataformat-smile`\n* C\n    * [libsmile](https://github.com/pierre/libsmile) is a small C-library for reading and writing Smile data.\n* Go\n    * [go-smile](https://github.com/zencoder/go-smile) Smile decoder written in Golang.\n* Java\n    * [Jackson](../../../jackson) provides Smile support through [jackson-dataformat-smile](../../../jackson-dataformats-binary) modules) format codec\n        * Full support: including streaming access, data binding and tree model (100% parity with textual JSON)\n        * [Jackson 2.9](https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9) added \"non-blocking\" ((aka \"asynchronous\") decoding for JSON and Smile format backends\n    * [Protostuff](http://github.com/protostuff/protostuff) project supports Smile both as a low-level data format, and as format used for its RPC implementation\n* Javascript\n    * [smile-js](https://github.com/ngyewch/smile-js) Smile decoder written in Javascript (only decodes (reads), does not encode (write)) \n* Kotlin Multiplatform\n    * [kotlinx-serialization-smile](https://github.com/vooft/kotlinx-serialization-smile) pure Kotlin Multiplatform implementation for `kotlinx-serialization`, supports JVM, Native, JS, etc\n* Python\n    * [NewSmile](https://pypi.org/project/newsmile/) Another Smile Format Decoder/Encoder for Python 3\n    * [PySmile](https://github.com/jhosmer/PySmile) Python codec\n* Rust\n    * [serde-smile](https://github.com/sfackler/serde-smile) Serde serializer and deserializer written in Rust.\n\nFrameworks, Systems that use Smile codec (encoder and decoder)\n\n* [Elastic Search](http://www.elastic.co) uses Smile as transport format supports access using Smile encoding.\n* [Apache Solr](http://lucene.apache.org/solr) can use Smile as the response format with the `wt=smile` parameter.\n\n## Related Publications\n\nHere are some external articles, blog posts, research papers that may be of interest:\n\n* [A Survey of JSON-compatible Binary Serialization Specifications](https://arxiv.org/abs/2201.02089)\n* [A Benchmark of JSON-compatible Binary Serialization Specifications](https://arxiv.org/abs/2201.03051)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFasterXML%2Fsmile-format-specification","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FFasterXML%2Fsmile-format-specification","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFasterXML%2Fsmile-format-specification/lists"}