Peewee is a simple and small ORM. It has few (but expressive) concepts, making it easy to learn and intuitive to use.

  • A small, expressive ORM
  • Written in python with support for versions 2.6+ and 3.2+.
  • Built-in support for SQLite, MySQL and Postgresql.
  • numerous extensions available (postgres hstore/json/arrays, sqlite full-text-search, schema migrations, and much more).
postgresql mysql sqlite

Peewee’s source code hosted on GitHub.

New to peewee? Here is a list of documents you might find most helpful when getting started:

  • Quickstart guide – this guide covers all the bare essentials. It will take you between 5 and 10 minutes to go through it.
  • Guide to the various query operators describes how to construct queries and combine expressions.
  • Field types table lists the various field types peewee supports and the parameters they accept. There is also an extension module that contains special/custom field types.


If you find any bugs, odd behavior, or have an idea for a new feature please don’t hesitate to open an issue on GitHub or contact me.

Indices and tables