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
- Full-text search (FTS3/4/5)
- BM25 ranking algorithm implemented as SQLite C extension, backported to FTS4
- Virtual tables and C extensions
- Closure tables
- JSON extension support
- LSM1 (key/value database) support
- BLOB API
- Online backup API
- APSW extensions: use Peewee with the powerful APSW SQLite driver.
- SQLCipher: encrypted SQLite databases.
- SqliteQ: dedicated writer thread for multi-threaded SQLite applications. More info here.
- Postgresql extensions
- JSON and JSONB
- Server-side cursors
- Full-text search
- Extra fields
- Compressed field
- Shortcuts / helpers
- Model-to-dict serializer
- Dict-to-model deserializer
- Hybrid attributes
- Signals: pre/post-save, pre/post-delete, pre-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.
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
- Test utils: helpers for unit-testing Peewee applications.
- Flask utils: paginated object lists, database connection management, and more.