# sofa v0.5.1 - Table of Contents > Sofa, an idiomatic relaxing CouchDB client 0.5.1 ## Pages - [Sofa](readme.md) - [Changelog](changelog.md) - [LICENSE](license.md) ## Modules - [Sofa](Sofa.md): Documentation for `Sofa`, a test-driven idiomatic Apache CouchDB client. - [Sofa.Attachment](Sofa.Attachment.md): A document attachment: the metadata CouchDB keeps in a document's `_attachments` stubs, plus the content once fetched or supplied. - [Sofa.Changes](Sofa.Changes.md): A behaviour for following the CouchDB `_changes` feed of a database. - [Sofa.Changes.Parser](Sofa.Changes.Parser.md): Decodes `_changes` responses into events, using pure functions. - [Sofa.Changes.Query](Sofa.Changes.Query.md): Turns follower options into the request for `GET|POST /{db}/_changes`. - [Sofa.Changes.Worker](Sofa.Changes.Worker.md): One `_changes` request, run in its own process on behalf of a `Sofa.Changes` follower. - [Sofa.Cushion](Sofa.Cushion.md): Internal Helpers for Sofa, with a vanity naming convention. - [Sofa.DB](Sofa.DB.md): Documentation for `Sofa.DB`, a test-driven idiomatic Apache CouchDB client. - [Sofa.Doc](Sofa.Doc.md): Documentation for `Sofa.Doc`, a test-driven idiomatic Apache CouchDB client. - [Sofa.Response](Sofa.Response.md): HTTP Response Handler for Sofa, the Elixir-native Apache CouchDB client - [Sofa.User](Sofa.User.md): Documentation for `Sofa.User`, a test-driven idiomatic Apache CouchDB client. - Exceptions - [Sofa.Error](Sofa.Error.md)