Skip to main content

Query generator for Google BigQuery and other SQL environments

Project description

Build Status Coverage Status

Generage sophisticated query for Google BigQuery in simple way.

What is BQX?

BQX is a minimal query generator for Google BigQuery. It’s mainly intended for being used by data analysts / scientists who want to analyze big data.

BQX fires its power especially on making LONG and NESTED query. BigQuery doesn’t accept two or more queries at once so user has to make views or make terribly nested query. BQX’s features help you make long query preserving high readability. See example for its features and usage.

Requirements

  • Python 3.4 ~

Installing

pip install bqx

Example

>>> from bqx.query import Query as Q
>>> from bqx.parts import Table as T, Column as C
>>> from bqx.func import SUM
>>>
>>> shakespeare = T('publicdata:samples.shakespeare')
>>> word = C('word')
>>> q = Q().SELECT(word).FROM(shakespeare).LIMIT(10)
>>> print(q.getq())
SELECT word
FROM publicdata:samples.shakespeare
LIMIT 10

See example directory for more detailed examples.

License

This library is BSD-licensed.

Q&A

How can I use it?

Running example on REPL is good for getting started, and we suggest you to use BQX with front-ends like pandas for next step.

Is it only for BigQuery? How about MySQL or else?

It aims to generate query excecuted on BigQuery but it might be applied to other SQL environments because difference between plain SQL and BigQuery is small.

We are using some compute engines which can process SQL (and dialects) like BigQuery, Hadoop and Spark. So in near future, adding other SQL dialect is planned.

Why some functions are UPPERCASE?

The first reason is for avoiding collision with Python’s reserved words. The another reason is for SQL’s UPPERCASE manners.

Is it ready to use?

Some important clauses are not implemented at present.

Where are documentations?

We’re sorry but documentation is not available right now. It will be published on ReadTheDocs.org soon. Stay tuned.

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

bqx-0.0.3.tar.gz (40.0 kB view details)

Uploaded Source

Built Distribution

bqx-0.0.3-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file bqx-0.0.3.tar.gz.

File metadata

  • Download URL: bqx-0.0.3.tar.gz
  • Upload date:
  • Size: 40.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for bqx-0.0.3.tar.gz
Algorithm Hash digest
SHA256 95e0ad0b762af62e04c4a398655106cea39535e1406edd6cad56dec69f607aec
MD5 dda995ee7c926a40b866f3db788f750f
BLAKE2b-256 659341b191e78f16abf5e33fcb5d0b88c6b83726fa00f21380dd773c0c1d418c

See more details on using hashes here.

File details

Details for the file bqx-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: bqx-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for bqx-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 10ac6710e47dce26354d4b676d0baf7e15c3e5efb7fefc9c6cde6faadab19635
MD5 197d537d9a3fa85669908846d5fcb1cf
BLAKE2b-256 4dede2dc444a283e01326e16ea8897aeddc5c51ca79d3d1144c26f2f2be93c90

See more details on using hashes here.

Supported by

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