Rapture is an evolving collection of useful libraries for solving common, everyday programming tasks, using advanced features of Scala to offer better type-safety through powerful APIs that all Scala developers, beginners and advanced users, should find intuitive.
Rapture consists of a number of modules, the most notable of which are:
core
) — a library of common utilities for other projects, notably
modes and the Result
typejson
) — comprehensive support for working with JSON
dataxml
) — comprehensive, but experimental, support for working with XML
dataio
) — I/O (network, filesystem) functionality and infrastructurei18n
) — simple, typesafe representation of internationalized stringscli
) — support for working with command-line applications and shell
interactionThe Rapture modules share a common philosophy that has evolved over time and experience. Here are a few of the philosophical themes crosscutting all of the Rapture modules.
Snapshots of Rapture are available for Scala 2.10 and 2.11 under the Apache
2.0 License in the Sonatype Snapshots
repository,
with group ID com.propensive
and artifact ID rapture-[module]
, where module
is the name of the module, as taken from the list above.
Development work to get most Rapture modules working on Scala.JS is ongoing.
You can build and run Rapture locally by cloning this repository and running
sbt publishLocal
.
Rapture openly welcomes contributions! We would love to receive pull requests of bugfixes and enhancements from other developers. To avoid potential wasted effort, bugs should first be reported on the Github issue tracker, and it's normally a good idea to talk about enhancements on the Gitter channel before embarking on any development.
Alternatively, just send Jon Pretty (@propensive) a tweet to start a conversation.
Current contributors include:
Rapture's documentation is currently sparse, though we are working to improve this.