Skip to main content

Data layer for Eve powered by peewee.

Project description

|Build Status|

A WIP data layer for Eve using peewee

Currently peewee creates tables based on settings.py DOMAIN declarations during start-up and basic Eve CRUD methods work.

Instuctions

  • python setup.py install or pip install eve-peewee

  • define DATABASE_URI in settings.py (see examples)

  • Eve(data=EvePeewee).run()

Tested

  • postgres 9.x, sqlite3

  • python 2.7, 3.5

  • basic eve functionality (filtering, sorting, pagination, timestamps, etag/if-match, soft delete)

  • 1:m data relationships

Untested/TBD

  • mysql

  • custom validator

  • constraints (unique)

  • m:m data relationships (atm creates link tables but likely fails to query for embedding)

  • versioning fields

Notable caveats

  • peewee doesn’t do auto-migration (if you change domain models, drop the tables to get them recreated or apply changes in db manually)

  • peewee specific field properties can be defined in DOMAIN schema (requires “transparent_schema_rules”), e.g. '_peewee': { 'primary_key': True }

  • not all possible error cases are captured to json/xml document, default 500 response may happen

  • objectid and media types are unsupported (list and dict types are saved as jsonb)

  • many of the mongo centric field properties of eve (anyof, allof etc) are silently ignored

Project details


Download files

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

Source Distribution

eve-peewee-0.0.6.tar.gz (7.0 kB view hashes)

Uploaded Source

Built Distribution

eve_peewee-0.0.6-py2.py3-none-any.whl (8.7 kB view hashes)

Uploaded Python 2 Python 3

Supported by

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