Scarango

Build Status Codacy Badge Codacy Badge Stories in Ready Gitter Maven Central Latest version

ArangoDB client written in Scala

Setup

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"

Introduction

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.

Getting Started

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

Versions

Features for 2.2.0 (In-Progress)

  • "Modify" convenience functionality to use Field to 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