<commit_before># Scarango

[![Build Status](https://travis-ci.org/outr/scarango.svg?branch=master)](https://travis-ci.org/outr/scarango)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/be829fed3c134f8cbf14c60290651d63)](https://www.codacy.com/app/matthicks/scarango?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=outr/scarango&amp;utm_campaign=Badge_Grade)
[![Codacy Badge](https://api.codacy.com/project/badge/Coverage/be829fed3c134f8cbf14c60290651d63)](https://www.codacy.com/app/matthicks/scarango?utm_source=github.com&utm_medium=referral&utm_content=outr/scarango&utm_campaign=Badge_Coverage)
[![Stories in Ready](https://badge.waffle.io/outr/scarango.png?label=ready&title=Ready)](https://waffle.io/outr/scarango)
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/outr/scarango)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.outr/scarango-driver_2.12/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.outr/scarango-driver_2.12)
[![Latest version](https://index.scala-lang.org/outr/scarango/scarango-driver/latest.svg)](https://index.scala-lang.org/outr/scarango)

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.11 and 2.12.

Configuring the driver in SBT requires:

```
libraryDependencies += "com.outr" %% "scarango-driver" % "0.3.0"
```

## Dependencies

Bringing in any new library is always risky as it contains its own baggage of third-party dependencies. In Scarango we
try to keep the number of third-party dependencies to a minimum. Here are the main dependencies currently being used in
Scarango:

- Circe: JSON parsing and class encoding and decoding.
- Reactify: Functional reactive paradigms. This is mostly manifested in the triggers.
- Scribe: Logging framework.
- YouI: HTTP restful calls are managed through the HttpClient.

## Introduction

Scarango uses ArangoDB's HTTP end-points providing true asynchronous and non-blocking access to the database. We utilize
Scala `Future`s 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
<commit_msg>Updated readme for 0.4.0 release.<commit_after># Scarango

[![Build Status](https://travis-ci.org/outr/scarango.svg?branch=master)](https://travis-ci.org/outr/scarango)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/be829fed3c134f8cbf14c60290651d63)](https://www.codacy.com/app/matthicks/scarango?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=outr/scarango&amp;utm_campaign=Badge_Grade)
[![Codacy Badge](https://api.codacy.com/project/badge/Coverage/be829fed3c134f8cbf14c60290651d63)](https://www.codacy.com/app/matthicks/scarango?utm_source=github.com&utm_medium=referral&utm_content=outr/scarango&utm_campaign=Badge_Coverage)
[![Stories in Ready](https://badge.waffle.io/outr/scarango.png?label=ready&title=Ready)](https://waffle.io/outr/scarango)
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/outr/scarango)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.outr/scarango-driver_2.12/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.outr/scarango-driver_2.12)
[![Latest version](https://index.scala-lang.org/outr/scarango/scarango-driver/latest.svg)](https://index.scala-lang.org/outr/scarango)

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.11 and 2.12.

Configuring the driver in SBT requires:

```
libraryDependencies += "com.outr" %% "scarango-driver" % "0.4.0"
```

## Dependencies

Bringing in any new library is always risky as it contains its own baggage of third-party dependencies. In Scarango we
try to keep the number of third-party dependencies to a minimum. Here are the main dependencies currently being used in
Scarango:

- Circe: JSON parsing and class encoding and decoding.
- Reactify: Functional reactive paradigms. This is mostly manifested in the triggers.
- Scribe: Logging framework.
- YouI: HTTP restful calls are managed through the HttpClient.

## Introduction

Scarango uses ArangoDB's HTTP end-points providing true asynchronous and non-blocking access to the database. We utilize
Scala `Future`s 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

{'fraction_non_alphanumeric': 0.10835172921265636, 'fraction_numerical': 0.02152317880794702, 'mean_word_length': 5.534855769230769, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 28, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2692885', 'n_tokens_mistral': 1853, 'n_tokens_neox': 1701, 'n_words': 484}