Rapture is a family of Scala libraries providing beautiful idiomatic and typesafe Scala APIs for common programming tasks, like working with I/O, cryptography and JSON & XML processing.
All Rapture libraries are open source, and are available for Scala 2.10 and 2.11 under the Apache Software License 2.0. Source code is on GitHub, and binaries are available on Maven Central.
Rapture code is meant to be written and read by humans, so the API is designed so that a single line can concisely convey all the information the programmer needs to understand, without any boilerplate.
Implicits are used to specify configuration choices, offering the advantages of a declarative programming style, sensible defaults where appropriate, and the flexibility of Scala’s scoping rules if necessary.
The power to implement and refactor code confidently comes from the expressiveness of Scala’s type system. Rapture uses extensive typing to help exploit the guidance and constraints Scala’s type system provides.
Rapture is designed around a tiny core, enriched by numerous features added at standard extension points. Because every feature is implemented this way, it is very easy to add your own.
Rapture strives for a balance between embracing Scala’s established idioms, and pursuing exciting new ways to approach problems. It is never afraid to use advanced Scala features where they are a good fit, but equally content using simple features where they suffice.
Scala has a dynamic and diverse ecosystem of libraries, often offering many solutions to the same problem. Rapture has no external dependencies, so doesn’t take sides on which libraries you must use, instead using type classes to support multiple alternative implementations.