ArangoDB client written in Scala
Scarango is published to Sonatype OSS and Maven Central currently supporting Scala and Scala.js (core only) on 2.12 and 2.13.
Tested and supporting ArangoDB 3.5.
Configuring the driver in SBT requires:
libraryDependencies += "com.outr" %% "scarango-driver" % "2.1.0"
Scarango uses ArangoDB's HTTP end-points providing true asynchronous and non-blocking access to the database. We utilize Scala
Futures in order to handle asynchronous responses. This library has two main layers of abstraction. The first is meant to be a bare-metal wrapper around the HTTP end-points to expose the maximum capabilities of the database for use. The second layer is a higher level of abstraction to simplify management of the database while still providing flexiblity and control. In the following examples we'll focus primarily on the second layer as it's generally the preferred. However, for examples of the first layer take a look at the tests for simple and straight-forward examples of use.
This needs to be updated with instructions for 2.0, but for now, take a look at https://github.com/outr/scarango/blob/master/driver/src/test/scala/spec/GraphSpec.scala
Features for 2.2.0 (In-Progress)
- "Modify" convenience functionality to use
Fieldto filter and set values without having to modify individually or replace the entire document (generates AQL)
- DSL for creating AQL queries
- Versioned Document functionality (replace and delete creates duplicate in another collection instead of updating)
- Scala.js wrapper for Foxx framework