Skip to main content

Django design patterns and REST API for field data collection.

Project description



wq.db is a collection of Python modules for building robust, flexible schemas and REST APIs for use in field data collection apps and (more generally) progressively enhanced mobile-first websites. wq.db is the backend component of wq and is geared primarily for use with, though it can be used separately. wq.db is built on the Django platform.

Getting Started

pip install wq.db
# Or, if using together with and/or
pip install wq

See the documentation for more information. See to fork wq.db or report any issues.


wq.db has two primary components: a REST API generator ( and a collection of schema design patterns (wq.db.patterns) that facilitate flexible database layouts.

Extends the excellent Django Rest Framework with a collection of views, serializers, and context processors useful for creating a progresively enhanced website that serves as its own mobile app and its own REST API. The core of the library ( includes an admin-style autodiscover() that automatically routes REST urls to installed models, and provides a descriptive JSON configuration object for consumption by’s client-side router. also includes a CRS-aware GeoJSON serializer and renderer.


A collection of recommended design patterns (annotate, identify, locate, and relate) that provide long-term flexibility and sustainability for data collection systems. These patterns are implemented as installable Django apps.

Batteries Included

Like Django itself, wq.db includes a contrib module that provides additional functionality not considered to be part of the “core” library.


Generic file manager. Supports using the same FileField for both images and files. Also includes a URL-driven thumbnail generator.


Reference implementation of the ERAV model, an extention to EAV with support for maintaining multiple versions of an entity.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for wq.db, version 0.3.1
Filename, size File type Python version Upload date Hashes
Filename, size wq.db-0.3.1.tar.gz (43.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page