Skip to content

stt/eve-peewee

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eve Peewee extension

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages