Sofa - CouchDB for Rust
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
src
.gitignore
.rustfmt.toml
CHANGELOG.md
Cargo.toml
LICENSE-APACHE
LICENSE-MIT
README.md
docker-compose.yml

README.md

Sofa - CouchDB for Rust

Crates.io FOSSA Status

docs.rs

sofa-logo

Documentation

Here: http://docs.rs/sofa

Installation

[dependencies]
sofa = "0.6"

Description

This crate is an interface to CouchDB HTTP REST API. Works with stable Rust.

Does not support #![no_std]

After trying most crates for CouchDB in Rust (chill, couchdb in particular), none of them fit our needs hence the need to create our own.

No async I/O (yet), uses a mix of Reqwest and Serde under the hood, with a few nice abstractions out there.

NOT 1.0 YET, so expect changes

Supports CouchDB 2.0 and up.

Be sure to check CouchDB's Documentation in detail to see what's possible.

Running tests

Make sure that you have an instance of CouchDB 2.0+ running, either via the supplied docker-compose.yml file or by yourself. It must be listening on the default port.

And then cargo test -- --test-threads=1

Single-threading the tests is very important because we need to make sure that the basic features are working before actually testing features on dbs/documents.

Why the name "Sofa"

CouchDB has a nice name, and I wanted to reflect that.

License

Licensed under either of these:

FOSSA Status

Yellow Innovation

Yellow Innovation is the innovation laboratory of the French postal service: La Poste.

We create innovative user experiences and journeys through services with a focus on IoT lately.

Yellow Innovation's website and works