You can test specific features or specific database drivers using the
runtests.py script. To view the available test runner options, use:

python runtests.py --help

Note

To run tests against Postgres or MySQL you need to create a database named
“peewee_test”. To test the Postgres extension module, you will also want to
install the HStore extension in the postgres test database:

-- install the hstore extension on the peewee_test postgres db.CREATEEXTENSIONhstore;

To use Peewee, you typically won’t need anything outside the standard
library, since most Python distributions are compiled with SQLite support.
You can test by running importsqlite3 in the Python console. If you
wish to use another database, there are many DB-API 2.0-compatible drivers
out there, such as pymysql or psycopg2 for MySQL and Postgres
respectively.

Cython: used for various speedups. Can give a big
boost to certain operations, particularly if you use SQLite.

apsw: an optional 3rd-party SQLite
binding offering greater performance and much, much saner semantics than the
standard library pysqlite. Use with APSWDatabase.

sweepea <https://github.com/coleifer/sweepea> is used to provide some
table-valued functions for Sqlite as part of the sqlite_udf extensions
module. Alternatively, you can also use vtfunc <https://github.com/coleifer/sqlite-vtfunc>,
which is a smaller module that provides the same functionality.

gevent is an optional dependency for
SqliteQueueDatabase (though it works with threading just
fine).