Skip to main content

Django design patterns and REST API for citizen science field data collection.

Project description

wq.db

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

Latest PyPI Release Release Notes Documentation License GitHub Stars GitHub Forks GitHub Issues

Travis Build Status Python Support Django Support

Support Matrix

wq.db 1.1 is compatible with Django 1.11 and newer, and optimized for Python 3.

  Python Django Django REST Framework
wq.db 1.0 2.7, 3.4, 3.5, 3.6 1.8, 1.10, 1.11 3.6
wq.db 1.1 2.7?*, 3.4, 3.5, 3.6, 3.7 1.11, 2.0, 2.1 3.9
wq.db 2.0 (Future) 3.4+ 2.0+ TBD

* Python 2.7 support is no longer tested, though it might still work for now.

Getting Started

# Recommended: create virtual environment
# python3 -m venv venv
# . venv/bin/activate

# Install entire wq suite (recommended)
pip install wq

# Install only wq.db
pip install wq.db

See the documentation for more information.

Features

wq.db provides the following modules:

wq.db.rest

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 is an admin-like ModelRouter that connects REST urls to registered models, and provides a descriptive configuration object for consumption by wq.app's client-side router. wq.db.rest also includes a GeoJSON serializer/renderer.

wq.db.patterns

A collection of abstract models and serializers for use in constructing advanced design patterns including nested forms, EAV structures, and natural keys. Includes wq.db.patterns.identify, an installable Django app module to help manage third-party entity identifers.

Download files

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

Source Distribution

wq.db-1.1.3.tar.gz (51.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wq.db-1.1.3-py3-none-any.whl (39.0 kB view details)

Uploaded Python 3

File details

Details for the file wq.db-1.1.3.tar.gz.

File metadata

  • Download URL: wq.db-1.1.3.tar.gz
  • Upload date:
  • Size: 51.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.5.2

File hashes

Hashes for wq.db-1.1.3.tar.gz
Algorithm Hash digest
SHA256 744b23f350dd454ee35bc396da0a9c6b10d1624bf969a560ee3e800a861b655c
MD5 37440e2e8a551c80510bfa2b1468e094
BLAKE2b-256 4f5f14d1047e7257ff83747fb8adf2383640b3d28f1720fde8dfca596440a1b8

See more details on using hashes here.

File details

Details for the file wq.db-1.1.3-py3-none-any.whl.

File metadata

  • Download URL: wq.db-1.1.3-py3-none-any.whl
  • Upload date:
  • Size: 39.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.5.2

File hashes

Hashes for wq.db-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 503f6b9562734d52e2c0bf2510121ecd0cb044247ff791eeef3229c4e20e1dd8
MD5 52927b7bb91ee96155fa276721cb7670
BLAKE2b-256 370db9068333988cc67404d195d5d1fc4989d6cac71e589cbeff0d84dc667bfe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page