Sohva is an asynchronous CouchDB client library for Scala. It is based on akka and its http module. Sohva can be used to access data in CouchDB databases from version 1.4 onward. Some features are only available in CouhDB 2.0 (such as mango queries) and will result in runtime errors if you use them with an earlier version of CouhDB.
Installation
To use Sohva in your code, add it to your dependencies in your build.
// sbt
libraryDependencies += "org.gnieh" %% "sohva" % "2.2.0"
<!-- maven -->
<dependency>
<groupId>org.gnieh</groupId>
<artifactId>sohva_${scala.version}</artifactId>
<version>2.2.0</version>
</dependency>
Sohva is built for scala 2.11 and 2.12.
Snapshots
Snapshot versions are regularly uploaded to the sonatype snapshots repository so that you can try the upcoming fixes and features.
Currently available snapshots are:
- next bugfix release:
2.2.1-SNAPSHOT
- next minor release:
2.3.0-SNAPSHOT
Snapshots are built against scala 2.11 and scala 2.12.
Next steps
Once your project is linked to Sohva, you can start using it. Please have a look at the links below for documentation.
- Basic usage
- Authentication in CouchDB
- Automatic conflict handling
- Mango queries
- Being notified of changes in database
- Database replication
- Using Sohva synchronously
- API documentation
Getting help
If you have any question or find a bug, you can always file a bug report or join the gitter room.