pytest-databases

Reusable database fixtures for any and all databases.


Keywords
alloydb, alloydbomni, bigquery, cockroachdb, database, duckdb, elasticsearch, migration, mssql, mysql, oracle, postgres, redis, spanner
License
MIT
Install
pip install pytest-databases==0.5.0

Documentation

Pytest Databases

Reusable test fixtures for any and all databases.

Project Status
CI/CD Latest Release ci Documentation Building
Quality Coverage Quality Gate Status Maintainability Rating Reliability Rating Security Rating
Package PyPI - Version PyPI - Support Python Versions
Community Discord Matrix Medium Twitter Blog
Meta Litestar Project types - Mypy License - MIT Litestar Sponsors linting - Ruff code style - Ruff

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, and 16 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
  • Cockroach: Version 23.1-latest is available
  • Redis: Latest server
  • Dragonfly: Latest server
  • KeyDB: Latest server
  • Elasticsearch: Version 7 and 8 are available

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.


Litestar Logo - Light
A Litestar Organization Project