Reusable test fixtures for any and all databases.
Warning
Please note that pytest-databases is currently in a pre-release stage of development. This means the library is still under active development, and its initial API is subject to change. We encourage developers to experiment with pytest-databases and provide feedback, but we recommend against using it in production environments until a stable release is available.`
The pytest-databases
library aims to make testing with a database as simple as possible.
It is designed to offer pre-configured testing setups for many different types and versions of databases.
pytest-databases
currently utilizes docker compose
(or the legacy docker-compose
) commands to manage the startup and shutdown of each database service. The following databases are currently available:
- Postgres: Version 12, 13, 14, 15, 16 and 17 are available
- MySQL: Version 5.6, 5.7 and 8 are available
- Oracle: Version 18c XE and 23C Free are available
- SQL Server: Version 2022 is available
- Google AlloyDB Omni: Simplified Omni installation for easy testing.
- Google Spanner: The latest cloud-emulator from Google is available
- Google BigQuery: Unofficial BigQuery emulator
- CockroachDB: Version latest is available
- Redis: Latest version
- Valkey: Latest version
- Dragonfly: Latest version
- KeyDB: Latest version
- Elasticsearch: Version 7 and 8 are available
- Azure blob storage: Via azurite
All Litestar projects will always be a community-centered, available for contributions of any size.
Before contributing, please review the contribution guide.
If you have any questions, reach out to us on Discord, our org-wide GitHub discussions page, or the project-specific GitHub discussions page.
A Litestar Organization Project