bazarr/libs/playhouse/README.md

3.3 KiB

Playhouse

The 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.

Vendor extensions

  • 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
    • HStore
    • Arrays
    • Server-side cursors
    • Full-text search
  • MySQL extensions

High-level libraries

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.