bazarr/libs/playhouse
..
_pysqlite
README.md
__init__.py
_sqlite_ext.c
_sqlite_ext.pyx
_sqlite_udf.c
_sqlite_udf.pyx
apsw_ext.py
cockroachdb.py
dataset.py
db_url.py
fields.py
flask_utils.py
hybrid.py
kv.py
migrate.py
mysql_ext.py
pool.py
postgres_ext.py
psycopg3_ext.py
reflection.py
shortcuts.py
signals.py
sqlcipher_ext.py
sqlite_changelog.py
sqlite_ext.py
sqlite_udf.py
sqliteq.py
test_utils.py

README.md

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.