playhouse namespace contains numerous extensions to Peewee. These include vendor-specific database extensions, high-level abstractions to simplify working with databases, and tools for low-level database operations and introspection.
- SQLite extensions
- User-defined aggregates, collations, and functions
- Full-text search (FTS3/4/5)
- BM25 ranking algorithm implemented as SQLite C extension, backported to FTS4
- Virtual tables and C extensions
- Closure tables
- APSW extensions: use Peewee with the powerful APSW SQLite driver.
- BerkeleyDB: compile BerkeleyDB with SQLite compatibility API, then use with Peewee.
- SQLCipher: encrypted SQLite databases.
- Postgresql extensions
- JSON and JSONB
- Server-side cursors
- Full-text search
- Extra fields
- Many-to-many field
- Compressed field
- Password field
- AES encrypted field
- Shortcuts / helpers
- Model to dict serializer
- Dict to model deserializer
- Retry query with backoff
- Hybrid attributes
- Signals: pre/post-save, pre/post-delete, pre/post-init.
- Dataset: high-level API for working with databases popuarlized by the project of the same name.
- Key/Value Store: key/value store using SQLite. Supports smart indexing, for Pandas-style queries.
- Generic foreign key: made popular by Django.
- CSV utilities: load CSV directly into database, generate models from CSV, and more.
Database management and framework support
- pwiz: generate model code from a pre-existing database.
- Schema migrations: modify your schema using high-level APIs. Even supports dropping or renaming columns in SQLite.
- Connection pool: simple connection pooling.
- Reflection: low-level, cross-platform database introspection
- Database URLs: use URLs to connect to database
- Read slave
- Flask utils: paginated object lists, database connection management, and more.
- Django integration: generate peewee models from Django models, use Peewee alongside your Django ORM code.