Skip to main content

Effortlessly validate and test your Google BigQuery queries with the power of pandas DataFrames in Python.

Project description

BQuest Logo

BQuest

Effortlessly validate and test your Google BigQuery queries with the power of pandas DataFrames in Python.

Warning

This library is a work in progress!

Breaking changes should be expected until a 1.0 release, so version pinning is recommended.

CI: Overall outcome CD: gh-pages documentation PyPI version Project status (alpha, beta, stable) PyPI downloads Project license Python version compatibility Documentation: Black

Overview

Installation

Via PyPi (standard):

pip install bquest

Via Github (most recent):

pip install git+https://github.com/ottogroup/bquest

BQuest also requires a dedicated BigQuery dataset for storing test tables, e.g.

resource "google_bigquery_dataset" "bquest" {
  dataset_id    = "bquest"
  friendly_name = "bquest"
  description   = "Source tables for bquest tests"
  location      = "EU"
  default_table_expiration_ms = 3600000
}

We recommend setting an expiration time for tables in the bquest dataset to assure removal of those test tables upon test execution.

Example

TBD

Testing

For the actual testing bquest relies on an accessible BigQuery project which can be configured with the gcloud client. The corresponding GOOGLE_PROJECT_ID is extracted from this project and used with pandas-gbq to write temporary tables to the bquest dataset that has to be pre- configured before testing on that project.

For Github CI we have configured an identity provider in our testing project which allows only core members of this repository to access the testing projects’ resources.

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

bquest-0.2.0.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bquest-0.2.0-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file bquest-0.2.0.tar.gz.

File metadata

  • Download URL: bquest-0.2.0.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.6 Linux/5.15.0-1038-azure

File hashes

Hashes for bquest-0.2.0.tar.gz
Algorithm Hash digest
SHA256 6ec0240adc1872762c1fd51ece181d1680e51cfe26793d95b9ef7fc208e6f268
MD5 7bdb585ea6835af58fa8283a10e153fc
BLAKE2b-256 73955a90a45ff61a593176e1897da451d971e9305990adf5616dd718abc0f8f5

See more details on using hashes here.

File details

Details for the file bquest-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: bquest-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 16.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.6 Linux/5.15.0-1038-azure

File hashes

Hashes for bquest-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5c7dc0334d515e429725b02332fdf228cb747345b8e6577629653390151d9c3b
MD5 8f4e65178ecd586a0a8b320d18a5a388
BLAKE2b-256 3706a6b375927ac3990dec40b50a2a234ab0c1e9163a4c8cc0ebb34230318dd2

See more details on using hashes here.

Supported by

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