Rapture alternatives and similar packages
Based on the "Extensions" category.
Alternatively, view Rapture alternatives based on common mentions on social networks and blogs.
-
Enumeratum
A type-safe, reflection-free, powerful enumeration implementation for Scala with exhaustive pattern match warnings and helpful integrations. -
Scala Graph
Graph for Scala is intended to provide basic graph functionality seamlessly fitting into the Scala Collection Library. Like the well known members of scala.collection, Graph for Scala is an in-memory graph library aiming at editing and traversing graphs, finding cycles etc. in a user-friendly way. -
scribe
The fastest logging library in the world. Built from scratch in Scala and programmatically configurable. -
Lamma
Lamma schedule generator for Scala is a professional schedule generation library for periodic schedules like fixed income coupon payment, equity deravitive fixing date generation etc. -
wvlet-log
DISCONTINUED. A library for enhancing your application logs with colors and source code locations. -
Resolvable
DISCONTINUED. A library to optimize fetching immutable data structures from several endpoints in several formats.
CodeRabbit: AI Code Reviews for Developers
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Rapture or a related project?
README
Rapture
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 (
core
) — a library of common utilities for other projects, notably modes and theResult
type - [JSON](doc/json.md) (
json
) — comprehensive support for working with JSON data - XML (
xml
) — comprehensive, but experimental, support for working with XML data - I/O (
io
) — I/O (network, filesystem) functionality and infrastructure - I18n (
i18n
) — simple, typesafe representation of internationalized strings - CLI (
cli
) — support for working with command-line applications and shell interaction
Themes in Rapture
The 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.
- A primary goal of intuitive, readable APIs and minimal code repetition
- Extreme type-safety, with a goal to reduce the surface area of code exposed to runtime exceptions
- Thoroughly typeclass-driven design, for extensibility
- Fearless exploitation of all Scala features, where (but only where) it is appropriate
- Agnostic support for multiple, alternative implementations of many operations with pluggable backends
- Extensive, but principled, usage of implicits to configure and constrain operations
- Support for modes in most APIs; the ability to change how failures are handled through return types
Availability
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](htp://www.scala-js.org/) is ongoing.
You can build and run Rapture locally by cloning this repository and running
sbt publishLocal
.
Contributing
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:
- Jon Pretty
- Raúl Raja Martínez
- Alistair Johnson
Documentation
Rapture's documentation is currently sparse, though we are working to improve this.
*Note that all licence references and agreements mentioned in the Rapture README section above
are relevant to that project's source code only.