Audrey is a minimal framework for creating Pyramid applications that use MongoDB for persistence, ElasticSearch for full text search (optional), traversal for resource/view lookup, and colander for schema declaration and user input validation.

Audrey also provides views that implement a RESTful API. In an attempt to satisfy the hypermedia constraint (HATEOAS), GET responses use the HAL+JSON mediatype. In a further attempt to be self-describing, links to JSON Schema documents (generated automatically from your types’ colander schemas) are provided which describe the bodies for POST and PUT requests. Audrey doesn’t provide any HTML views, but it does include HAL-Browser which can be used to explore the RESTful API. (Please be aware that the included API is tightly coupled to your resource models. Such an API may be handy for prototypes or even in cases where you control all client use, but it is definitely not recommended for use by third-parties. Creating your own custom versioned API is highly recommended.)

My goal is to keep Audrey otherwise unopinionated. For example, Audrey intentionally does nothing regarding authentication, authorization, permissions, etc. A developer building on Audrey can make those decisions as appropriate for their app and implement them using standard Pyramid facilities.


Audrey is a pet project serving as a playground to explore some ideas. Too soon to tell whether it will mature or not.