Skip to main content

Simplify the testing of SQL data models and queries by allowing users to mock input data and create tests for various scenarios. It provides a consistent and convenient way to test the execution of your query without the need to process a massive amount of data.

Project description

SQLMock Logo

SQL Mock: Python Library for Mocking SQL Queries with Dictionary Inputs

PyPI version Supported Python versions License: MIT

The primary purpose of this library is to simplify the testing of SQL data models and queries by allowing users to mock input data and create tests for various scenarios. It provides a consistent and convenient way to test the execution of your query without the need to process a massive amount of data.

Documentation

A full documentation can be found on the documentation page

The library currently supports the following databases.

  • BigQuery
  • Clickhouse
  • Redshift
  • Snowflake

Installation

The library can be installed from PyPI using pip:

# BigQuery
pip install --upgrade "sql-mock[bigquery]"

# Clickhouse
pip install --upgrade "sql-mock[clickhouse]"

# Redshift
pip install --upgrade "sql-mock[redshift]"

# Snowflake
pip install --upgrade "sql-mock[snowflake]"

If you need to modify this source code, install the dependencies using poetry:

poetry install --all-extras

Pydantic V1 vs. V2

SQL Mock's published version supports Pydantic V2. You might run into issues when your code depends on Pydantic V1. We have an alternative branch you can install from that supports Pydantic V1 in the meanwhile: https://github.com/DeepLcom/sql-mock/tree/pydantic-v1

Contributing

We welcome contributions to improve and enhance this open-source project. Whether you want to report issues, suggest new features, or directly contribute to the codebase, your input is valuable. To ensure a smooth and collaborative experience for both contributors and maintainers, please follow these guidelines:

Reporting Issues

If you encounter a bug, have a feature request, or face any issues with the project, we encourage you to report them using the project's issue tracker. When creating an issue, please include the following information:

  • A clear and descriptive title.
  • A detailed description of the problem or suggestion.
  • Steps to reproduce the issue (if applicable).
  • Any error messages or screenshots that help clarify the problem.

Feature Requests

If you have ideas for new features or improvements, please use the project's issue tracker to submit a feature request. We appreciate well-documented feature requests that explain the motivation and potential use cases.

Contributing Code

Find more about contributing code in the Contribution Guidelines

Experimental

SQL Mock Buddy - A custom (Chat) GPT to support you

We ran a small experiment to create a custom GPT for SQL Mock. The SQL Mock Buddy can be accessed here: https://chat.openai.com/g/g-FIXNcqu1l-sql-mock-buddy

SQL Mock Buddy should help you to get started quickly with SQL Mock.

It is still in beta mode and you should definitely double-check its output!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sql_mock-0.5.2.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

sql_mock-0.5.2-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file sql_mock-0.5.2.tar.gz.

File metadata

  • Download URL: sql_mock-0.5.2.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.7 Linux/6.2.0-1018-azure

File hashes

Hashes for sql_mock-0.5.2.tar.gz
Algorithm Hash digest
SHA256 2c6155e03a533fbf25a4c04c4e5f71d9afc3227faeca7f87b64d629e6e2c3e2c
MD5 47957b6a3c4f5d832e29050db8b571c5
BLAKE2b-256 b188d52d4fa4fb9949f8b86ecaaf640bb6b5f41e250265ce7838a599daf1d4c8

See more details on using hashes here.

File details

Details for the file sql_mock-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: sql_mock-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.7 Linux/6.2.0-1018-azure

File hashes

Hashes for sql_mock-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5a1cd14cb9a2da8bee226989c41957777f48344a0b9ceccb898659f5d54e40a7
MD5 b7dc21acce48a42eff907e22fe84c849
BLAKE2b-256 198e2cd538f8d4602f1f8bdf3ff747a8263e52e81b8ed4111668f60eb68fe7ff

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page