Scrooge alternatives and similar packages
Based on the "Serialization" category.
Alternatively, view Scrooge alternatives based on common mentions on social networks and blogs.
-
Avro4s
Avro schema generation and serialization / deserialization for Scala -
µPickle
uPickle: a simple, fast, dependency-free JSON & Binary (MessagePack) serialization library for Scala -
validation
Advanced validation & serialization for JSON, HTML form data, etc, with no reflection at runtime. -
msgpack
MessagePack serializer implementation for Scala / msgpack.org[Scala] -
avro-codegen
Code generation from avro schemas to serialize/deserialize avro messages, no runtime reflection.
Access the most powerful time series database as a service
Do you think we are missing an alternative of Scrooge or a related project?
Popular Comparisons
README
Scrooge
Scrooge is a thrift code generator written in Scala, which currently generates code for Scala, Java, Cocoa, Android and Lua.
It's meant to be a replacement for the apache thrift code generator, and generates conforming, compatible binary codecs by building on top of libthrift. It integrates with the finagle project, exporting stats and finagle APIs, and makes it easy to build high throughput, low latency, robust thrift servers and clients.
Part of the motivation behind scrooge's scala implementation is that since Scala is API-compatible with Java, you can use the apache thrift code generator to generate Java files and use them from within Scala, but the generated code uses Java collections and mutable "bean" classes, causing some annoying boilerplate conversions to be hand-written. Scrooge bypasses the problem by generating Scala code directly. It also uses Scala syntax so the generated code is much more compact.
There is a comprehensive set of unit tests, which generate code, compile it, and execute it to verify expectations, as well as gold files to make it easy to review the effects of changes to the generator.
Status
This project is used in production at Twitter (and many other organizations), and is actively developed and maintained.
Building the develop branch locally
We are not currently publishing snapshots for Scrooge's dependencies, which
means that it may be necessary to publish the develop
branches of these
libraries locally in order to work on Scrooge's develop
branch. To do so
you can use our build tool, dodo.
curl -s https://raw.githubusercontent.com/twitter/dodo/develop/bin/build | bash -s -- --no-test scrooge
If you have any questions or run into any problems, please create an issue here, tweet at us at @finagle, or email the Finaglers mailing list.
Full Documentation
https://twitter.github.io/scrooge/
License
Copyright 2013 Twitter, Inc.
Licensed under the Apache License, Version 2.0: https://www.apache.org/licenses/LICENSE-2.0
*Note that all licence references and agreements mentioned in the Scrooge README section above
are relevant to that project's source code only.