Skip to main content

Create ReST APIs how you've always wanted.

Project description

Build Status Coverage Status

Hammock is a framework for building ReST APIs mostly declaratively. It includes data modeling, data storage, authentication, authorization, serialization and interface protocols. It aims to dramatically reduce the effort involved in creating CRUD APIs, including integrating the bits that are specific to your application.


Data modeling

Project Status

Hammock is in the planning and pre-alpha stages. There are high expectations of open source projects these days and that’s a good thing. However, good software does not spring, fully formed from the forehead of a sleep deprived genius. Rather, it is (or should be, in this person’s humble opinion) the result of continuous design and testing. The whole messy business, starting from day one, is on display here as an invitation to get your hands dirty.

Track progress here:

Planned Feature Overview

We want to create a powerful library for developing ReST APIs that supports a lot of use cases. Here is what we think that needs to look like.

Declarative API

Most everything is defined declaratively. That includes the data model, endpoints, filters, sorting and authorization.

Easily extensible

Data storage, authentication, authorization, serializaton and exchange format are strictly decoupled. Extending functionality in one of these areas requires implementing a small, targeted API.


By using one of the hypermedia exchange formats and/or a generated spec.

Batteries included

Comes with quite a few options:

  • Data storage: MongoDB and SQLAlchemy
  • Authentication: Basic, HMAC and Token
  • Serialization: JSON, MessagePack, XML
  • Exchange formats: A custom, minimalist format as well as the Siren and HAL hypermedia formats.
  • HTTP Caching: ETags and If-Modified-Since


This project makes heavy use of falcon. Massive credit to that team. As well, Eve was a big inspiration, philosophically and to a lesser extent flask-mongorest.

Project details

Release history Release notifications

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page