Pytest Databases
Reusable test fixtures for any and all databases.
Project | | Status |
---|
CI/CD | | ![Documentation Building](https://github.com/litestar-org/pytest-databases/actions/workflows/docs.yaml/badge.svg?branch=main) |
Quality | | ![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=litestar-org_pytest-databases&metric=security_rating) |
Package | | ![PyPI - Support Python Versions](https://img.shields.io/pypi/pyversions/pytest-databases?labelColor=202235&color=edb641&logo=python&logoColor=edb641) |
Community | | ![Blog](https://img.shields.io/badge/Blog-litestar.dev-202235?logo=blogger&labelColor=202235&color=edb641&logoColor=edb641) |
Meta | | ![code style - Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/format.json&labelColor=202235) |
[!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.`
About
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.
Features
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
Contributing
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