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 is compatible with Python >= 3.4 and Django >= 1.11.

  Python Django Django REST Framework
wq.db 1.0 2.7, 3.4 – 3.6 1.8, 1.10, 1.11 3.6
wq.db 1.1 2.7*, 3.4 – 3.7 1.11, 2.0, 2.1 3.9
wq.db 1.2 & 1.3 3.4 – 3.8 1.11, 2.x, 3.0, 3.1 3.9, 3.10, 3.11
wq.db 2.0 (Future) 3.5+ 2.2+ 3.11+

* Python 2.7 support is no longer tested, but is known to work in wq.db 1.1 and earlier.

Getting Started

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

# Install entire wq suite (recommended)
python3 -m pip install wq

# Install only wq.db
python3 -m pip install wq.db

See the documentation for more information.

Features

wq.db.rest

Extends Django REST Framework with model-based views and serializers that facilitate creating an integrated website, REST API, and mobile app. 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. 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.3.0b0.tar.gz (55.8 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.3.0b0-py3-none-any.whl (40.5 kB view details)

Uploaded Python 3

File details

Details for the file wq.db-1.3.0b0.tar.gz.

File metadata

  • Download URL: wq.db-1.3.0b0.tar.gz
  • Upload date:
  • Size: 55.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.8

File hashes

Hashes for wq.db-1.3.0b0.tar.gz
Algorithm Hash digest
SHA256 f27d82952e9b677578bc6992a1bef8bda4a54141348a95f56ebf05c4bd5fbdf7
MD5 598de2076d3511409a306f067e07cace
BLAKE2b-256 ccd1eb878097f31eba863adb2c1713e4f6f29116cfd154ee46008e2598e5af69

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wq.db-1.3.0b0-py3-none-any.whl
  • Upload date:
  • Size: 40.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.8

File hashes

Hashes for wq.db-1.3.0b0-py3-none-any.whl
Algorithm Hash digest
SHA256 9c9366b62f79cc1437d481e205e299311f1228bbc8db96cf837b78493910db89
MD5 de17e4ea92c73e79b5ad1af4f2ff2abc
BLAKE2b-256 99d84bde10910a2d16eb5a78a1d85a16cea5dc46121419e76612b0a709a3c04d

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